Pendahuluan

Setelah server diamankan (firewall, Fail2Ban, DNS, dan port), tahap selanjutnya adalah instalasi Postfix.
Postfix adalah Mail Transfer Agent (MTA) yang bertugas mengirim dan menerima email antar server.

Kesalahan umum pemula adalah:

  • Menginstal Postfix sebelum server aman
  • Mengaktifkan port 25 ke publik
  • Salah konfigurasi relay
  • Tidak memahami alur kerja Postfix

Artikel ini membahas instalasi Postfix yang aman, minimal, dan mudah dipahami, tanpa konfigurasi berlebihan.


1. Konsep Dasar Postfix (WAJIB PAHAM)

Sebelum install, pahami alurnya:

  1. User mengirim email → SMTP Submission (587)
  2. Postfix menerima email
  3. Postfix cek autentikasi
  4. Email dikirim ke mail server tujuan
  5. Server tujuan menerima via SMTP (25)

Catatan penting:

  • User tidak boleh kirim lewat port 25
  • Port 25 hanya untuk komunikasi antar server

2. Pastikan Tidak Ada Mail Server Lain

Cek apakah ada mail server lain:

ss -tulpn | grep :25

Jika ada:

  • exim
  • sendmail
  • postfix lama

Hapus dulu sebelum lanjut.


3. Instalasi Postfix

3.1 Install paket Postfix

sudo apt install postfix -y

Saat instalasi, akan muncul wizard.


3.2 Jawaban Wizard Postfix

Pilih dengan hati-hati:

  1. General type of mail configuration
    Internet Site
  2. System mail name
    alfasmk.my.id
    (gunakan domain utama, BUKAN mail.domain)

Wizard ini hanya konfigurasi dasar. Kita akan amankan manual setelah ini.


4. Struktur File Penting Postfix

FileFungsi
/etc/postfix/main.cfKonfigurasi utama
/etc/postfix/master.cfDaftar service & port
/var/log/mail.logLog aktivitas mail

⚠️ 90% pengamanan ada di main.cf


5. Konfigurasi Dasar main.cf (AMAN UNTUK PEMULA)

Edit file:

sudo nano /etc/postfix/main.cf

5.1 Identitas Server

myhostname = mail.alfasmk.my.id
mydomain = alfasmk.my.id
myorigin = $mydomain

5.2 Jaringan yang Diizinkan

mynetworks = 127.0.0.0/8

Jangan tambahkan IP publik di sini
Kalau salah → OPEN RELAY


5.3 Domain Tujuan

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

Artinya:

  • Server hanya menerima email untuk domain sendiri

5.4 Disable Relay Tidak Sah (PALING PENTING)

smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination

➡️ Tanpa baris ini, server kamu TIDAK AMAN


6. Aktifkan SMTP AUTH (User Harus Login)

Postfix tidak menyimpan user, jadi nanti akan pakai Dovecot.
Untuk sekarang, siapkan settingnya dulu.

Tambahkan di main.cf:

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous

7. Aktifkan TLS (WAJIB)

Tanpa TLS:

  • Password dikirim plaintext
  • Email dianggap tidak aman

7.1 Sertifikat TLS

Gunakan Let’s Encrypt (contoh):

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.alfasmk.my.id/fullchain.pem
smtpd_tls_key_file  = /etc/letsencrypt/live/mail.alfasmk.my.id/privkey.pem

7.2 Konfigurasi TLS

smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes

smtpd_tls_auth_only = yes
→ User harus TLS sebelum login


8. Nonaktifkan SMTP AUTH di Port 25

Edit master.cf:

sudo nano /etc/postfix/master.cf

Pastikan TIDAK ADA SASL AUTH di service smtp (port 25).

Yang boleh AUTH hanya di submission (587).


9. Aktifkan Port 587 (Submission)

Di master.cf, pastikan baris ini aktif:

submission inet n - y - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

Artinya:

  • User WAJIB TLS
  • User WAJIB login
  • Tidak bisa relay bebas

10. Restart dan Cek Konfigurasi

10.1 Cek syntax

sudo postfix check

Jika tidak ada output → aman.


10.2 Restart Postfix

sudo systemctl restart postfix
sudo systemctl status postfix

11. Test Dasar Postfix (AMAN)

Cek port yang aktif:

ss -tulpn | grep postfix

Yang ideal:

  • 25 → listening (server)
  • 587 → listening (submission)
  • Tidak error

12. Kesalahan Fatal Pemula (WAJIB DIHINDARI)

KesalahanDampak
Menambah IP publik ke mynetworksOpen relay
Membuka port 25 untuk userSpam
Tidak pakai TLSPassword bocor
Tidak pakai AUTHSpam
Salah mydestinationMail bounce
Tidak cek logMasalah tak terdeteksi

13. Checklist Postfix Aman

  • Postfix terinstal
  • Port 587 aktif
  • Port 25 tidak untuk user
  • TLS aktif
  • SMTP AUTH aktif
  • Open relay dicegah
  • Firewall sesuai
  • Log normal

Jika checklist ini lolos, Postfix kamu sudah cukup aman untuk pemula.


Penutup

Postfix yang aman bukan soal konfigurasi rumit, tetapi paham batasannya:

  • Siapa boleh kirim
  • Lewat port apa
  • Dengan autentikasi apa

Setelah tahap ini, Postfix BELUM BISA dipakai user sampai Dovecot dikonfigurasi.

By Admin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *