Doküman

HAProxy’de CA SSL Sertifikası Nasıl Yapılandırılır

HAProxy, TCP ve HTTP uygulamaları için yüksek kullanılabilirlik ve yük dengeleme özellikleri sunan, yaygın olarak kullanılan, güvenilir, yüksek performanslı bir ters proxy’dir. Varsayılan olarak OpenSSL ile derlenir, böylece SSL sonlandırmasını destekler, web sitenizin/uygulama yığınınızın “web giriş sunucunuz” veya uygulama erişim ağ geçidi sunucusu ve istemci uygulamaları arasındaki trafiği şifrelemesini ve şifresini çözmesini sağlar.

Bu yazı, HAporxy’de bir CA SSL sertifikasının nasıl yapılandırılacağını anlatır. Ayrıca, sertifikanızı CA’dan zaten aldığınızı ve sertifikayı bir HAProxy sunucusuna kurmaya ve yapılandırmaya hazır olduğunuzu varsayar.

İhtiyacımız olan dosyalar şunlardır:

  • Sertifikanın kendisi.
  • Ara sertifikalar ayrıca demetler veya zincirler olarak da adlandırılır ve.
  • Varsa kök CA ve.
  • Özel anahtar.

PEM biçimli bir SSL Sertifika Dosyası Oluşturun

CA sertifikanızı HAProxy’de yapılandırmadan önce, HAProxy’nin yukarıdaki tüm dosyaların içeriğini aşağıdaki sırayla birleştirilmiş olarak içermesi gereken tek bir .pem dosyası gerektirdiğini anlamanız gerekir:

  • .key ile biten özel anahtar (dosyanın başında veya sonunda gelebilir).
  • Ardından SSL Sertifikası gelir (genellikle .crt ile biter).
  • Ardından CA-Bundle(genellikle .ca-bundle ile biter) ve
  • Varsa kök CA.

.pem dosyasını oluşturmak için sertifika dosyalarınızın bulunduğu dizine gidin, örneğin ~/Downloads, ardından cat komutunu şu şekilde çalıştırın (dosya adlarını uygun şekilde değiştirin):

$ cat example.com.key STAR_example_com/STAR_example_com.crt STAR_example_com/STAR_example_com.ca-bundle > example.com.pem

HAProxy’de PEM SSL Sertifikasını Yapılandırma

Ardından, gösterildiği gibi scp komutunu kullanarak yeni oluşturulan .pem sertifika dosyasını HAProxy sunucusuna yükleyin (sırasıyla sysadmin ve 192.168.10.24’ü uzak sunucu kullanıcı adı ve IP adresiyle değiştirin):

$ scp example.com.pem  [email protected]:/home/sysadmin/

Ardından, mkdir komutunu kullanarak sertifika .pem dosyasının saklanacağı bir dizin oluşturun ve dosyayı buraya kopyalayın:

$ sudo mkdir -p /etc/ssl/example.com/
$ sudo cp example.com.pem /etc/ssl/example.com/

Ardından, HAProxy yapılandırma dosyanızı açın ve ssl ve crt parametrelerini kullanarak ön uç dinleyici bölümü altında sertifikayı yapılandırın: ilki SSL sonlandırmasını etkinleştirir ve ikincisi sertifika dosyasının konumunu belirtir.

frontend http_frontend
      mode http
      bind *:80
      bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1
     redirect scheme https code 301 if !{ ssl_fc }
      default_backend http_servers

SSL/TLS’nin belirli sürümleri, içlerinde bulunan güvenlik açıkları nedeniyle şu anda kullanılması önerilmez. Desteklenen SSL sürümünü sınırlamak için ssl-min-ver parametresini şu şekilde ekleyebilirsiniz:

bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1   ssl-min-ver TLSv1.2

HAProxy’yi HTTP’yi HTTPS’ye Yönlendirecek Şekilde Yapılandırın

Web sitenize yalnızca HTTPS aracılığıyla erişilebildiğinden emin olmak için, bir kullanıcının HTTP (port 80) üzerinden erişmeye çalışması durumunda tüm HTTP trafiğini HTTPS’ye yeniden yönlendirmek üzere HAProxy’yi etkinleştirmeniz gerekir.

Yukarıdaki yapılandırmaya aşağıdaki satırı ekleyin:

redirect scheme https code 301 if !{ ssl_fc }
veya
http-request redirect scheme https unless { ssl_fc }

Ön uç bölümünüz şimdi bu örnek yapılandırmadaki gibi görünmelidir:

frontend http_frontend
      mode http
      bind *:80
      bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1  ssl-min-ver TLSv1.2
      redirect scheme https code 301 if !{ ssl_fc }
      default_backend   http_servers

backend http_servers
      mode http
      balance roundrobin
      option httpchk HEAD /
      http-response set-header X-Frame-Options SAMEORIGIN
      http-response set-header X-XSS-Protection 1;mode=block
      http-response set-header X-Content-Type-Options nosniff
      default-server check maxconn 5000
      server http_server1 10.2.1.55:80

Yapılandırma dosyasını kaydedin ve kapatın.

Ardından, aşağıdaki komutu kullanarak sözdiziminin doğru olup olmadığını kontrol edin:

$ sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Check HAProxy Configuration
Check HAProxy Configuration

Yapılandırma dosyası geçerliyse, devam edin ve yapılandırmadaki son değişiklikleri almak için systemctl komutunu kullanarak haproxy hizmetini yeniden yükleyin:

$ sudo systemctl reload haproxy

Son olarak, bir web tarayıcısından web sitenize erişerek tüm kurulumu test edin ve sertifikanın düzgün yüklendiğinden ve tarayıcının “Bağlantının güvenli” olduğunu gösterdiğinden emin olun!

Check HAProxy Website
Check HAProxy Website

Bu kadar! Bu kılavuzun HAProxy yük dengeleyici yazılımında bir SSL sertifikası yapılandırmanıza yardımcı olduğunu umuyoruz.

Yazının orijinalini buradan okuyabilirsiniz.