SMTP Authentication - Postfix - menggunakan saslauthd ------------------------------------------------------ 'SMTP Authentication' adalah salah satu cara untuk mengidentifikasikan mail client yang tidak tergantung terhadap IP Address sehingga memungkinkan server email untuk melakukan relay pesan dari mail client dengan IP address yang tidak dipercaya oleh server email tersebut. Untuk 'SMTP Authentication' diperlukan paket Cyrus SASSL (tentunya dengan MTA-nya juga - Postfix), dimana ada dua cara autentikasi. Pertama user dan password disimpan dalam file terpisah , misalnya /etc/sasldb. Dan yang kedua, user dan password disimpan didalam sistem os (dalam hal ini /etc/shadow pada linux). Yang perlu dikonfigurasi pada file /usr/lib/sasl/smptd.conf untuk versi diatas: cara pertama: untuk version 1.x: pwcheck_method: sasldb untuk for version 2.x: pwcheck_method: auxprop Cara kedua: untuk version 1.x: pwcheck_method: pwcheck untuk for version 2.x: pwcheck_method: saslauthd Kesempatan ini saya akan menggunakan cara kedua, yaitu menggunakan saslauthd. Authentikasi dari /etc/passwod (shadow) --------------------------------------- Semuanya dibuat dengan mudah (setelah baca sana sini di google :D), pertama kali install CentOS 4 yang udah ada paket Postfix dan Cyrus-SASL nya :) hanya menambahkan sedikit konfigurasi pada file /etc/postfix/main.cf dengan baris berikut: -------------------------------------------- smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains --------------------------------------------- Karena SMTP-auth tidak tergantung dari IP Address maka kita edit bagian 'mynetwork' pada file /etc/postfix/main.cf menjadi: ---------------------------- mynetworks = 127.0.0.0/8 ---------------------------- setiap perubahan pada file main.cf dapat disimpan dengan melakukan reload postfix: [root@devel root]# postfix reload postfix/postfix-script: refreshing the Postfix mail system edit file /usr/lib/sasl/smtpd.conf menjadi berikut: ------------------------------ pwcheck_method: saslauthd saslauthd_version: 2 ------------------------------ Kemudian sasl di up : [root@devel root]# /etc/rc.d/init.d/saslauthd start Pastikan SMTP-auth telah berjalan dengan menggunakan authentikasi dari /etc/shadow, caranya kita menjalankan command berikut untuk mendapatkan kode password: [root@devel postfix]# perl -MMIME::Base64 -e 'print encode_base64("javaux\0javau x\0passwordku");' [root@devel postfix]# perl -MMIME::Base64 -e 'print encode_base64("javaux\0javau x\0passwordku");' amF2YXV4AGphdmF1eABwYXNzd29yZGt1 [root@devel root]# telnet localhost 25 Trying 127.0.0.1... Connected to devel.java_ux.com (127.0.0.1). Escape character is '^]'. 220 devel.java_ux.com ESMTP Postfix ehlo devel.java_ux.com 250-devel.java_ux.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN GSSAPI 250-AUTH=PLAIN LOGIN GSSAPI 250-XVERP 250 8BITMIME AUTH PLAIN amF2YXV4AGphdmF1eABwYXNzd29yZGt1 235 Authentication successful Ha..ha...sudah beres, tinggal buka MUA kesayangan Anda (outlook express, Ms outlook, thunderbird, eudora, dll) tinggal anda tambahkan opsi untuk melakukan autentikasi pada smtp. Authentikasi menggunakan IMAP ----------------------------- Jika anda mempunyai IMAP Server, sasl dapat mengambil password dari IMAP server tersebut, caranya sama dengan langkah2 diatas, hanya saja untuk running daemon saslnya bukan dengan "/etc/rc.d/init.d/saslauthd start" tapi dengan perintah berikut: # saslauth -a rimap -O imap.example.com Selamat mencoba !