Çarşamba, Temmuz 02, 2008

Apache Sunucuda SSL Ayarları


<VirtualHost sunucu.testdomain.com.tr:443>
ServerAdmin admin@testdomain.com.tr
DocumentRoot /var/www/html/pfn
ServerName sunucu.testdomain.com.tr
Oluşturulan sanal sunucu için temel ayarlar.
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/testdomain-wildcard.cer
SSLCertificateKeyFile /etc/pki/tls/private/testdomain-wildcard.key
SSL fonksiyonunun aktive edilmesi ve kullanılacak sertifikanın ve gizli anahtarının yerinin tanımlanması.
Options All
SSLVerifyClient require
SSLVerifyDepth 2
SSLCACertificatePath /etc/pki/tls/certs/
SSLCACertificateFile /etc/pki/tls/certs/ca-kok-bundle.pem
LimitRequestBody +1024000000
Client site authentication yapılacağının tanımlanması. Kullanılacak kök sertifika dosyasının ve sertifika dosyasının yolunun tanımlanması yapılır.
<Location />
SSLRequire %{SSL_CLIENT_S_DN_O} in {"ABC", "ABC 1"}
</Location>
Client sertifikalarında yer alan bazı alanlara göre filtreleme yapılabilmektedir. Burada (O)rganization alanunın ABC ve ABC1 olan sertifikalara izin verilmesi için tanım yapılmıştır.
SSLProxyEngine on
ProxyPass / https://pfn.testdomain.com.tr/
ProxyPassReverse / https://pfn.testdomain.com.tr/
Proxy motory aktive edilerek talepler tanımlanan ikinci bir sanal sunucuya yönlendirilmiştir (pfn.testdomain.com.tr). Bu sunucu adının bir DNS kaydı yoktur ve normalde dışarıdan erişilemez. Bu tanım özellikle SSL üzerinden dosya yükleme işlemi için önemlidir. Normalde SSL tunel üzerinden ancak 128k boyutunda dosyalar yüklenebilmektedir. Bunu aşmak için dışarıdan erişilemeyen bir iç sunucuya yapılan yönlendirme ile aşılmıştır.
ErrorLog logs/filemng-ssl-error_log
CustomLog logs/filemng-ssl-access_log common
</VirtualHost>
Kayıtların tutulacağı dosyalar tanımlanıp, sanal sunucu kapatılır.
<VirtualHost sunucu.testdomain.com.tr:80>
ServerAdmin admin@testdomain.com.tr
DocumentRoot /var/www/html
ServerName sunucu.testdomain.com.tr

RedirectMatch ^/.* https://sunucu.testdomain.com.tr
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

ErrorLog logs/filemng-error_log
CustomLog logs/filemng-access_log common
</VirtualHost>
sunucu.testdomain.com.tr adresinin 80 portuna gelen isteklerin 443 nolu porttan hizmet veren sanal sunucuya yönlendirilmesi sağlanmaktadır. Ayrıca TRACE ve TRACK metodları da suncu üzerinde kapatılmıştır.
<VirtualHost pfn.testdomain.com.tr:443>
ServerName pfn.testdomain.com.tr
ServerAdmin admin@testdomain.com.tr
DocumentRoot /var/www/html/pfn

SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/testdomain-wildcard.cer
SSLCertificateKeyFile /etc/pki/tls/private/testdomain-wildcard.key

ErrorLog logs/pfn-error_log
CustomLog logs/pfn-access_log common
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>
Dışa kapalı sanal sunucu tanımlanmış ve gerekli diğer tanımlar yapılmıştır.

Hiç yorum yok: