MODUL 9 EMAIL SECURITY (INSTALL EMAIL DAN ANTI SPAM) TUJUAN PEMBELAJARAN: 1. Mengenalkan pada mahasiswa tentang Email Secrity di linux 2. Mahasiswa mampu melakukan installasi dan konfigurasi anti email dan penambahan spam di email server
DASAR TEORI Layanan paling populer di Internet adalah Electronic Mail atau orang sering menyingkatnya menjadi e-mail. Jika kita mempunyai program client e-mail misalnya Eudora dan memiliki akses kelayanan e-mail, maka dapat mengirim e-mail ke setiap orang yang alamat e-mailnya kita ketahui. Untuk melihat keamanan sistem Internet perlu diketahui cara kerja system Internet. Antara lain, yang perlu diperhatikan adalah hubungan antara komputer di Internet, dan protokol yang digunakan. Internet merupakan jalan raya yang dapat digunakan oleh semua orang (public). Untuk mencapai server tujuan, paket informasi harus melalui beberapa system (router, gateway, hosts, atau perangkat-perangkat komunikasi lainnya) yang kemungkinan besar berada di luar kontrol dari kita. Setiap titik yang dilalui memiliki potensi untuk dibobol, disadap,
dipalsukan. Beberapa hal yang bisa dilakukan untuk mengamankan email adalah melakukan installasi anti spam dan anti virus, sehingga email yang kita terima terjamin keamanannya sebab di email kadang disertakan attachment file yang berpotensi Menyebarkan virus, worm dan trojan serta email spam.
TUGAS PENDAHULUAN 1. Jelaskan cara kerja dari Mail Server 2. Sebutkan beberapa software yang dipakai untuk mengamankan email dari spam dan virus
PERCOBAAN 1.
2.
A. Instalasi Postfix dan mengaktifkan mail service Instalasi Postfix # apt-get install postfix Beberapa isian sebagai berikut : a. Type of mail configuration : Internet Site b. System mail name : isikan debian.eepis-its.edu Cek hasil instalasi # nmap localhost Amati dan catat apakah email server sudah terinstall pada port 25.
3.
Mengaktifkan service postfix # /etc/init.d/postfix restart
4.
Buat 2 user untuk mencoba saling bertukar email # adduser user1 # adduser user2 B. Testing Postfix 1. Kirim mail melalui internal PC (localhost) : Coba telnet dan kirim pesan lewat mail server anda. # telnet localhost 25 Masukkan isi mail anda dengan cara berikut (dalam hal ini user1 mengirim email ke user2) : [root@localhost ~]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 debian.eepis-its.edu ESMTP Postfix MAIL FROM: user1 250 2.1.0 Ok RCPT TO: user2 250 2.1.5 Ok DATA 354 End data with
. Test sending email . 250 2.0.0 Ok: queued as 33C512BD013 quit 221 2.0.0 Bye Connection closed by foreign host.
Perhatikan bahwa untuk mengakhiri email, ketik <enter> . <enter>, yang bertanda huruf tebal, harus anda ketikkan dari keyboard. 2. Cek hasil Untuk pengecekan hasil pada user yang dikirimi email diatas, yaitu user2, gunakan perintah : # vim /var/spool/mail/user2 Lihat apakah sama dengan isi mail yang anda kirim. Jika sudah sama, berarti anda berhasil. C. Instalasi IMAP 1. Instalasi courier imap # apt-get install courier-imap Create directory for web-based administration : No 2. Cek hasil instalasi dengan nmap # nmap localhost Amati dan catat serta periksalah apakah imap sudah terinstall pada port 143. 3. Membuat Maildir di direktori /home/user , dalam hal ini tiap user akan dibuatkan directory Maildir # cd /etc/skel # maildirmake Maildir
4. Buat 2 user, untuk saling berkirim email, perhatikan tiap-tiap user akan terdapat directory Maildir #adduser ali #adduser faruq Lihat dan amati di direktori user #ls –l /home/ali 5. Edit file /etc/postfix/main.cf, dan tambahkan perintah berikut agar semua email disimpan di directory Maildir #vim /etc/postfix/main.cf #mailbox_command = procmail –a “$EXTENSION” => beri tanda ‘#’ pada baris ini home_mailbox = Maildir/ 6. Restart postfix #/etc/init.d/postfix restart 7. Tes koneksi, dalam praktikum ini, ali akan mengirim email ke faruq #telnet localhost 25 [root@localhost ~]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 debian.eepis-its.edu ESMTP Postfix MAIL FROM: ali 250 2.1.0 Ok RCPT TO: faruq 250 2.1.5 Ok DATA 354 End data with . Test sending email . 250 2.0.0 Ok: queued as 33C512BD013 quit 221 2.0.0 Bye Connection closed by foreign host.
8. Untuk melihat email yang dikirim oleh ali, bisa digunakan imap pada port 143 di user faruq (password faruq) #telnet localhost 143 debian:~# telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. a login faruq faruq a OK LOGIN Ok. a select inbox * FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent) * OK [PERMANENTFLAGS (\* \Draft \Answered \Flagged \Deleted \Seen)] Limited * 2 EXISTS * 0 RECENT * OK [UIDVALIDITY 1260362653] Ok * OK [MYRIGHTS "acdilrsw"] ACL a OK [READ-WRITE] Ok a fetch 1 rfc822 * 1 FETCH (RFC822 {458} Return-Path: X-Original-To: faruq Delivered-To: [email protected] Received: from localhost (localhost [127.0.0.1]) by debian.eepis-its.edu (Postfix) with SMTP id 6235BFFFA for ; Wed, 9 Dec 2009 19:34:25 +0700 (WIT) Message-Id: <[email protected]> Date: Wed, 9 Dec 2009 19:34:25 +0700 (WIT) From: [email protected] To: undisclosed-recipients:; Test sending email ) a OK FETCH completed. a logout * BYE Courier-IMAP server shutting down a OK LOGOUT completed Connection closed by foreign host.
Dari data diatas, terlihat bahwa email yang dikirim oleh ali sudah diterima oleh faruq. Huruf bertanda tebal, harus anda ketikkan dari keyboard. 9. Email yang dikirim oleh ali akan tersimpan di email penerima (faruq) dan dapat dilihat pada directory /home/faruq/Maildir/ #cat /home/faruq/Maildir/new/ NB : Agar lebih interaktif, maka pengiriman dan penerimaan email melalui smtp (25) dan imap (143) dapat dilakukan berbasis web.
D. Konfigurasi email berbasis Web (Squirrelmail) 1. Instalasi Web server # apt-get install apache2 php5 php5-imap 2. Instal squirrelmail # apt-get install squirrelmail 3. Buat symlink untuk apache2 agar terhubung ke squirrelmail # ln –s /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail.conf 4. Untuk melihat konfigurasi squirrelmail, gunakan perintah : # /usr/sbin/squirrelmail-configure NB : Biarkan dalam kondisi default 5. Konfigurasi di webserver agar bisa untuk aplikasi email, buat virtual host pada apache2 Tambahkan perintah berikut pada bagian paling bawah : # vim /etc/apache2/sites-available/default DocumentRoot /usr/share/squirrelmail/ 6. Restart apache2 # /etc/init.d/apache2 restart 7. Testing dengan browser http://localhost/squirrelmail
E. Anti Spam dengan header dan body check Header Check 1. Anti spam dengan header check Pengecekan spam pada header email, jika masuk dalam rule tersebut akan ditolak. Tambahkan perintah berikut pada baris paling bawah dari /etc/postfix/main.cf # vim /etc/postfix/main.cf header_checks=regexp:/etc/postfix/header_checks 2. Buat file header_checks untuk menolak beberapa kondisi berikut ini : # vim /etc/postfix/header_checks /^From: *@elex.com/ REJECT /^From: [email protected]/ REJECT /^Subject: sex/ REJECT 3. Restart postfix # /etc/init.d/postfix restart 4. Ujilah email server anda dari web browser dengan menggunakan squirrelmail, untuk saling bertukar email antar user a. Uji dengan memasukkan kondisi header diatas b. Tambahkan beberapa header tambahan untuk menghalau kondisi yang lainnya. Amati dan catat respon dari email server. Body Check 1. Anti spam dengan body check Pengecekan spam pada body email (isi pesan), jika masuk dalam rule tersebut akan ditolak. Tambahkan perintah berikut pada baris paling bawah dari /etc/postfix/main.cf # vim /etc/postfix/main.cf body_checks=regexp:/etc/postfix/body_checks
2. Buat file body_checks, untuk menolak isi pesan email jika terdapat kata-kata How are you ? # vim /etc/postfix/body_checks /^How are you ?/ REJECT 3. Restart postfix # /etc/init.d/postfix restart 4. Ujilah email server anda dari web browser dengan menggunakan squirrelmail, untuk saling bertukar email antar user a. Uji dengan memasukkan kondisi body diatas b. Tambahkan beberapa header tambahan untuk menghalau kondisi yang lainnya. Amati dan catat respon dari email server. F. Anti Spam dengan spamassassin 1. Instal spamassassin # apt-get install spamassassin pyzor razor 2. Edit file di /etc/default/spamassassin # vim /etc/default/spamassassin ENABLED=1 3. Edit file konfigurasi dan uncomment beberapa perintah berikut # vim /etc/spamassassin/local.cf
# Add *****SPAM***** to the Subject header of spam e-mails rewrite_header Subject *****SPAM*****
# Save spam messages as a message/rfc822 MIME attachment instead of # modifying the original message (0: off, 2: use text/plain instead) report_safe 1 # Set the threshold at which a message is considered spam (default: 5.0) required_score 5.0 # Use Bayesian classifier (default: 1) use_bayes 1 # Bayesian classifier auto-learning (default: 1) bayes_auto_learn 1 # Set headers which may provide inappropriate cues to the Bayesian # classifier bayes_ignore_header X-Bogosity bayes_ignore_header X-Spam-Flag bayes_ignore_header X-Spam-Status
NB Untuk mengetahui beberapa rule dari spamassassin bisa dilihat di /usr/share/spamassassin # cat /usr/share/spamassassin
:
4. Restart spamassassin # /etc/init.d/spamassassin restart 5. Cek konfigurasi # spamassassin --lint # spamassassin --lint -D 6. Copylah file spamchk dari dosen dan simpanlah di file /usr/local/bin/. Kemudian cek hak permissionnya. Ubahlah menjadi 750 File spamchk bukan aplikasi utuh, tapi hanya file tambahan supaya kinerja SpamAssassin lebih tajam. Cara kerjanya adalah semua email yang masuk disaring dulu dalm satu directory misalnya /var/tempfs dari sini semua email yang terindikasi spam akan dilempar ke satu email yang disetting di spamchk, sementara user akan terbebas dari email yang diindikasikan spam. #chmod 750 spamchk 7. Bukalah file /etc/postfix/master.cf dan tambahkan 2 baris ini : # vim /etc/postfix/master.cf spamchk unix - n n - 10 pipe flags=Rq user=filter argv=/usr/local/bin/spamchk -f ${sender} -- ${recipient} smtp inet n - n - - smtpd -o content_filter=spamchk:dummy
8. Lakukan reload postfix. Dan jalankan postfix # /etc/init.d/postfix restart 9.Uji email server a. Dengan mengambil file spam dan taruh di folder /home , cobakan dg perintah #/usr/bin/spamassassin -D < /home/sample-spam.txt b. Dengan web browser Kirimlah email ke user lainnya dengan isi pesan dari file sample-sam.txt yang berisi spam. Amati dan catat apa yang terjadi.