bg-tutorials

Pound Üzerine SSL Sertifikası Nasıl Kurulur

Bu kılavuz, hafif HTTP/HTTPS ters proxy’si olan Pound üzerinde bir SSL/TLS sertifikasının nasıl kurulacağını göstermektedir. En çok operatörü şaşırtan kısmı ele alır: Pound’un beklediği tek birleşik PEM dosyasını doğru sırayla oluşturmak, ardından eski protokolleri devre dışı bırakan, Pound’u bir arka uca yönlendiren ve hizmeti yeniden başlatmadan önce yapılandırma kontrolünden geçen çalışan bir ListenHTTPS bloğu yazmak.

Bu kılavuzun hangi Pound’u hedeflediği konusunda kısa bir not: Orijinal Apsis Pound projesi Eylül 2022’de sonlandırıldı. Aktif geliştirme, Sergey Poznyakoff tarafından sürdürülen ve github.com/graygnuorg/pound adresinde bulunan çatallanmış sürüme taşındı; bu sürüm artık kanonik üst kaynak (upstream) ve güncel Linux dağıtımları tarafından paketlenen sürümdür. Aşağıdaki yönergeler, modern 4.x serisiyle eşleşmektedir.

Pound için CSR Oluşturma

CSR’nizi zaten oluşturduysanız ve verilen sertifika dosyalarına sahipseniz, Pound üzerine SSL sertifikası kurma bölümüne geçebilirsiniz.

Bir Sertifika Yetkilisi sertifikanızı vermeden önce, bir CSR (Sertifika İmzalama Talebi) göndermeniz gerekir: alan adı bilgilerinizi ve bir açık anahtarı içeren, sunucuda kalan bir özel anahtarla eşleştirilmiş küçük bir metin bloğu. İki seçeneğiniz vardır:

  • CSR’yi CSR Generator aracımızla otomatik olarak oluşturun. Bu araç, hem CSR’yi hem de eşleşen özel anahtarı döndürür; bunları daha sonra sunucuya taşırsınız.
  • CSR’yi OpenSSL ile sunucunun kendisinde oluşturun; bunun için Pound üzerinde CSR oluşturma eğitimimizi takip edin. Özel anahtar sunucuda kalır.

Sertifika için başvururken, —–BEGIN CERTIFICATE REQUEST—– ve —–END CERTIFICATE REQUEST—– satırları dahil olmak üzere tam CSR bloğunu yapıştırın. Göndermeden önce CSR içeriğini onaylamak isterseniz, CSR çözücümüze yapıştırın. Eşleşen özel anahtar dosyasını (genellikle yourdomain.key) güvenli bir yerde ve sadece root tarafından okunabilir şekilde saklayın; kurulum sırasında bu dosyaya ihtiyacınız olacak.

SSL Sertifikasını Pound Üzerine Kurma

CA sertifikayı verdiğinde, genellikle şunları alırsınız:

  • Birincil (sunucu) sertifikanız, genellikle alan adınızın adını taşıyan bir .crt veya .pem dosyası.
  • Ayrı dosyalar olarak veya tek bir .ca-bundle dosyasında paketlenmiş bir veya daha fazla ara (intermediate) sertifika.
  • CSR’nizle birlikte oluşturulan özel anahtar (bir .key dosyası).

Pound, sertifikayı, ara sertifika zincirini ve şifrelenmemiş özel anahtarı içeren tek bir PEM dosyası bekler. graygnuorg kılavuzu sıralama konusunda açıktır: önce sertifika, sonra ara sertifikalar (varsa), sonra özel anahtar, bu sıra ile. Zinciri atlamak, en yaygın kurulum hatasıdır: sertifika masaüstü tarayıcısında sorunsuz görünür, ancak Android’de, iOS’te ve komut satırı istemcilerinde başarısız olur.

Adım 1: Birleşik PEM Dosyasını Oluşturma

Bu kılavuz, sertifika dosyalarının /etc/pound/ içinde hazırlandığını varsaymaktadır. Yolları kendi düzeninize göre ayarlayın. Üç dosyayı tek bir PEM dosyasına birleştirin. Aşağıdaki pipe-to-tee deseni, yönlendirmeyi root ayrıcalıklarıyla çalıştırır; bu gereklidir çünkü /etc/pound/ genellikle sadece root tarafından yazılabilir (düz bir sudo cat … > /etc/pound/… başarısız olur, çünkü kabuk çıkış dosyasını sudo çalışmadan önce normal kullanıcınız olarak açar):

