setting qmail agar support ssl dan tls

October 25, 2011 by gregor · Leave a Comment
Filed under: Open mail relay, Qmail, Spam Filtering, linux, security, vpopmail 

Tujuan instalasi ini adalah agar pengguna dapat login ke mail server untuk mengirimkan email menggunakan email client non webmail. Di era personal computing yang saat ini makin personal, banyak pengguna yang ingin dapat menerima dan mengirimkan email langsung dari gadgetnya seperti blackberry, iphone, android, dll yang didalamnya terdapat aplikasi email client. Khusus pada smartphone android, seting outgoing email biasanya menggunakan ssl port 465 dan tls port 587, sehingga mail server harus menyiapkan port tersebut. Dan lebih baik kalau ssl dan tls tidak di port 25 agar tidak terkena filtering seperti rblsmtpd.

Bagi mail server yang proses instalasinya dahulu mengacu ke qmailrocks, harus mengkompilasi ulang qmail dengan menggunakan patch dari john simpson dengan proses sebagai berikut :

$ cd /home/gregor

$ wget http://cr.yp.to/software/qmail-1.03.tar.gz

$ wget http://qmail.jms1.net/patches/qmail-1.03-jms1.7.08.patch

$ tar xvzf qmail-1.03.tar.gz

$ cd qmail-1.03

$ patch < ../qmail-1.03-jms1.7.08.patch

$ make

$ qmailctl stop

$ make setup check

jika muncul pesan error seperti ini :

install: fatal: unable to write …/bin/qmail-lspawn: text busy

itu artinya qmail-send masih aktif. berikan perintah :

$ ps ax | grep qmail-send

lalu kill -9 pid nya. jika tidak ada pesan error berarti instalasi qmail berjalan lancar.

$ cd /service/qmail-smtpd/

$ cp run bak_run

$ wget http://qmail.jms1.net/scripts/service-qmail-smtpd-run

$ vi service-qmail-smtpd-run

lakukan penyesuaian sebagai berikut :

IP=127.0.0.1
PORT=25
SSL=0
SMTP_CDB=/etc/tcp/smtp.cdb
FORCE_TLS=0
DENY_TLS=0
AUTH=1
REQUIRE_AUTH=0
RBLSMTPD_PROG=”rblsmtpd”
RBLSMTPD_TIMEOUT=5

RBL_BAD=”zen.spamhaus.org bl.spamcop.net”

QMAILQUEUE=”$VQ/bin/qmail-scanner-queue”

lalu simpan dan keluar dari vi.

$ cp service-qmail-smtpd-run run

$ chmod 755 run

$ chmod 6711 ~vpopmail/bin/vchkpw

$ chmod 4711 /var/qmail/bin/qmail-scanner-queue

selanjutnya menyesuaikan akses kontrol tcpserver yang mengalami sedikit perubahan. biasanya /etc/tcp.smtp.cdb menjadi /etc/tcp/smtp.cdb  :

$ mkdir -m 755 /etc/tcp
$ cd /etc/tcp
$ wget http://qmail.jms1.net/etc-tcp-makefile
$ mv etc-tcp-makefile Makefile

$ vi smtp

isi dengan :

127.:allow,RELAYCLIENT=”",RBLSMTPD=”"

:allow

simpan dan keluar dari vi

$ make

$ qmailctl start

$ qmailctl stat

pastikan qmail-smtpd up lebih dari 5 detik. jika tidak, lihat log file untuk mengetahui pesan error yang muncul:

$ tail -f /var/log/qmail/qmail-smtpd/current | tai64nlocal

jika terdapat pesan error :

421 unable to read controls #4.3.0

berikan perintah :

$ touch /var/qmail/control/validrcptto.cdb

untuk membuat dummy file. namun jika ingin sungguh-sungguh memanfaatkan patch validrcptto dari john simpson maka harus membuat file validrcptto.cdb yang sesungguhnya menggunakan script mkvalidrcptto.

Selanjutnya seting TLS di port 587 lakukan sebagai berikut :

$ cd /var/qmail/supervise
$ mkdir -m 1755 qmail-smtpd-tls
$ cd qmail-smtpd-tls
$ wget http://qmail.jms1.net/scripts/service-qmail-smtpd-run
$ vi service-qmail-smtpd-run

lakukan penyesuaian sebagai berikut :

