Mail Server part2

Mailserver dengan Postfix, Dovecot, Amavis (ClamAV), Spamassassin, Squirrelmail.

Pertama-tama kita akan menginstall postfix dulu sebagai Mail Transfer Agent (MTA) kita, menggantikan Sendmail yang sudah terinstall secara otomatis di FreeBSD. Untuk menginstall postfix :

cd /usr/ports/mail/postfix
make install clean

Kemudian kita atur konfigurasi postfix supaya bisa berfungsi pada domain kita, caranya dengan mengatur file /usr/local/etc/postfix/main.cf
Pada file tersebut, cari dan gantilah variabel-variabel berikut sehingga menjadi seperti ini :

myhostname = server.contoh.com

–> harus hotname yang berada pada DNS server yang valid

mydomain = contoh.com

–> harus domain yang qualified

myorigin = $mydomain

–> bila ada user pada mailserver kita, maka e-mail dari user tersebut akan nampak sebagai user@contoh.com, bila $myhostname yang dipilih, maka alamat e-mail nya menjadi user@server.contoh.com

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

–> apabila mailserver anda akan bertindak sebagai mail gateway, maka variabel mydestination haruslah seperti diatas.

Supaya postfix bisa berjalan dengan baik, maka kita harus mendisable sendmail dengan sempurna terlebih dahulu. Caranya tambahkanlah baris-baris berikut ini pada file /etc/rc.conf

sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”
postfix_enable=”YES” #postfix berjalan saat startup

Untuk mengetes apakah postfix sudah berjalan dengan baik lakukanlah telnet untuk mengirim e-mail, caranya ikuti langkah-langkah disini

Untuk menyempurnakan Mailserver kita, kita bisa menginstall dovecot supaya e-mail yang ada pada inbox kita bisa diakses melalui POP3 atau IMAP. Caranya install dovecot melalui ports :

cd /usr/ports/mail/dovecot
make install clean

Kemudian edit file /usr/local/etc/dovecot.conf secukupnya saja :

protocols = imap pop3

–> dovecot akan menjalankan service-service diatas

log_path = /var/log/dovecot

–> log untuk dovecot akan dibuat pada file diatas

ssl_disable = yes

–> untuk sementara ini tidak usah gunakan SSL dahulu

login_greeting = Dovecot ready.

–> menampilkan pesan pada user yang mengakses

mail_location = maildir:~/Maildir

–> lokasi e-mail yang masuk ke user pada mesin mailserver kita, lebih tepatnya ada di /usr/home/%u/Maildir dimana %u adalah nama user yang ada pada mesin kita.
Kemudian tambahkan baris berikut pada /etc/rc.conf :

dovecot_enable=”YES”

Untuk mengetes apakah POP3 dan IMAP sudah bisa diakses, coba lakukan telnet ke port 110 dan 143 dari Mailserver kita. Untuk petunjuk lebih lengkapnya, baca disini

Apabila sudah bisa mengirim dan menerima e-mail dengan baik, maka tahap selanjutnya kita harus memasang antivirus pada mailserver kita. Postfix bisa diatur supaya menggunakan content scanner seperti amavis (A Mail Virus Scanner) kemudian amavis menggunakan clamav untuk melakukan scanning terhadap e-mail tersebut, kemudian amavis mengembalikan e-mail tersebut kepada postfix.
Pertama-tama, kita install terlebih dahulu amavis dan clamav dengan menggunakan ports :

cd /usr/ports/security/clamav
make install clean

cd /usr/ports/security/amavisd-new
make install clean

Supaya amavis mengizinkan clamav untuk melakukan scanning e-mail, tambahkan user id clamav pada group vscan. Dimana vscan ini adalah group dari user yang menjalankan amavis. Caranya edit file /etc/group
Setelah itu, apabila diketikkan perintah berikut ini, maka akan muncul hasil seperti ini :

# id clamav
uid=106(clamav) gid=106(clamav) groups=106(clamav),6(mail),110(vscan)

# id vscan
uid=110(vscan) gid=110(vscan) groups=110(vscan)

Kemudian pada file /usr/local/etc/amavisd.conf carilah variabel berikut, dan isi sesuai dengan yang kita masukkan pada postfix, yaitu :