cat your_domain.crt intermediate.crt your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null

CA, ara sertifikaları tek bir .ca-bundle dosyası olarak gönderdiyse, bunun yerine şunu kullanın:

cat your_domain.crt your_domain.ca-bundle your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null

Dosya adlarını kendinizinkiyle değiştirin. Birleşik dosya içindeki özel anahtar şifrelenmemiş olmalıdır, çünkü Pound etkileşimsiz olarak başlar ve bir parola sormaz. Oluşan dosyayı sadece root’un okuyabileceği şekilde kilitleyin:

sudo chown root:root /etc/pound/your_domain.pem
sudo chmod 600 /etc/pound/your_domain.pem

Adım 2: pound.cfg Dosyasını Düzenleme

Pound yapılandırma dosyasını açın (Debian ve Ubuntu’da genellikle /etc/pound/pound.cfg, bazı diğer dağıtımlarda /etc/pound.cfg) ve birleşik PEM dosyasına işaret eden bir ListenHTTPS bloğu ekleyin. Minimal modern bir blok şu şekilde görünür:

ListenHTTPS
    Address 0.0.0.0
    Port 443
    Cert "/etc/pound/your_domain.pem"

    # Modern TLS only: disables SSLv2, SSLv3, TLSv1.0 and TLSv1.1,
    # leaving TLSv1.2 and TLSv1.3 enabled.
    Disable TLSv1_1
    Ciphers "ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5:!DSS"

    Service
        Backend
            Address 127.0.0.1
            Port 8080
        End
    End
End

Yukarıdaki yönergeler hakkında birkaç not:

  • Cert, Adım 1’de oluşturduğunuz birleşik PEM dosyasını sağlar. Kılavuz, Cert‘in dinleyici içindeki diğer tüm SSL’e özgü yönergelerden önce gelmesi gerektiğini açıkça belirtir, bu nedenle onu bloğun en üstünde tutun.
  • Disable, adı geçen protokolü ve ondan daha eski her protokolü kapatır. Bu nedenle Disable TLSv1_1, SSLv2, SSLv3, TLSv1.0 ve TLSv1.1’i devre dışı bırakır, TLSv1.2 ve TLSv1.3’ü aktif bırakır ki bu da güncel sektör önerileriyle uyumludur.
  • Ciphers, OpenSSL şifreleme listesini ayarlar (TLS 1.2 için kullanılır; TLS 1.3 kendi şifreleme paketlerini müzakere eder). Yukarıdaki liste, proxy’yi AEAD ile modern ECDHE paketlerine kısıtlar; daha eski istemcileri desteklemeniz gerekiyorsa, ssl-config.mozilla.org adresindeki Mozilla “intermediate” profilini kullanabilirsiniz.
  • Service / Backend, Pound’un şifresi çözülmüş trafiği proxy’lediği yerdir. Örnek, loopback arayüzünde (port 8080) tek bir arka uca yönlendirir; adresi ve portu uygulamanızın dinlediği şeyle değiştirin ve Pound’un yük dengelemesi yapmasını istiyorsanız daha fazla Backend bloğu ekleyin.

Pound’un düz HTTP’yi de kabul etmesini ve iletmesini istiyorsanız (tipik olarak sadece HTTPS’e yönlendirme için, bkz. Adım 4), aynı dosyaya ayrı bir ListenHTTP bloğu ekleyin.

Adım 3: Yapılandırmayı Kontrol Etme ve Pound’u Yeniden Başlatma

Hizmeti yeniden yüklemeden önce, bir yazım hatasının proxy’yi çevrimdışı bırakmaması için yapılandırma dosyasını doğrulayın. Pound’un yerleşik bir kontrol modu vardır:

sudo pound -c -f /etc/pound/pound.cfg

Başarılı olursa durum 0 ile çıkar ve hiçbir şey yazdırmaz, başarısız olursa durum 1 ile birlikte dosya ve satır bilgisi içeren bir hata mesajı verir. Açık bir “yapılandırma OK” onayı istiyorsanız -v ekleyin. Kontrol geçtiğinde, Pound’u yeni dinleyiciyi algılaması için yeniden başlatın:

sudo systemctl restart pound

systemd bulunmayan sistemlerde, bunun yerine eski init betiğini kullanın:

sudo /etc/init.d/pound restart

Hizmetin çalıştığını ve 443 numaralı portu dinlediğini doğrulayın:

sudo systemctl status pound
sudo ss -tlnp | grep ':443'

Adım 4 (önerilir): HTTP’yi HTTPS’e Yönlendirme