IP=192.168.10.25 (sesuaikan dengan ip server)
PORT=587
SSL=0
FORCE_TLS=1
DENY_TLS=0
AUTH=1
REQUIRE_AUTH=1
SMTP_CDB=/etc/tcp/smtptls.cdb
QMAILQUEUE=”$VQ/bin/qmail-scanner-queue.pl”

simpan lalu keluar dari vi

$ mv service-qmail-smtpd-run run

$ chmod 755 run

$ mkdir -m 755 log

$ cd log

$ wget http://qmail.jms1.net/scripts/service-any-log-run

$ vi service-any-log-run

lakukan penyesuaian menjadi :

exec env - PATH=”$VQ/bin:/usr/local/bin:/usr/bin:/bin” \
multilog t n10 s1048576 /var/log/qmail/qmail-smtpd-tls \
‘-*’ ‘+*ver: status:*’ =lstatus

simpan lalu keluar dari vi

$ mv service-any-log-run run

$ chmod 755 run

$ mkdir /var/log/qmail/qmail-smtpd-tls

$ chmod 750 /var/log/qmail/qmail-smtpd-tls

$ chown qmaill.root /var/log/qmail/qmail-smtpd-tls

$ cd /etc/tcp

$ vi smtptls

tambahkan :

127.:allow,RELAYCLIENT=”"
:allow

simpan lalu keluar dari vi

$ vi Makefile

sesuaikan menjadi :

all: smtp.cdb smtptls.cdb

simpan dan keluar dari vi

$ make

$ cd /usr/local/bin

$ wget http://qmail.jms1.net/scripts/vfixpermissions

$ chmod 755 vfixpermissions

$ ./vfixpermissions -s

$ chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

$ ln -s /var/qmail/supervise/qmail-smtpd-tls /service/

$ svstat /service/qmail-smtpd-tls

pastikan qmail-smtpd-tls up lebih dari 5 detik. jika tidak, lihat log file untuk mengetahui pesan error yang muncul:

$ tail -f /var/log/qmail/qmail-smtpd-tls/current | tai64nlocal

jika ada error “YOU HAVEN’T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!” pastikan perubahan permission qmail-scanner:

$ chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

Selanjutnya seting SSL di port 465 lakukan sebagai berikut :

instalasi ucspi-ssl:

$ mkdir /package
$ chmod 1755 /package
$ cd /package

$ wget http://www.superscript.com/ucspi-ssl/ucspi-ssl-0.70.tar.gz

$ tar xzfv ucspi-ssl-0.70.tar.gz

$ cd host/superscript.com/net/ucspi-ssl-0.70

$ package/compile

jika muncul pesan error :compile:fatal: cannot make it-base it-sslperl lakukan :

$ package/compile base

$ package/rts base

$ package/install base

$ cd /var/qmail/supervise
$ mkdir -m 1755 qmail-smtpd-ssl
$ cd qmail-smtpd-ssl
$ wget http://qmail.jms1.net/scripts/service-qmail-smtpd-run
$ vi service-qmail-smtpd-run
lakukan penyesuaian :

IP=192.168.10.25 (sesuaikan dengan ip server)
PORT=465
SSL=1
FORCE_TLS=0
DENY_TLS=0
AUTH=1
REQUIRE_AUTH=1
SMTP_CDB=/etc/tcp/smtpssl.cdb
QMAILQUEUE=”$VQ/bin/qmail-scanner-queue.pl”

simpan lalu keluar dari vi

$ mv service-qmail-smtpd-run run

$ chmod 755 run

$ mkdir -m 755 log

$ cd log

$ wget http://qmail.jms1.net/scripts/service-any-log-run

$ vi service-any-log-run

lakukan penyesuaian menjadi :

exec env - PATH=”$VQ/bin:/usr/local/bin:/usr/bin:/bin” \
multilog t n10 s1048576 /var/log/qmail/qmail-smtpd-ssl \
‘-*’ ‘+*ver: status:*’ =lstatus

simpan lalu keluar dari vi

$ mv service-any-log-run run

$ chmod 755 run

$ mkdir /var/log/qmail/qmail-smtpd-ssl

$ chmod 750 /var/log/qmail/qmail-smtpd-ssl

$ chown qmaill.root /var/log/qmail/qmail-smtpd-ssl

$ cd /etc/tcp

$ vi smtpssl

tambahkan :

127.:allow,RELAYCLIENT=”"
:allow

simpan lalu keluar dari vi

$ vi Makefile

sesuaikan menjadi :

