freebsd mail server
DESCRIPTION
a tutorial guide explaining how to install FreeBSD as a mail server, an experience at IMTelkom (http://www.imtelkom.ac.id)TRANSCRIPT
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
Instalasi Sendmail
Sendmail merupakan salah satu aplikasi MTA (Mail Transfer Agent) yg berfungsi untuk menerima email dan mengirimkannya ke server (host) yg sesuai dan juga
sebagai MSP (Mail Submission Program) yg berfungsi untuk mengirimkan email. Sendmail adalah aplikasi MTA bawaan (built in) dari FreeBSD, sehingga kita tinggal mengaktifkannya.
MUA = Mail User Agent, contoh : NOCC, OpenWebMail, Outlook Express Protokol SMTP digunakan antara MUA MTA (sending email) dan antara
MTA MTA (transaksi email antar domain), sementara protokol POP3 dan IMAP
digunakan antara MUA MTA (download email)
Untuk berinteraksi dengan MTA kita bisa menggunakan interaksi SMTP, seolah-
olah kita adalah MTA juga yg ingin menanyakan validitas domain dan user : # host yahoo.com
yahoo.com has address 216.109.112.135
yahoo.com has address 66.94.234.13
yahoo.com mail is handled by 5 mta-v1.mail.vip.re3.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.
yahoo.com mail is handled by 1 mx3.mail.yahoo.com.
# telnet mx1.mail.yahoo.com 25
Trying 67.28.113.19...
Connected to mx1.mail.yahoo.com.
Escape character is '^]'.
220 mta208.mail.re2.yahoo.com ESMTP YSmtp service ready
helo imtelkom.ac.id
250 mta208.mail.re2.yahoo.com
mail from:<[email protected]>
250 sender <[email protected]> ok
rcpt to:<[email protected]>
550 relaying denied for <[email protected]>
rcpt to:<[email protected]>
250 recipient <[email protected]> ok
^]
telnet> quit
Connection closed.
Untuk melihat apakah Sendmail telah aktif atau belum : # ps ax | grep sendmail
589 ?? Ss 0:02.19 sendmail: accepting connections (sendmail)
593 ?? Is 0:00.04 sendmail: Queue runner@00:30:00 for
/var/spool/clientmqueue (sendmail)
Baris pertama menunjukkan Sendmail telah aktif sebagai MTA dan sebagai MSP. Untuk mengaktifkan Sendmail, cukup tambahkan baris berikut di /etc/rc.conf : # cat /etc/rc.conf | grep sendmail
sendmail_enable="YES"
client MUA MTA MTA MUA client
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
Agar sendmail dapat bekerja, ada 4 file yg harus di-edit : # cat /etc/mail/sendmail.cf | grep Dj
Djimtelkom.ac.id
# cat /etc/mail/local-host-names
imtelkom.ac.id
10.1
# cat relay-domains
imtelkom.ac.id
10.1
# cat /etc/mail/access
Connect:imtelkom.ac.id RELAY
Connect:10.1 RELAY
From:10.1 OK
sales@ 550 We don't accept mail from spammers
sale@ 550 We don't accept mail from spammers
Non aktifkan 3 line berikut di /etc/mail/sendmail.cf karena IPv6 tidak digunakan
#O DaemonPortOptions=Name=IPv6, Family=inet6, Modifiers=O
#R$* [ IPv6 : $+ ] <@> $: $1 [ IPv6 : $2 ] unmark IPv6 addr
#RIPv6:::1 $@ RELAY originated locally
Set LogLevel menjadi 15 (default 9) agar semua aktivitas tercatat di log # cat /etc/mail/sendmail.cf | grep LogLevel
O LogLevel=15
Untuk mengurangi email spam, tambahkan 5 line berikut di /etc/mail/sendmail.cf SLocal_check_relay
R$* $: $&{client_resolve}
RTEMP $#error $@ 4.7.1 $: "450 Access denied. Cannot resolve
PTR record for " $&{client_addr}
RFORGED $#error $@ 4.7.1 $: "450 Access denied. IP name possibly
forged " $&{client_name}
RFAIL $#error $@ 4.7.1 $: "450 Access denied. IP name lookup
failed " $&{client_name}
Dimana line 3 dan 5 untuk mengecek reverse DNS dari server yg mengirim email, jika tidak ada record reverse DNS-nya maka email akan ditolak. Sementara line 4 untuk mengecek apakah record DNS suatu mail server sesuai dengan reverse
DNS-nya. Jika ingin menggunakan line 4, jangan lupa untuk membuat record DNS identik dengan reverse DNS-nya untuk semua host di IM Telkom (cukup subnet2 yg mungkin mengakses mail server).
Catatan: Forward DNS adalah proses mengubah nama menjadi IP address, dan reverse
DNS adalah proses mengubah IP address menjadi nama. Contoh dimana forward DNS = reverse DNS (lihat gambar dibawah) # host mail.imtelkom.ac.id 202.134.0.155
mail.imtelkom.ac.id has address 118.97.187.12
# host 118.97.187.12 202.134.0.155
12.187.97.118.in-addr.arpa domain name pointer mail.imtelkom.ac.id.
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
Contoh dimana forward DNS != reverse DNS (forward DNS tidak ada) # host mail.imtelkom.ac.id
mail.imtelkom.ac.id has address 10.1.1.2
# host 10.1.1.2
Host 2.1.1.10.in-addr.arpa not found: 2(SERVFAIL)
Untuk me-restart sendmail saat "sendmail.cf" telah diubah # cd /etc/mail
# make restart
Untuk me-restart sendmail saat "aliases" telah diubah # cd /etc/mail
# make aliases
Jika mail administrator ingin menggunakan Sendmail yang lebih baru dibandingkan dengan yang built in dari FreeBSD, maka hal ini bisa dilakukan
dengan cara : 1. download file sendmail-x.x.x.tar.gz ke /usr/home/manager 2. gunzip file sendmail-x.x.x.tar.gz
3. lakukan langkah2 berikut (dari /usr/home/manager/sendmail-8.13.6/INSTALL) # cd /usr/home/manager/sendmail-8.13.6
# cd sendmail
# sh Build
# cd ../cf/cf
# cp generic-BSD4.4.mc sendmail.mc
# sh Build sendmail.cf
# sh Build install-cf
# cd ../sendmail
# sh Build install
# reboot
4. test dengan : # telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 imtelkom.ac.id ESMTP Sendmail 8.13.6/8.13.6; Thu, 2 Nov 2006
11:39:10 +0700 (WIT)
Jika suatu server hanya berfungsi untuk mengirimkan email (dari diri sendiri)
maka Sendmail tidak perlu diaktifkan. Sebagai gantinya dapat digunakan aplikasi SSMTP yg dapat diaktifkan dengan cara : # cd /usr/ports/mail/ssmtp
# make install replace clean
……… <tunggu sampai selesai> ………
sSMTP has been installed successfully.
However, before you can use the program, you should copy the files
118.97.187.12 mail.imtelkom.ac.id
reverse DNS
forward DNS
Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)
"revaliases.sample" and "ssmtp.conf.sample" in /usr/local/etc/ssmtp to
"revaliases" and "ssmtp.conf" respectively and edit them to suit your
needs.
# cd /usr/local/etc/ssmtp
# mv revaliases.sample revaliases
# mv ssmtp.conf.sample ssmtp.conf
# cat /usr/local/etc/ssmtp/revaliases
manager:[email protected]:mail.imtelkom.ac.id:25
# cat /usr/local/etc/ssmtp/ssmtp.conf
root=postmaster
mailhub=mail.imtelkom.ac.id
rewriteDomain=
hostname=imtelkom.ac.id
# make replace