Pendahuluan
Mail server merupakan salah satu layanan server yang paling sering menjadi target serangan, terutama oleh bot otomatis yang melakukan spam, brute force login, dan penyalahgunaan relay.
Banyak kegagalan implementasi mail server bukan disebabkan oleh Postfix atau Dovecot, melainkan karena server belum diamankan dengan benar sejak awal.
Artikel ini membahas langkah-langkah pengamanan server sebelum instalasi dan konfigurasi mail server, disusun khusus untuk pemula agar memahami apa yang harus diamankan, mengapa harus diamankan, dan apa risikonya jika diabaikan.
1. Ancaman Umum pada Mail Server
Sebelum masuk ke konfigurasi teknis, penting memahami jenis ancaman yang umum terjadi pada mail server:
1.1 Bot SMTP
Bot akan melakukan pemindaian IP publik dan mencoba mengirim email melalui port 25 yang terbuka. Jika berhasil, server akan digunakan untuk spam massal.
1.2 Brute Force Login
Serangan dilakukan ke layanan SMTP AUTH, IMAP, atau POP3 dengan mencoba ribuan kombinasi username dan password.
1.3 Open Relay
Kesalahan konfigurasi Postfix dapat menyebabkan server mengizinkan pengiriman email tanpa autentikasi, sehingga dimanfaatkan oleh spammer.
1.4 Kesalahan DNS
Record seperti SPF, DKIM, DMARC, MX, dan PTR yang tidak sinkron dapat menyebabkan email ditolak atau masuk folder spam.
1.5 IPv6 Tidak Diamankan
Banyak administrator hanya mengamankan IPv4, sementara serangan masuk melalui IPv6 yang tidak difilter firewall.
2. Prinsip Dasar Pengamanan Server
Sebelum menginstal mail server, terapkan prinsip berikut:
- Tutup semua port yang tidak diperlukan
- Jangan membuka port 25 ke publik
- Aktifkan firewall dan proteksi brute force
- Pastikan DNS sudah benar sebelum mail server aktif
- Lakukan monitoring sejak awal
Mail server harus dibangun di atas fondasi keamanan, bukan sekadar bisa mengirim email.
3. Update Sistem Operasi
Pastikan sistem dalam kondisi terbaru untuk menutup celah keamanan lama:
sudo apt update && sudo apt upgrade -y
sudo reboot
Update sistem sangat penting untuk menjaga stabilitas dan keamanan layanan mail.
4. Firewall Menggunakan firewalld
4.1 Instalasi firewalld
sudo apt install firewalld -y
sudo systemctl enable firewalld
sudo systemctl start firewalld
4.2 Prinsip Port pada Mail Server
| Port | Fungsi | Status |
|---|---|---|
| 22 | SSH | Dibuka (dibatasi) |
| 25 | SMTP | Ditutup |
| 587 | SMTP Submission (AUTH) | Dibuka |
| 465 | SMTPS | Opsional |
| 993 | IMAPS | Dibuka |
| 110 / 143 | POP3 / IMAP | Ditutup |
4.3 Konfigurasi Firewall Dasar
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Membuka port mail yang aman:
sudo firewall-cmd --permanent --add-port=587/tcp
sudo firewall-cmd --permanent --add-port=993/tcp
sudo firewall-cmd --reload
Catatan:
Port 25 sebaiknya hanya digunakan untuk komunikasi antar mail server, bukan untuk user.
5. Pengamanan IPv6
IPv6 sering menjadi jalur masuk serangan karena tidak disadari administrator.
Jika belum menggunakan IPv6, sebaiknya dinonaktifkan:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
6. Proteksi Brute Force dengan Fail2Ban
6.1 Instalasi Fail2Ban
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
6.2 Konfigurasi Dasar Fail2Ban
Buat file /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
backend = systemd
[sshd]
enabled = true
[postfix]
enabled = true
[dovecot]
enabled = true
Restart layanan:
sudo systemctl restart fail2ban
7. Prinsip Keamanan Postfix (Mencegah Open Relay)
Kesalahan paling fatal dalam konfigurasi Postfix adalah open relay.
Pastikan Postfix hanya mengizinkan:
- Jaringan internal
- User yang sudah terautentikasi
Contoh konfigurasi wajib di main.cf:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Tanpa aturan ini, server berpotensi menjadi sumber spam global.
8. DNS yang Wajib Disiapkan Sebelum Mail Server Aktif
8.1 A Record
mail.domain.tld → IP VPS
8.2 MX Record
domain.tld → mail.domain.tld
8.3 PTR / Reverse DNS
IP VPS harus menunjuk ke hostname mail server:
IP VPS → mail.domain.tld
PTR yang tidak sesuai akan menyebabkan email ditolak oleh banyak mail provider.
8.4 SPF
v=spf1 ip4:IP_VPS -all
8.5 DKIM
Digunakan untuk menandatangani email secara kriptografi dan wajib untuk reputasi mail server.
8.6 DMARC
Konfigurasi minimal:
v=DMARC1; p=none; rua=mailto:dmarc@domain.tld
9. Risiko Membuka Port 25 ke Publik
Jika port 25 dibuka tanpa pengamanan:
- Bot melakukan scanning IP
- Ribuan koneksi SMTP masuk
- Log mail membengkak
- Jaringan VPS penuh
- Server menjadi sangat lambat
- IP masuk blacklist
- VPS berisiko disuspend oleh provider
Port 25 bukan untuk user, melainkan komunikasi antar mail server.
10. Checklist Sebelum Instalasi Mail Server
- Sistem operasi sudah diperbarui
- Firewall aktif
- Port 25 tertutup
- Fail2Ban aktif
- IPv6 diamankan
- DNS A dan MX valid
- PTR sudah aktif
- SPF disiapkan
- Backup server tersedia
Jika checklist ini belum terpenuhi, instalasi mail server sebaiknya ditunda.
Penutup
Mail server bukan layanan sederhana. Kesalahan kecil dapat berdampak besar, mulai dari spam, blacklist, hingga server tidak dapat digunakan.
Dengan melakukan pengamanan sejak awal, risiko kegagalan dapat ditekan secara signifikan. Fondasi keamanan yang kuat adalah kunci keberhasilan mail server jangka panjang.
