Bu eğitimde, popüler Linux posta aktarım aracı Postfix üzerinde bir SSL/TLS sertifikasının nasıl kurulacağını öğreneceksiniz.
Ayrıca sizi tüm süreç boyunca yönlendiren bir video da kaydettik. Aşağıdan izleyebilir veya metin sürümünü okumaya devam edebilirsiniz.
Postfix üzerinde CSR kodu oluşturma
CSR kodunuzu zaten oluşturduysanız ve sadece kurulum adımlarına ihtiyacınız varsa, doğrudan Postfix üzerinde SSL Sertifikası Kurma bölümüne geçebilirsiniz.
Güvenilir bir CA’dan (Sertifika Yetkilisi) SSL sertifikası almak için bir CSR (Sertifika İmzalama Talebi) göndermeniz gerekir. CSR, iletişim ve kuruluş bilgilerinizi içeren kodlanmış bir metin bloğudur. İki seçeneğiniz var:
- CSR’yi otomatik olarak oluşturmak için CSR Oluşturucu aracımızı kullanın.
- Postfix’te CSR nasıl oluşturulur konulu adım adım eğitimimizi takip edin.
SSL sağlayıcınızla sipariş sürecinde, CSR dosyasını herhangi bir düz metin düzenleyicisinde açın ve —–BEGIN CERTIFICATE REQUEST—– ile —–END CERTIFICATE REQUEST—– satırları dahil tüm bloğu kopyalayıp ilgili kutuya yapıştırın. CA talebinizi doğruladıktan ve sertifikayı verdikten sonra, aşağıdaki kurulumla devam edin.
Postfix üzerinde SSL sertifikası kurma
CA talebinizi doğruladıktan ve sertifika dosyalarını e-posta kutunuza gönderdikten sonra kuruluma başlayabilirsiniz.
Adım 1: SSL dosyalarınızı hazırlayın
Postfix, X.509 formatında SSL/TLS sertifikaları kullanır. Doğru bir kurulum için üç dosyaya ihtiyaç vardır:
- Özel anahtarınız, CSR ile birlikte sunucunuzda oluşturulan dosya (örneğin privkey.key).
- Birincil SSL sertifikanız, CA’nın size e-posta ile gönderdiği ZIP arşivinin içindeki dosya. Bu kılavuzda buna server.crt olarak değineceğiz.
- Ara sertifika(lar), aynı ZIP arşivindeki CA paketi. Buna intermediate.pem olarak değineceğiz.
Üç dosyayı da tek bir dizinde tutabilirsiniz, örneğin /etc/postfix/. Özel anahtarın yalnızca root tarafından okunabilir olduğundan emin olun:
sudo chmod 600 /etc/postfix/privkey.key
Adım 2: Sertifika zincirini oluşturun
Dosyaları nasıl bir araya getireceğiniz Postfix sürümünüze bağlıdır. Önce sürümünüzü kontrol edin:
postconf mail_version
Önerilen yöntem (Postfix 3.4 ve üzeri)
Özel anahtarı, sunucu sertifikasını ve ara sertifika(lar)ı içeren tek bir zincir dosyası oluşturun, kesinlikle bu sırayla:
cat /path/to/privkey.key /path/to/server.crt /path/to/intermediate.pem > /etc/postfix/rsachain.pem
Bu modern yöntem, sertifika yenileme sorunlarını önler ve Postfix’in smtpd_tls_chain_files yönergesiyle sorunsuz çalışır. Zincir dosyasını, özel anahtarınızı içerdiği için anahtarla aynı şekilde koruyun:
sudo chmod 600 /etc/postfix/rsachain.pem
Alternatif yöntem (tüm Postfix sürümleri)
3.4’ten daha eski bir Postfix sürümü kullanıyorsanız, anahtarı ayrı tutun ve yalnızca sunucu sertifikasını ara sertifika(lar) ile birleştirin:
cat /path/to/server.crt /path/to/intermediate.pem > /etc/postfix/server.pem
Bu paketi ve özel anahtarı aşağıdaki yapılandırmada ayrı ayrı belirteceksiniz.
Adım 3: Postfix’i yapılandırın
Ana yapılandırma dosyasını /etc/postfix/main.cf açın ve kurulumunuza uygun stili seçin.
Seçenek A: Postfix 3.4 veya üzeri (önerilen). Postfix’i oluşturduğunuz tek zincir dosyasına yönlendirin:
smtpd_tls_chain_files = /etc/postfix/rsachain.pem
smtpd_tls_security_level = may
Seçenek B: eski yöntem (Postfix 3.4’ten eski sürümler). Sertifika paketini ve anahtarı ayrı ayrı belirtin:
smtpd_tls_cert_file = /etc/postfix/server.pem
smtpd_tls_key_file = /etc/postfix/privkey.key
smtpd_tls_security_level = may
Bu yönergelerle ilgili birkaç not:
- smtpd_tls_security_level = may, 25 numaralı port üzerinden gelen posta için fırsatçı TLS’yi etkinleştirir. Bu, herkese açık bir MX sunucusu için doğru ayardır: STARTTLS’yi destekleyen göndericilere bunu bildirirken, desteklemeyenlerden gelen düz bağlantıları da kabul eder. Herkese açık bir MX üzerinde bunu encrypt olarak ayarlamayın, çünkü bu, yalnızca düz metin gönderen meşru postaları reddeder. (Eski smtpd_use_tls = yes seçeneği kullanımdan kaldırılmıştır; smtpd_tls_security_level onun yerini alır.)
- İster smtpd_tls_chain_files (Seçenek A) ister smtpd_tls_cert_file (Seçenek B) ile sunuyor olun, tam zincir sertifikası (sertifikanız artı ara sertifikalar) kullanın. Yalnızca son sertifikayı sunmak, alıcı tarafında zincir doğrulama hatalarına yol açar.
- Modern Postfix, SSLv2, SSLv3 ve zayıf şifreleri varsayılan olarak zaten devre dışı bırakır, bu nedenle gelen 25 numaralı port trafiği için ek dışlama listelerine gerek yoktur.
Gönderim hizmetini (587 numaralı port) güvenceye alın
Kendi kullanıcılarınız Postfix üzerinden posta gönderdiğinde (Outlook, Thunderbird, Apple Mail vb. üzerinden), sunucudan sunucuya teslimat için ayrılmış 25 numaralı port yerine gönderim (submission) portu olan 587’ye bağlanırlar. Bu portu yalnızca kimliği doğrulanmış kullanıcılarınız kullandığından, daha sıkı kurallar uygulayabilirsiniz: TLS’yi zorunlu kılın ve minimum protokolü TLS 1.2 olarak ayarlayın.
/etc/postfix/master.cf dosyasını açın, submission hizmetinin etkin olduğundan emin olun ve aşağıdaki geçersiz kılmaları ekleyin:
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
İnsanların sık sık hata yaptığı birkaç detay:
- smtpd_tls_mandatory_protocols yalnızca güvenlik seviyesi encrypt (zorunlu TLS) olduğunda etkindir; bu da tam olarak 587 numaralı port için geçerli durumdur. 25 numaralı porttaki fırsatçı TLS için (güvenlik seviyesi may), buna karşılık gelen ayar smtpd_tls_protocols olur, ancak herkese açık bir MX üzerinde bunu genellikle Postfix’in varsayılan değerlerinde bırakırsınız ki eski göndericileri geri çevirmeyin.
- Kısa >=TLSv1.2 sözdizimi, Postfix 3.6 veya üzeri gerektirir ve >= ile sürüm arasında boşluk olmamalıdır. Postfix 3.4 veya 3.5’te, bunun yerine dışlama biçimini kullanın: smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1.
- master.cf dosyasında, bir -o geçersiz kılmasında = etrafında boşluk yoktur (örneğin -o smtpd_tls_security_level=encrypt), ancak main.cf dosyasında anahtar = değer şeklinde boşluklarla yazarsınız.
İsteğe bağlı: 465 numaralı portta örtük TLS. Birçok modern istemci, oturumun tamamını baştan TLS ile sarmalayan 465 (SMTPS / “submissions”) numaralı portu tercih eder. RFC 8314, bunu 587 ile birlikte destekler. Bunu sunmak için, master.cf dosyasında sarmalayıcı modu ile smtps hizmetini etkinleştirin:
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
Adım 4: Postfix’i yeniden yükleyin
Yeniden yüklemeden önce, yapılandırmayı sözdizimi hataları için kontrol etmek iyi bir uygulamadır:
sudo postfix check
Bu komut hiçbir şey döndürmezse, değişiklikleri uygulayın. Yeniden yükleme, etkin bağlantıları kesintiye uğratmadan yapılandırmayı yeniden okur:
sudo systemctl reload postfix
systemd bulunmayan sistemlerde, karşılık gelen komut şudur:
sudo postfix reload
Adım 5: Sertifikayı doğrulayın
OpenSSL ile Postfix’in doğru sertifikayı ve zinciri sunduğunu doğrulayın. yourdomain.com yerine posta sunucunuzun ana bilgisayar adını yazın:
openssl s_client -starttls smtp -connect yourdomain.com:25 -servername yourdomain.com </dev/null
| openssl x509 -noout -issuer -subject -dates
Çıktı, sunucu sertifikanızın konusunu, veren kuruluşunu (CA) ve geçerlilik tarihlerini göstermelidir. Bunun yerine gönderim hizmetini test etmek için portu 587 olarak değiştirin (o da STARTTLS kullanır) veya örtük TLS portu 465 için -starttls smtp kısmını çıkarıp doğrudan 465 numaralı porta bağlanın. Tebrikler, Postfix üzerinde bir SSL sertifikasını başarıyla kurdunuz.
SSL kurulumunuzu test edin
Sertifikayı kurduktan sonra, yapılandırmanızı hata veya güvenlik açıkları açısından taramanız akıllıca olur. SSL Checker aracımız, sertifikanızın ve kurulumunun her yönü hakkında size anlık raporlar sunar, böylece zincirin eksiksiz olduğunu ve protokollerin doğru şekilde yapılandırıldığını doğrulayabilirsiniz.
Postfix için en iyi SSL sertifikası nereden satın alınır?
Doğru yere geldiniz. SSL Dragon‘da, piyasadaki en düşük fiyatlardan en geniş SSL ürün yelpazelerinden birini sunuyoruz ve tüm sertifikalarımız Postfix posta aktarım aracıyla uyumludur.
Hangi sertifikayı seçeceğinizden emin değil misiniz? SSL Wizard aracımız, posta sunucunuz için doğru ürünü hızlı ve kolay bir şekilde bulmanızı sağlar.
Sıkça Sorulan Sorular
TLS, /etc/postfix/main.cf içinde yapılandırılır. Postfix 3.4 ve üzerinde, önerilen yönerge özel anahtarı, sunucu sertifikasını ve ara sertifikaları tutan tek bir PEM dosyasına işaret eden smtpd_tls_chain_files‘dir. Eski sürümlerde, bunun yerine smtpd_tls_cert_file (tam zincir sertifikası) ve smtpd_tls_key_file (özel anahtar) ayrı ayrı ayarlanır. 587 ve 465 numaralı portlara özel geçersiz kılmalar /etc/postfix/master.cf içinde yer alır.
smtpd_tls_chain_files için sıralama önce özel anahtar, sonra sunucu (son) sertifikası, ardından ara sertifika(lar) şeklindedir:cat privkey.key server.crt intermediate.pem > /etc/postfix/rsachain.pem
Sıralama yanlışsa, Postfix zinciri yükleyemez. Kök CA sertifikasını dahil etmeyin; istemciler ona zaten güveniyor.
25 numaralı port üzerinden gelen posta için may (fırsatçı TLS) kullanın. Herkese açık bir MX, TLS’yi desteklemeyen göndericilerden gelen postaları kabul etmelidir ve encrypt onları reddeder, bu da postaların kaybolmasına yol açar. encrypt (zorunlu TLS) ayarını, yalnızca kendi kullanıcılarınızın bağlandığı 587 numaralı porttaki kimliği doğrulanmış gönderim hizmeti için ayırın.
Sertifika ve TLS değişiklikleri için yeniden yükleme yeterlidir; sudo systemctl reload postfix (veya sudo postfix reload) komutunu çalıştırın. Yeniden yükleme, etkin bağlantıları kesmeden yapılandırmayı yeniden okur. Sözdizimi hatalarını etkinleşmeden önce yakalamak için önce sudo postfix check komutunu çalıştırın.
OpenSSL ile bağlanın ve Postfix’in STARTTLS üzerinden sunduğu sertifikayı okuyun:openssl s_client -starttls smtp -connect yourdomain.com:25 -servername yourdomain.com </dev/null | openssl x509 -noout -issuer -subject -dates
Bu, sertifikanın konusunu, veren kuruluşunu ve geçerlilik tarihlerini yazdırır. Zincirin eksiksiz olduğunu doğrulamak için SSL araçlarımızla tam bir tarama da yapabilirsiniz.
Sonuç
Postfix üzerinde bir SSL sertifikası kurmak, tam zincirli bir PEM dosyası oluşturmak, main.cf dosyasını smtpd_tls_chain_files (veya eski smtpd_tls_cert_file / smtpd_tls_key_file çifti) ile bu dosyaya yönlendirmek, gelen posta için smtpd_tls_security_level = may ayarını yapmak, 587 numaralı porttaki gönderim hizmetini güçlendirmek, yapılandırmayı sudo postfix check ile kontrol etmek ve Postfix’i yeniden yüklemekten ibarettir.
Önce bir sertifikaya mı ihtiyacınız var? SSL sertifikalarımıza göz atın.
Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!
Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10


