Dalam tutorial ini, Anda akan belajar cara menginstal sertifikat SSL/TLS pada Postfix, agen transfer surel Linux yang populer.
Kami juga merekam video yang memandu Anda melalui seluruh prosesnya. Tonton di bawah, atau lanjutkan membaca untuk versi teksnya.
Membuat kode CSR di Postfix
Jika Anda sudah membuat kode CSR dan hanya membutuhkan langkah instalasinya, langsung lompat ke Menginstal Sertifikat SSL pada Postfix.
Untuk mendapatkan sertifikat SSL dari CA (Certificate Authority) tepercaya, Anda harus mengirimkan CSR (Certificate Signing Request). CSR adalah blok teks terenkode yang berisi detail kontak dan organisasi Anda. Anda memiliki dua pilihan:
- Gunakan CSR Generator kami untuk membuat CSR secara otomatis.
- Ikuti tutorial langkah demi langkah kami tentang cara membuat CSR di Postfix.
Selama proses pemesanan dengan vendor SSL Anda, buka file CSR di editor teks biasa dan salin-tempel seluruh bloknya, termasuk baris —–BEGIN CERTIFICATE REQUEST—– dan —–END CERTIFICATE REQUEST—–, ke dalam kotak yang sesuai. Setelah CA memvalidasi permintaan Anda dan menerbitkan sertifikat, lanjutkan dengan instalasi di bawah ini.
Menginstal sertifikat SSL pada Postfix
Setelah CA memvalidasi permintaan Anda dan mengirimkan file sertifikat ke kotak masuk Anda, Anda dapat memulai instalasi.
Langkah 1: Siapkan file SSL Anda
Postfix menggunakan sertifikat SSL/TLS dalam format X.509. Instalasi yang benar membutuhkan tiga file:
- Kunci privat Anda, yang dibuat bersama dengan CSR di server Anda (misalnya privkey.key).
- Sertifikat SSL utama Anda, file di dalam arsip ZIP yang dikirimkan CA melalui surel. Dalam panduan ini kami akan menyebutnya sebagai server.crt.
- Sertifikat perantara (intermediate), yaitu CA bundle dari arsip ZIP yang sama. Kami akan menyebutnya sebagai intermediate.pem.
Anda dapat menyimpan ketiga file tersebut dalam satu direktori, misalnya /etc/postfix/. Pastikan kunci privat hanya dapat dibaca oleh root:
sudo chmod 600 /etc/postfix/privkey.key
Langkah 2: Membangun rantai sertifikat
Cara Anda menyusun file bergantung pada versi Postfix Anda. Periksa terlebih dahulu:
postconf mail_version
Direkomendasikan (Postfix 3.4 dan yang lebih baru)
Buat satu file rantai yang berisi kunci privat, sertifikat server, dan perantara, dalam urutan ini:
cat /path/to/privkey.key /path/to/server.crt /path/to/intermediate.pem > /etc/postfix/rsachain.pem
Metode modern ini menghindari masalah rollover sertifikat dan bekerja dengan baik bersama direktif smtpd_tls_chain_files milik Postfix. Lindungi file rantai ini seperti halnya kunci privat, karena file ini berisi kunci privat Anda:
sudo chmod 600 /etc/postfix/rsachain.pem
Alternatif (semua versi Postfix)
Jika Anda menjalankan versi Postfix yang lebih lama dari 3.4, simpan kunci privat secara terpisah dan gabungkan hanya sertifikat server dengan perantara:
cat /path/to/server.crt /path/to/intermediate.pem > /etc/postfix/server.pem
Anda akan merujuk bundle ini dan kunci privat secara terpisah dalam konfigurasi di bawah.
Langkah 3: Konfigurasi Postfix
Buka file konfigurasi utama /etc/postfix/main.cf dan pilih gaya yang sesuai dengan pengaturan Anda.
Opsi A: Postfix 3.4 atau lebih baru (direkomendasikan). Arahkan Postfix ke file rantai tunggal yang Anda buat:
smtpd_tls_chain_files = /etc/postfix/rsachain.pem
smtpd_tls_security_level = may
Opsi B: warisan (legacy) (Postfix lebih lama dari 3.4). Rujuk bundle sertifikat dan kunci secara terpisah:
smtpd_tls_cert_file = /etc/postfix/server.pem
smtpd_tls_key_file = /etc/postfix/privkey.key
smtpd_tls_security_level = may
Beberapa catatan mengenai direktif ini:
- smtpd_tls_security_level = may mengaktifkan TLS opportunistic untuk surel masuk pada port 25. Ini adalah pengaturan yang tepat untuk server MX publik: server ini menawarkan STARTTLS kepada pengirim yang mendukungnya, sekaligus tetap menerima koneksi biasa dari pengirim yang tidak mendukungnya. Jangan mengaturnya menjadi encrypt pada MX publik, karena hal itu akan menolak surel yang sah dari pengirim yang hanya menggunakan koneksi biasa. (Sakelar lama smtpd_use_tls = yes sudah usang; smtpd_tls_security_level menggantikannya.)
- Gunakan sertifikat rantai lengkap (full-chain) (sertifikat Anda ditambah perantara), baik Anda menyampaikannya melalui smtpd_tls_chain_files (Opsi A) atau smtpd_tls_cert_file (Opsi B). Menyajikan hanya sertifikat leaf akan menyebabkan kegagalan validasi rantai di sisi penerima.
- Postfix modern secara default sudah menonaktifkan SSLv2, SSLv3, dan cipher lemah, sehingga Anda tidak perlu daftar pengecualian tambahan untuk lalu lintas masuk port 25.
Amankan layanan submission (port 587)
Ketika pengguna Anda sendiri mengirim surel melalui Postfix (via Outlook, Thunderbird, Apple Mail, dan lain-lain), mereka terhubung melalui port submission 587, bukan port 25 yang dikhususkan untuk pengiriman antar server. Karena hanya pengguna terautentikasi Anda yang menggunakan port ini, Anda dapat dengan aman menerapkan aturan yang lebih ketat: mewajibkan TLS dan menetapkan protokol minimum TLS 1.2.
Buka /etc/postfix/master.cf, pastikan layanan submission diaktifkan, dan tambahkan override di bawah ini:
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_mandatory_protocols=>=TLSv1.2
Beberapa detail yang sering membuat bingung:
- smtpd_tls_mandatory_protocols hanya berlaku ketika tingkat keamanan diatur ke encrypt (TLS wajib), yang tepat merupakan kasus di sini pada port 587. Untuk TLS opportunistic pada port 25 (tingkat keamanan may), setelan yang setara adalah smtpd_tls_protocols, tetapi pada MX publik Anda umumnya membiarkannya pada nilai default Postfix agar tidak menolak pengirim yang lebih lama.
- Sintaks ringkas >=TLSv1.2 membutuhkan Postfix 3.6 atau lebih baru dan tidak boleh ada spasi antara >= dan versinya. Pada Postfix 3.4 atau 3.5, gunakan bentuk pengecualian: smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1.
- Dalam master.cf, tidak ada spasi di sekitar = pada override -o (misalnya -o smtpd_tls_security_level=encrypt), sedangkan dalam main.cf Anda menulis kunci = nilai dengan spasi.
Opsional: TLS implisit pada port 465. Banyak klien modern lebih memilih port 465 (SMTPS / “submissions”), yang membungkus seluruh sesi dalam TLS sejak awal. RFC 8314 mendukungnya bersama dengan 587. Untuk menawarkannya, aktifkan layanan smtps di master.cf dengan mode wrapper:
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
Langkah 4: Muat ulang Postfix
Sebelum memuat ulang, sebaiknya periksa konfigurasi untuk kesalahan sintaks:
sudo postfix check
Jika hasilnya tidak menampilkan apa-apa, terapkan perubahannya. Pemuatan ulang membaca ulang konfigurasi tanpa mengganggu koneksi aktif:
sudo systemctl reload postfix
Pada sistem tanpa systemd, perintah yang setara adalah:
sudo postfix reload
Langkah 5: Verifikasi sertifikat
Pastikan Postfix menyajikan sertifikat dan rantai yang benar dengan OpenSSL. Ganti yourdomain.com dengan hostname server surel Anda:
openssl s_client -starttls smtp -connect yourdomain.com:25 -servername yourdomain.com </dev/null
| openssl x509 -noout -issuer -subject -dates
Hasilnya harus menampilkan subject sertifikat server Anda, penerbitnya (CA), dan tanggal validitasnya. Untuk menguji layanan submission, ubah port menjadi 587 (yang juga menggunakan STARTTLS) atau, untuk port TLS implisit 465, hilangkan -starttls smtp dan sambungkan langsung ke port 465. Selamat, Anda telah berhasil menginstal sertifikat SSL pada Postfix.
Uji instalasi SSL Anda
Setelah menginstal sertifikat, sebaiknya pindai konfigurasi Anda untuk mencari kesalahan atau kerentanan. SSL Checker kami memberikan laporan instan tentang setiap aspek sertifikat Anda dan pengaturannya, sehingga Anda dapat memastikan rantai sertifikat lengkap dan protokolnya dikonfigurasi dengan benar.
Di mana membeli sertifikat SSL terbaik untuk Postfix?
Anda sudah berada di tempat yang tepat. Di SSL Dragon, kami menawarkan salah satu rangkaian produk SSL paling luas dengan harga terendah di pasaran, dan semua sertifikat kami kompatibel dengan agen transfer surel Postfix.
Tidak yakin sertifikat mana yang harus dipilih? SSL Wizard kami membuatnya cepat dan mudah untuk menemukan produk yang tepat untuk server surel Anda.
Pertanyaan yang Sering Diajukan
TLS dikonfigurasi di /etc/postfix/main.cf. Pada Postfix 3.4 dan yang lebih baru, direktif yang direkomendasikan adalah smtpd_tls_chain_files, yang mengarah ke satu file PEM yang menyimpan kunci privat, sertifikat server, dan perantara. Pada versi yang lebih lama, Anda sebaliknya mengatur smtpd_tls_cert_file (sertifikat rantai lengkap) dan smtpd_tls_key_file (kunci privat) secara terpisah. Override per layanan untuk port 587 dan 465 berada di /etc/postfix/master.cf.
Untuk smtpd_tls_chain_files, urutannya adalah kunci privat terlebih dahulu, kemudian sertifikat server (leaf), lalu sertifikat perantara:cat privkey.key server.crt intermediate.pem > /etc/postfix/rsachain.pem
Jika urutannya salah, Postfix akan gagal memuat rantai tersebut. Jangan sertakan sertifikat CA root; klien sudah mempercayainya secara bawaan.
Gunakan may (TLS opportunistic) untuk surel masuk pada port 25. MX publik harus menerima surel dari pengirim yang tidak mendukung TLS, dan encrypt akan menolaknya, menyebabkan surel hilang. Simpan encrypt (TLS wajib) untuk layanan submission yang terautentikasi pada port 587, di mana hanya pengguna Anda sendiri yang terhubung.
Pemuatan ulang sudah cukup untuk perubahan sertifikat dan TLS; jalankan sudo systemctl reload postfix (atau sudo postfix reload). Pemuatan ulang membaca kembali konfigurasi tanpa memutus koneksi aktif. Jalankan sudo postfix check terlebih dahulu untuk menangkap kesalahan sintaks sebelum diterapkan.
Sambungkan dengan OpenSSL dan baca sertifikat yang disajikan Postfix melalui STARTTLS:openssl s_client -starttls smtp -connect yourdomain.com:25 -servername yourdomain.com </dev/null | openssl x509 -noout -issuer -subject -dates
Ini akan menampilkan subject, penerbit, dan tanggal validitas sertifikat. Anda juga dapat menjalankan pemindaian lengkap dengan SSL tools kami untuk memastikan rantai sertifikat lengkap.
Kesimpulan
Menginstal sertifikat SSL pada Postfix pada dasarnya adalah menyusun file PEM rantai lengkap, mengarahkan main.cf ke file tersebut dengan smtpd_tls_chain_files (atau pasangan lama smtpd_tls_cert_file / smtpd_tls_key_file), mengatur smtpd_tls_security_level = may untuk surel masuk, memperkuat keamanan layanan submission pada port 587, memeriksa konfigurasi dengan sudo postfix check, dan memuat ulang Postfix.
Belum memiliki sertifikat? Jelajahi sertifikat SSL kami.
Hemat 10% untuk Sertifikat SSL saat memesan hari ini!
Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