Düz alan adını yazan ziyaretçilerin güvenli URL’de sonlanmasını sağlamak için, her isteğe aynı yolun HTTPS sürümüne kalıcı bir yönlendirme ile yanıt veren düz bir HTTP dinleyicisi ekleyin:

ListenHTTP
    Address 0.0.0.0
    Port 80
    Service
        Redirect 301 "https://example.com$1"
    End
End

example.com kısmını kendi alan adınızla değiştirin. $1 geri referansı, orijinal istek yolunu korur. sudo pound -c -f /etc/pound/pound.cfg‘yi tekrar çalıştırın, ardından hizmeti yeniden başlatın.

SSL Kurulumunu Test Etme

Sitenizi bir tarayıcıda https:// üzerinden açın ve kilit simgesinin kapalı olduğunu, sertifikanın alan adınızla eşleştiğini kontrol edin. Ardından, sertifika, zincir ve Pound’un sunduğu protokoller ve şifrelemeler hakkında anlık bir rapor için SSL Checker aracımızla daha derinlemesine bir tarama yapın. Orada temiz bir sonuç, mobil ve API istemcileri dahil olmak üzere tüm büyük platformlardaki istemcilerin sertifikaya güveneceği anlamına gelir.

Sıkça Sorulan Sorular

Hangi Pound’u kurmalıyım?

Orijinal Apsis projesi 2022’de terk edildi. Aktif olarak sürdürülen çatal, Sergey Poznyakoff tarafından geliştirilen ve şu anda 4.x serisinde olan graygnuorg/pound‘dur; ve bu, büyük Linux dağıtımlarının pound olarak paketlediği sürümdür. Eski 2.x serisinden bir şey çalıştırıyorsanız, güncel bir sürüme geçmeyi planlayın: bu kılavuzdaki yapılandırma yönergeleri modern çatalı varsaymaktadır.

Sertifika, zincir ve anahtar PEM dosyasında hangi sırayla gitmelidir?

Pound kılavuzuna göre: önce sunucu sertifikası, sonra ara sertifikalar (varsa), sonra özel anahtar, hepsi PEM kodlu, o tek dosyada. Özel anahtar parola korumalı olmamalıdır, çünkü Pound bir daemon olarak başlar ve bir parola sormasının bir yolu yoktur.

Pound’da eski TLS sürümlerini nasıl devre dışı bırakırım?

Use the Disable directive inside the ListenHTTPS block. Pound’s Disablei adı geçen protokolü ve ondan daha eski her protokolü kapatır, dolayısıyla Disable TLSv1_1, SSLv2, SSLv3, TLSv1.0 ve TLSv1.1’i devre dışı bırakır, sadece TLSv1.2 ve TLSv1.3’ü bırakır. Bu, yeni dağıtımlar için önerilen ayardır.

Aynı Pound örneğinde birden fazla HTTPS sitesini barındırabilir miyim?

Evet. Pound, SNI’yi destekler, bu nedenle aynı ListenHTTPS dinleyicisi içinde birden fazla Cert ifadesi tanımlayabilirsiniz (veya Cert‘i PEM dosyalarından oluşan bir dizine yönlendirebilirsiniz). Pound, sertifikaları sırayla dolaşır ve Ortak Adı (Common Name) veya SAN’ı istenen ana bilgisayar adıyla eşleşen ilk sertifikayı sunar, bu nedenle daha spesifik sertifikaları (ana bilgisayar adlarını) joker karakterlerden önce listeleyin.

Pound yapılandırmasını yeniden başlatmadan nasıl test ederim?

Run sudo pound -c -f /etc/pound/pound.cfg komutunu çalıştırın. -c bayrağı, yapılandırma dosyasını sözdizimi hataları için kontrol eder ve proxy’yi başlatmadan çıkar; çıkış durumu 0 OK anlamına gelir, durum 1 bir hata olduğu anlamına gelir (mesaj size hangi dosya ve satır olduğunu söyler). Açık bir başarı mesajı için -v ekleyin.

Sertifikayı ne sıklıkla yenilemem gerekir?

15 Mart 2026 itibarıyla, kamuya açık güvenilir SSL/TLS sertifikaları 200 gün ile sınırlandırılmıştır ve CA/Browser Forumu daha fazla azaltma planlamıştır (2027’de 100 güne ve 2029’da 47 güne). Her son kullanma tarihinden önce yukarıdaki kurulumu tekrarlamayı planlayın veya ACME ile yenilemeleri otomatikleştirin.

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

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.