Apache SSL Sertifikası kurulumu ile web güvenliği, günümüzün dijital dünyasında büyük önem taşır. Özellikle kullanıcı verilerini koruma ve gizliliği sağlama gerekliliği, web yöneticilerini SSL (Secure Sockets Layer) sertifikalarını kullanmaya yönlendirmektedir. SSL sertifikası, web siteleri ile kullanıcılar arasındaki veri akışını şifreleyerek güvenli bir ortam sağlar. Bu makalede, Apache web sunucusuna SSL sertifikası kurulumu adım adım ele alınacaktır.
Sunucularda istemci arasında gerçekleşen veri trafiğini şifreleyerek güvenli bir iletişim kanalı oluşturmak için SSL sertifikası kurulur. SSL sertifikası kurulu bir web sitesi, HTTPS protokolünü kullanır. Ve bu sayede tarayıcı ile sunucu arasındaki veri alışverişi güvence altına alınır. SSL sertifikaları genellikle web sitelerinin kimlik doğrulamasını sağlar ve kullanıcı güvenini artırır.
Apache Web Sunucusunda SSL Kurulumu
Apache nedir?AMP Web sunucusunda SSL sertifikası kurulumu, birkaç temel adımdan oluşur. Bu süreçte, öncelikle bir SSL sertifikası edinilmesi ve ardından Apache sunucusunun yapılandırılmasıAMP gerekir.
Apache SSL Sertifikası kurulumu için öncelikle güvenilir bir sertifika otoritesinden (CA) SSL sertifikası temin edilmelidir. SSL sertifikaları, genellikle üç ana kategoride sunulur: Domain Validated (DV), Organization Validated (OV) ve Extended Validation (EV). İhtiyacınıza uygun sertifika türünü seçtikten sonra, sertifika otoritesinden bir sertifika isteği (CSR) oluşturmanız gerekir.
CSR, SSL sertifikasının oluşturulması için gerekli bilgileri içeren bir dosyadır. Apache üzerinde CSR oluşturmak için aşağıdaki komutu kullanabilirsiniz:
openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr
Bu komut, 2048 bitlik bir RSA anahtarı oluşturur ve ardından CSR dosyasını oluşturur. CSR dosyası, sertifika otoritesine gönderilerek SSL sertifikası talep edilir.
SSL Sertifikasının Kurulması: Sertifika otoritesi tarafından sağlanan SSL sertifikasını aldıktan sonra, bu sertifika Apache sunucusuna kurulmalıdır. Bunun için Apache’nin SSL modülünün etkinleştirilmesi gerekir:
sudo a2enmod ssl
Ardından, SSL sertifikasının bulunduğu dizin belirtilmelidir. Apache yapılandırma dosyasına aşağıdaki satırları ekleyerek SSL sertifikası tanımlanır:
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
SSLCertificateChainFile /etc/ssl/certs/chain.crt
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Bu yapılandırma, Apache’nin SSL bağlantılarını yönetmesini sağlar. Sertifika dosyalarının doğru dizinlerde olduğundan emin olunmalıdır.
Apache Sunucusunun Yeniden Başlatılması:
SSL sertifikası ve yapılandırma dosyaları doğru bir şekilde ayarlandıktan sonra, Apache sunucusunun yeniden başlatılması gerekir:
sudo systemctl restart apache2
Sunucu yeniden başlatıldığında, Apache web sunucusu SSL desteği ile çalışmaya başlar. Ve kullanıcılar web sitenize güvenli bir şekilde bağlanabilirler.
SSL Sertifikasının Test Edilmesi
SSL kurulumu tamamlandıktan sonra, web sitenizin SSL bağlantısının doğru çalışıp çalışmadığını test etmelisiniz. Bunu yapmak için tarayıcıda web sitenizin URL’sini “https://” ile başlayarak girebilir. Ve kilit simgesinin olup olmadığını kontrol edebilirsiniz. Ayrıca, SSL Labs gibi çevrimiçi araçlar kullanarak SSL sertifikanızın doğru kurulduğunu ve güvenli olduğunu doğrulayabilirsiniz.
Apache web sunucusunda SSL kurulumu, web sitenizin güvenliğini artırmak için atılması gereken önemli bir adımdır. Burada SSL sertifikasının edinilmesinden, Apache sunucusuna kurulmasına kadar olan süreç detaylı bir şekilde ele alınmıştır. Web sitenizde güvenli bir ortam sağlamak, kullanıcı güvenini artırmak ve yasal gerekliliklere uyum sağlamak için SSL sertifikasını etkin bir şekilde kullanmanız önerilir.
slm “AH01909: RSA certificate configured for [domain]:443 does NOT include an ID which matches the server name” diye bir hata alıyorum. Bu sorunu nasıl çözerbilirim? cvp verirseniz çok sevinirim.
Merhaba,
Bu hata, Apache web sunucusu üzerinde SSL yapılandırmasında, sunucunun yapılandırılmış olan sertifika ile sunucu adının (ServerName veya ServerAlias) uyuşmadığını belirtir. Hatanın nedeni, SSL sertifikasında belirtilen alan adı ile Apache konfigürasyon dosyasında belirtilen sunucu adının eşleşmemesidir. Bu sorunu çözmek için aşağıdaki adımları izleyebilirsiniz:
Adım 1: Sertifikadaki Alan Adını Kontrol Edin
Öncelikle SSL sertifikanızın alan adlarını kontrol etmeniz gerekir. Sertifika, sunucu adını (Common Name veya Subject Alternative Name) içeriyor mu? Sertifika, belirli bir alan adına (örneğin http://www.example.com) veya bir wildcard sertifikasına (*.example.com) sahip olmalıdır.
Sertifika bilgilerini kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
openssl x509 -in /path/to/certificate.crt -text -noout
Bu komut, sertifikadaki CN (Common Name) ve SAN (Subject Alternative Name) bilgilerini görüntüler. Alan adlarının doğru olup olmadığını kontrol edin.
Adım 2: Apache Konfigürasyon Dosyasını Düzenleyin
Eğer SSL sertifikası doğruysa, Apache yapılandırma dosyasındaki sunucu adıyla (ServerName veya ServerAlias) sertifikadaki alan adını eşleştirmeniz gerekir. Apache’nin SSL sanal sunucu (VirtualHost) dosyasında, ServerName direktifinin doğru alan adıyla eşleştiğinden emin olun.
Yapılandırma dosyasını açın ve kontrol edin:
sudo nano /etc/apache2/sites-available/your-domain-ssl.conf
Şu satırı doğru alan adıyla güncelleyin:
ServerName your-domain.com
Eğer birden fazla alan adı varsa, ServerAlias kullanarak diğer adları da tanımlayabilirsiniz:
ServerAlias www.your-domain.com
Adım 3: SSL Sertifikası Yolu ve Doğruluğunu Kontrol Edin
Sertifika dosyasının doğru yol ve doğru sertifikayı işaret ettiğinden emin olun. Konfigürasyon dosyasındaki şu satırları kontrol edin:
SSLCertificateFile /path/to/your-certificate.crt
SSLCertificateKeyFile /path/to/your-privatekey.key
SSLCertificateChainFile /path/to/your-chainfile.crt (varsa)
Adım 4: Apache Konfigürasyonunu Test Edin ve Yeniden Başlatın
Değişiklikleri yaptıktan sonra, Apache yapılandırma dosyalarını test edin:
sudo apachectl configtest
Yapılandırma hatası olmadığından emin olduktan sonra Apache’yi yeniden başlatın:
sudo systemctl restart apache2
Adım 5: VirtualHost Bloklarının Doğru Yapılandırıldığından Emin Olun
Sanal sunucularınızda (VirtualHost) portların ve IP adreslerinin doğru yapılandırıldığından emin olun. SSL kullanıyorsanız, SSL sertifikasının 443 portuna doğru şekilde atanmış olması gerekir. Doğru sanal host bloğunu kontrol edin:
ServerName your-domain.com
SSLEngine on
SSLCertificateFile /path/to/your-certificate.crt
SSLCertificateKeyFile /path/to/your-privatekey.key
Bu adımlar sorunu çözmezse, Apache log dosyalarını inceleyerek daha fazla bilgi edinebilirsiniz:
sudo tail -f /var/log/apache2/error.log
Bu hata genellikle SSL sertifikası ve sunucu adı eşleşmemesi kaynaklıdır, yukarıdaki adımlar bu uyuşmazlığı gidererek sorunu çözecektir.