$mydomain = ‘contoh.com’
$myhostname ’server.contoh.com’

Supaya postfix bisa memberikan e-mail kepada amavis, maka kita harus menambahkan baris berikut ini pada file /usr/local/etc/postfix/main.cf :

content_filter = smtp-amavis:[127.0.0.1]:10024
max_use = 10

maksudnya, postfix akan meneruskan e-mail ke amavis melalui port 10024

Kemudian kita harus mengeset agar postfix menerima kembali e-mail dari amavis, caranya tambahkan baris berikut pada /usr/local/etc/postfix/master.cf

# AMaVIs interface
smtp-amavis unix – – n – 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000

Jangan lupa juga untuk mengatur amavis supaya berkomunikasi dengan clamav, caranya tinggal meng-uncomment baris berikut pada file /usr/local/etc/amavisd.conf :

# ### http://www.clamav.net/
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

Sekarang semuanya telah siap, restart postfix dan jalankan amavis dan clamav dengan menambahkan baris berikut pada file /etc/rc.conf :

clamav_clamd_enable=”YES”
clamav_freshclam_enable=”YES”

amavisd_enable=”YES”
amavisd_ram=”512m” # Optionally enable amavisd tmp ram disk with: (example 512k)

Sangatlah penting agar memiliki virus database yang selalu up to date, namun untuk melakukan update dari dalam ITB atau tempat lain yang menggunakan proxy, kita harus melakukan setting proxy pada file /usr/local/etc/freshclam.conf
Supaya proses update ini bisa berjalan dengan otomatis setiap malam, kita bisa menambahkan baris berikut pada file /etc/crontab :

0 1 * * * /usr/local/bin/freshclam –datadir=/usr/local/share/clamav

Untuk melihat log proses update, bisa dilihat pada file /var/log/clamav/freshclam.conf

Tahap selanjutnya adalah menginstall antispam pada mailserver kita. Untuk mengintegrasikan postfix dengan spamassassin, carilah baris berikut pada file /usr/local/etc/postfix/master.cf :

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================

smtp inet n – n – – smtpd

Kemudian tambahkan hingga menjadi seperti ini :

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================

smtp inet n – n – – smtpd -o content_filter=spamassassin

Kemudian pergilah ke akhir file master.cf dan tambahkan baris berikut :

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
spamassassin unix – n n – – pipe
user=nobody argv=/usr/local/bin/spamc -e /usr/local/sbin/sendmail -oi -f
# pastikan itu semua dalam 1 baris
# atau gunakan whitespace (tab) untuk memulai baris baru seperti contoh diatas.

Setelah semua selesai, tambahkan baris ini pada file /etc/rc.conf :

spamd_enable=”YES”

Ujilah apakah e-mail bisa dikirim dan diterima seperti biasa, untuk menguji apakah spamassassin bisa mendeteksi dan melindungi mailserver kita dari spam, kirimkan e-mail dengan isi seperti ini :

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Baris diatas dinamakan GTUBE ( generic Test for Unsolicited Bulk Email). E-mail yang mengandung isi seperti diatas akan dianggap sebagai spam.

Untuk menginstall squirrelmail, diperlukan mailserver yang mendukung standard IMAP 4 rev 1 dan webserver dengan PHP minimal versi 4.1.0 terinstall.
Sejauh ini kita telah memenuhi semua kriteria diatas, tinggal menginstall squirrelmail melalui ports :

cd /usr/ports/mail/squirrelmail
make install clean

Kemudian ubahlah Document Root pada /usr/local/etc/apache22/httpd.conf menjadi /usr/local/www/squirrelmail
Kemudian kita bisa menggunakan script yang datang bersama instalasi squirrelmail. Script tersebut bernama conf.pl dan berada pada direktori /usr/local/www/squirrelmail/config
Untuk mengatur supaya squirrelmail bekerja dengan dovecot bisa menggunakan presets yang telah ada baca petunjuk disini
Konfigurasi yang lain bisa dicoba-coba dengan mudah menggunakan script conf.pl ini ^__^

2 Responses to “Mail Server part2”

  1. doh, bahasa apa ini?

  2. kalau cara bisa akses ke internet nya gimana mas, maksudnya bisa mengirim dan menerima ke email yahoo.gmail,dlll

Leave a Reply