Mengamankan akses email server dengan lockdown total
Setelah sebelumnya saya menjelaskan cara membuat email server dengan stalwart sekarang saya akan menjelaskan strategi yang bisa dilakukan untuk mengunci akses email agar tidak mudah diretas.
Menurut saya cara paling efektif adalah memisahkan dengan public access dan private access. Akses public akan menggunakan webmail dan email client yang menggunakan IMAP tidak dibuka secara publik. Dengan tidak membuka akses IMAP secara public dapat mengurangi resiko peretasan karena peretas tidak bisa melihat akses IMAP. Sementara akses public menggunakan webmail dengan 2 pilihan yaitu menggunakan webmail yang mendukung 2fa, SSO atau menambahkan cloudflare access. Berikut detail pembatasannya
Konfigurasi firewall
Kalau kamu pakai server VPS pastikan hanya allow port penting saja seperti 25, 443 dan 80. Tutup akses ke port selain 25, 443 dan 80, untuk SSH bisa menggunakan tunnel terpisah atau menggunakan private key.
Setup Private akses dengan VPN Tunnel
Kita perlu membuat tunnel private untuk akses IMAP dan service lainnya. Cara paling mudah adalah menggunakan tailscale. Tambahkan VPS kamu sebagai node di tailscale dan semua akses hanya bisa dilakukan oleh device yang terhubung ke jaringan Tailscale. Akses ke IMAP langsung menggunakan private IP Tailscale dari VPS dan menggunakan port 143. Menurut saya tidak perlu lagi akses dengan mode enkripsi di 993 karena jaringannya sudah private. Akses ke 143 ini tanpa enkripsi sehingga mempercepat loading data. Akses SMTP sebaiknya tetap menggunakan enkripsi TLS di 587 atau SSL di 465.
Setup Public Access
Kadang kala kita butuh akses ke email menggunakan device yang tidak bisa konek ke tailscale. Pada skenario ini kita bisa menggunakan akses public melalui webmail. Salah satu proteksi yang bisa dilakukan adalah dengan menambahkan lapisan keamanan
- Menggunakan webmail yang support 2fa seperti snappy mail, roundcube
- Menggunakan SSO sehingga loginya diproteksi oleh SSO