Bu kılavuzda, ACME + EAB‘yi destekleyen ticari sağlayıcıları kullanarak posta sunucularına, özellikle Postfix, Dovecot ve isteğe bağlı olarak Exim‘e bir ACME SSL sertifikasının nasıl yükleneceğini öğreneceksiniz. ACME hesabınızı kaydetmek, posta ana bilgisayar adınız için bir sertifika vermek ve ardından bu sertifikayı doğrudan posta sunucunuzun TLS yapılandırmasına eklemek için acme.sh dosyasını kullanacağız.

Bu kılavuzda Linux tabanlı bir posta sunucusu ve EAB kimlik bilgileriyle (Anahtar Kimliği + HMAC) birlikte ACME dizin URL’si sağlayan ticari bir CA varsayılmaktadır. Posta ortamları dağıtımlar ve barındırma kurulumları arasında farklılık gösterdiğinden, bunu açık ve güvenilir bir plan olarak kabul edin, ancak her zaman kendi sunucunuzun yollarını, hizmet adlarını ve TLS ayarlarını kontrol edin.
Başlamadan Önce
Bu temel bilgiler hazırsa çok daha sorunsuz bir zaman geçireceksiniz:
- Posta sunucunuzu işaret eden bir A/AAAA kaydı ile mail .example.com gibi bir posta ana bilgisayar adı
- Bu ana bilgisayar adına işaret eden MX kaydınız (yaygın kurulum)
- sudo veya root ile posta sunucusuna kabuk/SSH erişimi
- Bir ACME dizin URL’si(örn. https://acme.yourca.com/v2/acme), EAB Anahtar Kimliği ve EAB HMAC anahtarı sağlayan ticari bir CA hesabı
- Posta yığını: SMTP için Postfix/Exim ve IMAP/POP3 için Dovecot
DNS-01 doğrulamasını kullanacağız çünkü posta sunucunuz genel bir web sitesi çalıştırmadığında bile çalışır ve genellikle üretimde tercih edilir.
Adım 1: Posta Sunucusuna acme.sh dosyasını yükleyin
ACME istemcisini doğrudan posta sunucusuna kuracaksınız, böylece sertifikaları yenileyebilir ve Postfix/Dovecot/Exim’in okuyabileceği diske yazabilir.
Posta sunucusunda:
curl https://get.acme.sh | sh
source ~/.bashrc
acme.sh --version
Bir sürüm numarası görürseniz, istemci yüklenmiş ve hazır demektir. source ~/.bashrc satırı çalışmazsa, oturumu kapatıp tekrar açın ve acme.sh --version adresini tekrar çalıştırın.
Adım 2: ACME Hesabınızı Kaydedin (EAB ile)
Ardından, panellerindeki EAB kimlik bilgilerini kullanarak ACME hesabınızı ticari CA’nıza kaydetmeniz gerekir. acme.sh, --eab-kid ve --eab-hmac-key aracılığıyla EAB’yi destekler.
Bunu posta sunucusunda çalıştırın:
acme.sh --register-account \
--server https://acme.yourca.com/v2/acme \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
Değiştirin:
https://acme.yourca.com/v2/acmeCA’nızın ACME dizini URL’si ileYOUR_EAB_KIDAnahtar Kimliği ileYOUR_EAB_HMAC_KEYHMAC anahtarı ile[email protected]süre sonu bildirimleri için gerçek yönetici e-postanızla
Bunu hesap başına bir kez yaparsınız. Komut başarısız olursa, neredeyse her zaman URL veya EAB değerlerinde bir yazım hatası olur.
Adım 3: Sertifikayı DNS-01 üzerinden yayınlayın
Şimdi kullanıcılarınızın bağlanacağı ana bilgisayar adı için bir sertifika talep edin, örneğin mail.example.com (veya imap.example.com, smtp.example.com. İstemci yapılandırmalarında gerçekten kullandığınızı seçin).
Sertifikayı yayınlayın (manuel DNS)
Koş:
acme.sh --issue \
-d mail.example.com \
--dns dns_manual \
--server https://acme.yourca.com/v2/acme
--dns dns_manual acme.sh adresine DNS panelinizde TXT kayıtlarını manuel olarak ekleyeceğinizi söyler.
İstemci aşağıdaki gibi bir çıktı verecektir:
Please add a TXT record:
_acme-challenge.mail.example.com → some-long-token-value
TXT kaydını ekleyin
DNS sağlayıcınızın panelinde bir TXT kaydı oluşturun:
- İsim:
_acme-challenge.mail.example.com - Değer: tarafından gösterilen belirteç
acme.sh
DNS’in yayılması için birkaç dakika bekleyin, ardından ile doğrulayın:
dig TXT _acme-challenge.mail.example.com +short
Belirteci orada görürseniz, doğrulamayı tamamlamak için acme.sh --issue komutunu tekrar çalıştırın. Başarılı olduğunda, acme.sh dosyalarınızı ~/.acme.sh/mail.example.com/ altında saklar.
Bu dizinin içinde en azından
- fullchain.cer – sertifika artı ara zincir
- mail.example.com.key – özel anahtar
- ca.cer – CA sertifikaları (CA’nız bunu ayrıca sağlıyorsa)
Bunları sonraki adımlarda kullanacağız.
Adım 4: Postfix’i ACME Sertifikasını Kullanacak Şekilde Yapılandırma (SMTP)
Postfix ‘in yeni sertifikanızın ve anahtarınızın nerede olduğunu bilmesi gerekir. Postfix’teki TLS, smtpd_tls_cert_file ve smtpd_tls_key_file gibi seçeneklerle kontrol edilir.
İlk olarak, dosyaları sabit bir konuma kopyalayın, örneğin:
sudo mkdir -p /etc/ssl/mail
sudo cp ~/.acme.sh/mail.example.com/fullchain.cer /etc/ssl/mail/mail-fullchain.cer
sudo cp ~/.acme.sh/mail.example.com/mail.example.com.key /etc/ssl/mail/mail.key
sudo chown root:root /etc/ssl/mail/*
sudo chmod 600 /etc/ssl/mail/mail.key
Sonra Postfix’e bunları kullanmasını söyleyin:
sudo postconf -e 'smtpd_use_tls = yes'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/mail/mail-fullchain.cer'
sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/mail/mail.key'
sudo postconf -e 'smtp_tls_security_level = may'
smtpd_*ayarlar gelen postaları kontrol eder (size posta gönderen istemciler)smtp_*ayarlar giden postayı kontrol eder (sunucunuzun başkalarına posta göndermesi)
Değişiklikleri uygulayın:
sudo systemctl restart postfix
Eğer dağıtımınız hala service kullanıyorsa, komutu buna göre ayarlayın.
Adım 5: Dovecot’u ACME Sertifikasını Kullanacak Şekilde Yapılandırma (IMAP/POP3)
Dovecot IMAP ve POP3 ile ilgilenir. TLS’yi ssl_cert ve ssl_key adreslerini az önce hazırladığımız aynı dosyalara yönlendirerek yapılandırırsınız.
Dovecot’un SSL yapılandırmasını açın:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Bu satırları güncelleyin (veya ekleyin):
ssl = yes
ssl_cert = </etc/ssl/mail/mail-fullchain.cer
ssl_key = </etc/ssl/mail/mail.key
Dosyayı kaydedin ve Dovecot’u yeniden yükleyin:
sudo systemctl restart dovecot
Artık TLS üzerinden IMAP/POP3 aynı ticari ACME sertifikasını sunacaktır.
İsteğe bağlı: Exim’de Aynı Sertifikayı Kullanın
Posta sunucunuz olarak Postfix yerine Exim kullanıyorsanız, entegrasyon benzerdir. Exim, TLS için tls_certificate ve tls_privatekey seçeneklerini kullanır.
Exim yapılandırmanızda (yol dağıtıma bağlıdır, genellikle /etc/exim4/exim4.conf.template veya /etc/exim4/conf.d/ altında split config), ayarlayın:
tls_certificate = /etc/ssl/mail/mail-fullchain.cer
tls_privatekey = /etc/ssl/mail/mail.key
Sonra Exim’i yeniden yükleyin:
sudo systemctl restart exim4
Hizmet adı biraz farklıysa dağıtım pacakge dokümanlarınızı kontrol edin.
Adım 6: Posta TLS’nizi Test Edin
OpenSSL yüklü başka bir makineden test yapabilirsiniz.
SMTP’yi test edin (Postfix veya Exim)
openssl s_client -starttls smtp -connect mail.example.com:587 -showcerts
IMAP’i Test Edin (Dovecot)
openssl s_client -starttls imap -connect mail.example.com:143 -showcerts
Çıktı ticari CA’nızı gösteriyorsa ve ana bilgisayar adı eşleşiyorsa, sorun yok demektir.
Adım 7: Yenileme ve Yeniden Yüklemeyi Otomatik Tutun
acme.sh zaten günlük yenilemeleri kontrol eden bir cron işi yükler. Sertifikanızın süresi dolmaya yaklaştığında, otomatik olarak yenilenecek ve ~/.acme.sh/mail.example.com/ adresindeki dosyaları güncelleyecektir.
Postfix/Dovecot/Exim’in her zaman en son sürümü kullanmasını sağlamak için iki seçeneğiniz vardır:
- Yapılandırmaları doğrudan ~/.acme.sh/mail.example.com/
adresindeki dosyalara yönlendirin (örn. smtpd_tls_cert_file = /root/.acme.sh/mail.example.com/fullchain.cer) ve yalnızca root’un bunları okuyabildiğinden emin olun. - Yenilenen dosyaları
/etc/ssl/mail/adresine kopyalayan ve sunucuyu yeniden başlatan veya yeniden yükleyen küçük bir dağıtım betiği yazın.
Bir senaryo örneği:
#!/usr/bin/env bash
DOMAIN="mail.example.com"
SRC="$HOME/.acme.sh/$DOMAIN"
DEST="/etc/ssl/mail"
sudo cp "$SRC/fullchain.cer" "$DEST/mail-fullchain.cer"
sudo cp "$SRC/$DOMAIN.key" "$DEST/mail.key"
sudo chown root:root "$DEST/"*
sudo chmod 600 "$DEST/mail.key"
sudo systemctl restart postfix dovecot
Bu komut dosyası yeni verilen ACME sertifikasını ve özel anahtarı sunucunuzun posta SSL dizinine kopyalar, doğru sahiplik ve izinleri ayarlar ve ardından Postfix ve Dovecot’u yeniden başlatarak güncellenmiş sertifikayı hemen kullanmaya başlamalarını sağlar. Yer tutucular yerine kimlik bilgilerinizi kullanın.
Ardından acme.sh adresine bağlayın:
acme.sh --install-cert -d mail.example.com \
--key-file ~/.acme.sh/mail.example.com/mail.example.com.key \
--fullchain-file ~/.acme.sh/mail.example.com/fullchain.cer \
--reloadcmd "/path/to/your/deploy-script.sh"
Bundan sonra yenilemeler otomatik olarak gerçekleşir.
Sık Sorulan Sorular ve Sorun Giderme
Bunu ilk kez yaptığınızda birkaç sorunla karşılaşabilirsiniz. İşte bunlarla hızlı bir şekilde nasıl başa çıkacağınız.
ACME doğrulaması neden “yetkisiz” veya “geçersiz yanıt” ile başarısız oluyor?
Bu, CA DNS TXT kaydınızı doğrulayamadığında gerçekleşir. Bunu kontrol edin:
- TXT kaydı tam olarak
_acme-challenge.mail.example.com - Belirteçte fazladan tırnak veya boşluk yoktur
- DNS yayıldı (
dig TXT _acme-challenge.mail.example.com +short) - mail.example.com ile example.com‘u karıştırmadınız
Emin değilseniz, TXT kaydını silin, acme.sh --issue adresini yeniden çalıştırın ve ACME’nin size verdiği tam değeri yeniden ekleyin.
Neden “accountDoesNotExist” veya EAB ile ilgili hatalar alıyorum?
Bunlar, ACME hesap kaydınız CA’nızdan gelen EAB kimlik bilgileriyle eşleşmediğinde görünür.
Düzelt:
- ACME dizin URL’sini yeniden kontrol etme (üretim ve hazırlık)
- Anahtar Kimliği ve HMAC’in gizli boşluklar olmadan tam olarak kopyalandığından emin olmak
- Kayıt komutunun doğru değerlerle bir kez yeniden çalıştırılması
Ticari CA’lar, düzenledikleri profille eşleşmeyen tüm EAB kayıtlarını reddeder.
SMTP/IMAP neden hala eski sertifikayı gösteriyor?
Bu, hizmetin yeni sertifikayı yeniden yüklemediği veya farklı bir yoldan okuduğu anlamına gelir. Kontrol edin:
- Postfix/Dovecot/Exim’deki TLS yolları gerçek dosyalarla eşleşir
- Doğru hizmeti yeniden başlattınız (
systemctl restart postfix dovecot exim4) - Eski sertifikaya hizmet veren ikinci bir örnek, kapsayıcı veya proxy yok
Kullanarak canlı sertifikayı doğrulayabilirsiniz:
openssl s_client -connect mail.example.com:465 -servername mail.example.com
Son Sözler
Bu kurulumla, posta sunucunuz SMTP ve IMAP/POP3 istemcilerine uygun bir ticari ACME sertifikası sunarken, acme.sh arka planda yenilemeleri sessizce gerçekleştirir. Sertifika zinciri ve dosya adları üzerinde tam kontrole sahip olursunuz, kullanıcılarınız güvenlik uyarıları görmez ve birkaç ayda bir oturum açıp yeni dosyaları elle yüklemek zorunda kalmazsınız.
Bunu bir kez yaptıktan sonra, aynı ACME hesabını ve işlemini kullanarak diğer ana bilgisayar adları, ikincil MX sunucuları veya ek posta yığınları için aynı modeli tekrarlayabilirsiniz.
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