all: smtp.cdb smtptls.cdb smtpssl.cdb

simpan dan keluar dari vi

$ make

membuat file SSL key :

$ cd /var/qmail/control
$ openssl req -newkey rsa:1024 -x509 -nodes -days 3650 -out servercert.pem -keyout servercert.pem

isi dengan data yang sesuai.

$ chown root:nofiles servercert.pem
$ chmod 640 servercert.pem

$ cp servercert.pem clientcert.pem
$ chown root:qmail clientcert.pem
$ chmod 640 clientcert.pem

$ ln -s /var/qmail/supervise/qmail-smtpd-ssl /service/

$ svstat /service/qmail-smtpd-ssl

pastikan qmail-smtpd-tls up lebih dari 5 detik. jika tidak, lihat log file untuk mengetahui pesan error yang muncul:

$ tail -f /var/log/qmail/qmail-smtpd-ssl/current | tai64nlocal

Bagaimana memastikan rule spamassassin up to date?

March 2, 2010 by gregor · Leave a Comment
Filed under: Spam Filtering, spamassassin 

Spamassassin merupakan perangkat lunak open source untuk menangkal spam yang cukup handal. Perangkat lunak ini biasanya digunakan di mail server sebagai pelengkap MTA seperti qmail, procmail, sendmail dan Postfix. Spamassassin bekerja dengan rule yang akan memberi skor pada email. Berdasarkan skor itulah sebuah email ditentukan sebagai spam atau tidak. Administrator dapat menentukan berapa skor agar sebuah email dianggap sebagai spam.

Setiap hari spammer di internet makin banyak dan rule spamassassin pun diperbaharui. Saya kurang paham seberapa sering rule ini diperbaharui. Sehingga saya memasang update otomatis secara berkala di crontab. Namun kadang kala saya ingin tahu apakah rule yang terpasang sudah up to date atau belum. Untuk itu saya berikan perintah berikut:

$ host -t txt “0.3.3.updates.spamassassin.org”

jawaban yang diperoleh sebagai berikut :

0.3.3.updates.spamassassin.org text “917420″

Angka 0.3.3 adalah penulisan secara terbalik versi spamassassin yang saya pakai yaitu versi 3.3.0. Angka 917420 adalah versi rule up to date yang dimiliki oleh tim spamassassin. Untuk mengetahui apakah rule yang saya miliki up to date, saya berikan perintah berikut :

$ head -1 /var/lib/spamassassin/3.001004/updates_spamassassin_org.cf

dan jawabannya :

# UPDATE version 917420

berarti rule saya up to date.

qmailrocks domainkeys

September 29, 2008 by gregorgede · Leave a Comment
Filed under: Spam Filtering, spamassassin 

Using a private key to encrypt (thus signing) ...Image via Wikipediamost of us may experience that email we send to yahoo users end up in their bulk folder. this happened because yahoo, and also gmail, already implementing a new standard originally proposed by yahoo to fight spam.

domainkeys works by involving the use of private and public key when sending and recieving email. a sender is generating a pair of the keys and then use the private key on the mail transfer agent (MTA) like qmail, postfix,etc. to sign every email that goes out from it. the public key is published in the DNS record. when a recipient MTA receive the email it will check the signed email with the public key on the DNS record. if they are not matched, the email can be considered as spam or sent by unauthorized MTA, so it cannot be trusted.
it’s a very good method to reduce spam, unfortunately it’s not that simple. it would be perfect if only all MTA on the internet already implemented it. so far not many MTA does. and we can’t just reject email that comes from a MTA that has no domainkeys.

with this new standard, it doesn’t mean that the days of spammers are ended. because they can also implement this domainkeys. it’s just that they would be easier and faster for us to recognize and then reject them. but there’s opinion saying that it’s not really a problem for them because domain name is cheap and they can easily buy another and use it to send spam again (with domainkeys). when they feel they had enough (may be some of us reject them), they will leave it and buy another again. this goes on and on again.
but for a case like this, i think there’s already a good method like this one for example.

so if you got here because you use qmailrocks and want to add domainkeys capability on it, i only have suggestion here for you to consider. AFAIK qmailrocks has not provide domainkeys in it’s installation guideline. what we actually need to know is how to put domainkeys on qmail-smtpd, so we need to change the way that we usually run it as according to qmailrocks and find another way. we can use john simpson’s way to do so, but we also need to adjust some of our current installations to his.Related articles by Zemanta

Reblog this post [with Zemanta]