cyrus postfix pop-before-smtp 
apt-get install pop-before-smtp

uncomment $pat for cyrus in /etc/pop-before-smtp/pop-before-smtp.conf

/etc/postfix/main.cf:
smtpd_recipient_restrictions = permit_mynetworks,
reject_non_fqdn_recipient,
check_client_access hash:/var/lib/pop-before-smtp/hosts,
reject_unauth_destination
list collected IP's with:
pop-before-smtp --list


[ view entry ] ( 804 views )   |  print article
cyrus offline transfer mailboxes to a new server 
On old cyrus server:

export mailboxes.db:
su - cyrus -c 'ctl_mboxlist -d > cyrus_mboxlist.txt
export seen databases:
su - cyrus -c 'for seenfile in `find /var/lib/imap/user -name \*.seen`; do \
/usr/lib/cyrus/bin/cvt_cyrusdb $seenfile skiplist ${seenfile%seen}txt flat; \
done'
export deliver.db: (check for your format, here is berkeley-nosync)
su - cyrus -c '/usr/lib/cyrus/bin/cvt_cyrusdb /var/lib/imap/deliver.db \
berkeley-nosync /var/lib/imap/deliver.txt flat'

Copy these files and all mailboxes to the new cyrus server, import and reconstruct mailboxes:

stop cyrus
remove old things:
rm /var/lib/imap/db/*
rm /var/lib/imap/tls_sessions.db
rm /var/lib/imap/mailboxes.db
rm /var/lib/imap/deliver.db
find /var/lib/imap/ -type f -name *.seen | xargs rm
check if all files ae owned by cyrus:mail
import mailboxes.db:
su - cyrus -c 'ctl_mboxlist -u <cyrus_mboxlist.txt'
reconstruct mailboxes:
cyrreconstruct -r user
import seen databases:
su - cyrus -c 'for txtfile in `find /var/lib/imap/user -name \*.txt`; do \
/usr/lib/cyrus/bin/cvt_cyrusdb $txtfile flat ${txtfile%txt}seen skiplist; \
done'
import deliver.db:
su - cyrus -c '/usr/lib/cyrus/bin/cvt_cyrusdb /var/lib/imap/deliver.txt \
flat /var/lib/imap/deliver.db berkeley-nosync'
start cyrus

[ view entry ] ( 943 views )   |  print article
cyrus convert user authentication from ldap to sasldb 
apt-get install sasl2-bin libsasl2-modules cyrus-imapd-2.2 cyrus-pop3 cyrus-admin-2.2 cyrus-clients-2.2

/etc/default/saslauthd:
MECHANISMS="ldap"
OPTIONS="-O /etc/saslauthd.conf"
/etc/saslauthd.conf:
ldap_servers: ldap://127.0.0.1/
ldap_search_base: dc=mydomain,dc=tld
ldap_auth_method: bind
/etc/imapd.conf:
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd auxprop
sasl_auxprop_plugin: sasldb
sasl_auto_transition: yes
setup cyrus login: saslpasswd2 -c cyrus

invoke-rc.d saslauthd restart
invoke-rc.d cyrus2.2 restart

Test login with cyrusadm: sudo cyradm --user cyrus --server localhost

ssh -L389:localhost:389 user@ldapserver

Test saslauthd for ldap authentication:
#> testsaslauthd -u username -p password
0: OK "Success."
Test imap authentication:
#> imtest -a username
S: L01 OK User logged in
now username is converted from ldap to /etc/sasldb
#> sasldblistusers2
username@host: userPassword
after dropping ssh connection imtest should also succeed

(to delete a user use saslpasswd2 -d)

[ view entry ] ( 769 views )   |  print article
quick base64 encode/decode 
perl -MMIME::Base64 -e 'print encode_base64("string");'

perl -MMIME::Base64 -e 'print decode_base64("c3RyaW5n");'

[ view entry ] ( 626 views )   |  print article
Secure DDNS with bind9 for ADSL 
dnssec-keygen -a RSAMD5 -b 1024 -n HOST -k -r /dev/urandom home.domain.org

put content of XXX.key into your zonefile

move xxx.key and xxx.private to your client with sftp

/etc/ppp/ip-up.d/ip_update:
#!/bin/sh

TTL=60
SERVER='NAMESERVER'
ZONE='DOMAIN'
HOSTNAME='HOSTNAME.DOMAIN'
KEYFILE='PATH/KEYFILENAME without endings (.key)'

[ -n "$PPP_LOCAL" ] || exit 0

logger "ip_update: Updating dynamic IP $PPP_LOCAL on $SERVER"

RESULT=$(nsupdate -v -k $KEYFILE 2>&1 << EOF
server $SERVER
zone $ZONE
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $PPP_LOCAL
send
EOF)

RC=$?

[ $RC != 0 ] && \
logger "ip_update $PPP_LOCAL on $SERVER failed ($RC/$RESULT)"

exit $RC

Manual update a zonefile with bind 9.3:
rndc freeze zone
edit the zone
rndc unfreeze zone

References:

secure-ddns-howto
running-a-secure-ddns-service-with-bind

[ view entry ] ( 588 views )   |  print article

<<First <Back | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Next> Last>>