Mail Server Security

SMTP Authentication

Mengaktifkan mekanisme autentikasi SASL melalui Dovecot untuk mengamankan pengiriman email melalui port 587.

1

Instalasi Paket SASL

Terminal
sudo apt install sasl2-bin libsasl2-modules -y
2

Hubungkan Postfix ke Dovecot

Tambahkan atau pastikan baris ini ADA dalam /etc/postfix/main.cf:

Edit /etc/postfix/main.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
3

Aktifkan Socket Auth di Dovecot

Edit /etc/dovecot/conf.d/10-master.conf, cari bagian service auth {:

Edit /etc/dovecot/conf.d/10-master.conf
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}
4

Aktifkan Port 587 (Submission)

Buka /etc/postfix/master.cf dan aktifkan baris submission:

Edit /etc/postfix/master.cf
submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_tls_security_level=may
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
5

Restart & Cek Port

Restart Services
sudo systemctl restart postfix dovecot
Cek Port 587
sudo ss -tulpn | grep 587
6

Pengujian SMTP Manual (Base64)

Sebelum telnet, Anda harus mengubah username & password ke format Base64 melalui terminal:

Generate Base64 Username
echo -n "user1" | base64
Generate Base64 Password
echo -n "password_anda" | base64

Setelah mendapat kode Base64, lakukan pengujian Telnet:

Proses Telnet Auth
telnet 192.168.10.28 587
ehlo test
auth login
# Masukkan kode Base64 Username
# Masukkan kode Base64 Password

Hasil yang diharapkan:

334 VXNlcm5hbWU6 (Meminta Username)
334 UGFzc3dvcmQ6 (Meminta Password)
235 2.7.0 Authentication successful
7

Konfigurasi Roundcube

/etc/roundcube/config.inc.php
$config['smtp_host'] = 'localhost:587';
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
Restart Apache
sudo systemctl restart apache2

Langkah Akhir: Verifikasi

  • • Login ke Roundcube Webmail.
  • • Kirim email ke user lokal lain.
  • • Jika password salah → GAGAL.
  • • Jika benar → TERKIRIM.