Debian Sunucu Hazırlama- Sayfa 5 (Debian 9 (Stretch) ile Apache, BIND, Dovecot, PureFTPD ve ISPConfig 3.1)

Apache için Kendinden İmzalı SSL Sertifikası Nasıl Oluşturulur

1. Adım: SSL Sertifikasını Oluşturun

TLS / SSL, bir genel sertifika ve özel anahtarın bir bileşimini kullanarak çalışır. SSL anahtarı sunucuda gizli tutulur. İstemcilere gönderilen içeriği şifrelemek için kullanılır. SSL sertifikası, içeriği isteyen herkesle paylaşılır. İlişkili SSL anahtarı tarafından imzalanmış içeriği şifresini çözmek için kullanılabilir.

OpenSSL ile kendinden imzalı bir anahtar ve sertifika çifti oluşturabiliriz:

Bir dizi soru sorulacak. Bunu yapmadan önce, verdiğimiz komutta neler olduğuna bakalım:

openssl: Bu OpenSSL sertifikaları, anahtarları ve diğer dosyaları oluşturmak ve yönetmek için temel komut satırı aracıdır.
req: Bu alt komut, X.509 sertifika imzalama isteği (CSR) yönetimini kullanmak istediğimizi belirtir. “X.509”, SSL ve TLS’nin anahtar ve sertifika yönetimi için bağlı olduğu ortak bir anahtar altyapısı standardıdır. Yeni bir X.509 sertifikası oluşturmak istiyoruz, bu yüzden bu alt komutu kullanıyoruz.
-x509: Bu, normalde olduğu gibi bir sertifika imzalama isteği oluşturmak yerine kendinden imzalı bir sertifika yapmak istediğimiz yardımcı programa söyleyerek önceki alt komutu değiştirir.
-nodes: Bu, OpenSSL’e sertifikamızı bir parola ile güvenceye alma seçeneğini atlamasını söyler. Sunucu başlatıldığında, kullanıcı müdahalesi olmadan dosyayı okuyabilmek için Apache’ye ihtiyacımız var. Bir parola, bunun olmasını engelleyecektir çünkü her yeniden başlatmadan sonra girmemiz gerekecekti.
-days 365: Bu seçenek, sertifikanın geçerli sayılacağı süreyi ayarlar. Onu bir yıllığına ayarladık.
-newkey rsa: 2048: Bu, aynı zamanda yeni bir sertifika ve yeni bir anahtar oluşturmak istediğimizi belirtir. Sertifikayı önceki adımda imzalamak için gerekli anahtarı oluşturmadık, bu yüzden sertifikayla birlikte oluşturmamız gerekiyor. Rsa: 2048 kısmı, 2048 bit uzunluğunda bir RSA anahtarı yapmasını söyler.
-keyout: Bu satır, oluşturduğumuz oluşturulmuş özel anahtar dosyasının nereye yerleştirileceği OpenSSL’ye söyler.
-out: Bu, oluşturduğumuz sertifikayı nereye yerleştireceğimizi OpenSSL’ye bildirir.

Yukarıda belirttiğimiz gibi, bu seçenekler hem bir anahtar dosyası hem de bir sertifika oluşturacaktır. Sertifikada bilgileri doğru bir şekilde gömmek için sunucumuz hakkında birkaç soru sorulacak.

Çıktı

Oluşturduğunuz her iki dosya da / etc / ssl dizininin uygun alt dizinlerine yerleştirilir.

OpenSSL’yi kullanırken, müşterilerle Perfect Forward Secrecy’de pazarlık yaparken kullanılan güçlü bir Diffie-Hellman grubu oluşturmalıyız.

Bunu yazarak yapabiliriz:

Bu işlem birkaç dakika sürebilir, ancak bittiğinde, yapılandırmamızda kullanabileceğimiz /etc/ssl/certs/dhparam.pem adresinde güçlü bir DH grubunuz olacaktır.

2. Adım: Apache’yi SSL Kullanacak Şekilde Yapılandırma

Anahtar ve sertifika dosyalarımızı /etc/ssl dizini altında oluşturduk. Artık bunlardan yararlanmak için Apache konfigürasyonumuzu değiştirmemiz gerekiyor.

Yapılandırmamızda birkaç ayar yapacağız:

Güçlü varsayılan SSL ayarlarını belirtmek için bir yapılandırma snippet’i oluşturacağız.
Oluşturulan SSL sertifikalarımıza işaret etmek için içerilen SSL Apache Sanal Ana Bilgisayar dosyasını değiştireceğiz.
(Önerilen) Şifrelenmiş Sanal Ana Makine’ye istekleri otomatik olarak yönlendirmek için şifrelenmemiş Sanal Ana Bilgisayar dosyasını değiştireceğiz.

İşimiz bittiğinde güvenli bir SSL yapılandırmamız olmalı.

 

Güçlü Şifreleme Ayarları ile Apache Yapılandırma Pasajı Oluşturma

Öncelikle, bazı SSL ayarlarını tanımlamak için bir Apache konfigürasyon snippet’i oluşturacağız. Bu, Apache’yi güçlü bir SSL şifreleme paketi ile kuracak ve sunucumuzu güvende tutmaya yardımcı olacak bazı gelişmiş özellikleri etkinleştirecektir. Ayarlayacağımız parametreler SSL’yi etkinleştiren herhangi bir Sanal Sunucu tarafından kullanılabilir.

/etc/apache2/conf-available dizininde yeni bir snippet oluşturun. Amacını netleştirmek için ssl-params.conf dosyasını adlandıracağız:

Apache SSL’yi güvenli bir şekilde kurmak için, Cipherli.st sitesindeki Remy van Elst’in önerilerini kullanacağız. Bu site, popüler yazılımlar için kullanımı kolay şifreleme ayarları sağlamak için tasarlanmıştır

/etc/apache2/conf-available/ssl-params.conf

 

İşiniz bittiğinde dosyayı kaydedin ve kapatın.

Varsayılan Apache SSL Sanal Ana Bilgisayar Dosyasını Değiştirin

Ardından, /etc/apache2/sites-available/default-ssl.conf dosyasını, varsayılan Apache SSL Sanal Ana Bilgisayar dosyasını değiştirelim. Farklı bir sunucu bloğu dosyası kullanıyorsanız, aşağıdaki komutlarda onun adını kullanın.

Daha fazla ilerlemeden önce, orijinal SSL Sanal Ana Bilgisayar dosyasını yedekleyelim:

Şimdi, ayarlama yapmak için SSL Sanal Ana Bilgisayar dosyasını açın:

İçeride, kaldırılan yorumların çoğunda, Sanal Ana Bilgisayar dosyası varsayılan olarak şu şekilde görünmelidir:

/etc/apache2/sites-available/default-ssl.conf

 

Dosyaya küçük ayarlamalar yapacağız. Bir Sanal Ana Bilgisayar dosyasında (ServerAdmin e-posta adresi, SunucuAdı, vb.) Ayarlamak istediğimiz normal şeyleri ayarlayacağız, sertifika ve anahtar dosyalarımıza işaret edecek şekilde SSL yönergelerini ayarlayacağız ve daha eskiler için uyumluluk sağlayan bir bölümün uncomment’ını yapacağız. tarayıcılar.

Bu değişiklikleri yaptıktan sonra, sunucu bloğunuz buna benzer görünmelidir:

 

/etc/apache2/sites-available/default-ssl.conf

 

 

İşiniz bittiğinde dosyayı kaydedin ve kapatın.

(Önerilen) HTTPS’ye Yönlendirilecek Şifrelenmemiş Sanal Ana Bilgisayar Dosyasını Değiştirin

Şu an olduğu gibi, sunucu şifrelenmemiş HTTP ve şifrelenmiş HTTPS trafiğini de sağlayacaktır. Daha iyi güvenlik için çoğu durumda HTTP’yi otomatik olarak HTTPS’ye yönlendirmesi önerilir. Bu işlevselliği istemiyor veya ihtiyacınız yoksa, bu bölümü güvenle atlayabilirsiniz.

Şifrelenmemiş Sanal Ana Bilgisayar dosyasını tüm trafiği SSL şifreli olarak yönlendirmek için ayarlamak için /etc/apache2/sites-available/000-default.conf dosyasını açabiliriz:

İçeride, VirtualHost yapılandırma blokları içinde, tüm trafiği sitenin SSL sürümüne işaret eden bir Yönlendirme yönergesi eklememiz gerekir:

/etc/apache2/sites-available/000-default.conf

 

İşiniz bittiğinde dosyayı kaydedin ve kapatın.

3. Adım: Güvenlik Duvarını Ayarlayın

Eğer ufw güvenlik duvarını etkinleştirdiyseniz, önkoşul kılavuzlarının önerdiği gibi, SSL trafiğine izin vermek için ayarları değiştirmeniz gerekebilir. Şans eseri, Apache kurulum sonrasında birkaç profili ufw ile kaydeder.

Mevcut profilleri yazarak görebiliriz:

Böyle bir liste görmelisiniz:

Geçerli ayarı yazarak görebilirsiniz:

Daha önce yalnızca normal HTTP trafiğine izin verdiyseniz, çıktınız şunun gibi görünebilir:

Ek olarak HTTPS trafiğine izin vermek için “Apache Tam” profiline izin verebilir ve sonra yedek “Apache” profil ödeneğini silebiliriz:

    Durumunuz şu şekilde olmalı:

4. Adım: Apache’deki Değişiklikleri Etkinleştirin

Artık değişikliklerimizi yaptık ve güvenlik duvarımızı ayarladık, SSL ve header modüllerini Apache’de etkinleştirebilir, SSL-hazır Sanal Sunucumuzu etkinleştirebilir ve Apache’yi yeniden başlatabiliriz.

SSL snippet’indeki bazı ayarların gerektirdiği mod_ssl, Apache SSL modülü ve mod_header’ları a2enmod komutuyla etkinleştirebiliriz:

 

Ardından, SSL Sanal Ana Bilgisayarı a2ensite komutuyla etkinleştirebiliriz:

ssl-params.conf dosyamızı, belirlediğimiz değerlerde okumaya da ihtiyacımız olacak:

Bu noktada sitemiz ve gerekli modüller etkinleştirildi. Dosyalarımızda sözdizimi hatası olmadığından emin olmak için kontrol etmeliyiz. Bunu yazarak yapabiliriz:

 

Her şey başarılı olursa, şuna benzer bir sonuç elde edersiniz:

aİlk satır, sadece ServerName yönergesinin global olarak ayarlanmadığını belirten bir mesajdır. Bu iletiden kurtulmak isterseniz, ServerName sunucunuzun /etc/apache2/apache2.conf dosyasındaki etki alanı adını veya IP adresini ayarlayabilirsiniz. Mesajın zarar vermeyeceği için bu isteğe bağlıdır.

Çıktınızda Sözdizimi Tamam varsa, yapılandırma dosyanızın sözdizimi hatası yoktur. Değişikliklerimizi uygulamak için Apache’yi güvenle yeniden başlatabiliriz:

5. Adım: Şifreleme Testi

Şimdi SSL sunucumuzu test etmeye hazırız.

Web tarayıcınızı açın ve https: // yazıp sunucunuzun alan adını veya IP adresini adres çubuğuna yazın:

 

 

Oluşturduğumuz sertifika, tarayıcınızın güvenilir sertifika yetkililerinden biri tarafından imzalanmadığından, aşağıdaki gibi korkutucu bir uyarı görürsünüz:

Bu beklenen ve normaldir. Sadece sertifikamızın şifreleme yönüyle ilgileniyoruz, ev sahibimizin özgünlüğünün üçüncü taraf doğrulaması değil. “GELİŞMİŞ” ve ardından ana makinenize devam etmek için sağlanan bağlantıyı tıklayın:

Sitenize götürülmelisiniz. Tarayıcı adres çubuğuna bakarsanız, üzerinde “x” olan bir kilit görürsünüz. Bu durumda, bu sadece sertifikanın doğrulanamadığı anlamına gelir. Hala bağlantınızı şifreliyor.

Apache’yi HTTP’yi HTTPS’ye yönlendirecek şekilde yapılandırdıysanız, yönlendirme işlevinin doğru şekilde çalışıp çalışmadığını da kontrol edebilirsiniz:

 

 Bu, aynı simgeyle sonuçlanırsa, bu, yönlendirme işleminin doğru şekilde çalıştığı anlamına gelir.

6. Adım: Kalıcı Yönlendirmeye Geçin

Yönlendirmeniz doğru bir şekilde çalıştıysa ve yalnızca şifrelenmiş trafiğe izin vermek istediğinizden eminseniz, yeniden yönlendirmeyi kalıcı hale getirmek için şifrelenmemiş Apache Sanal Ana Bilgisayarı’nı tekrar değiştirmeniz gerekir.

Sunucu bloğu yapılandırma dosyanızı tekrar açın:

Daha önce eklediğimiz Yönlendirme satırını bulun. 302 geçici yönlendirmeden 301 kalıcı yönlendirmeye yapılan yönlendirmeyi değiştiren bu satıra kalıcı olarak ekle:

/etc/apache2/sites-available/000-default.conf

 

Dosyayı kaydedin ve kapatın.

Sözdizimi hataları için yapılandırmanızı kontrol edin:

Hazır olduğunuzda, yönlendirmeyi kalıcı hale getirmek için Apache’yi yeniden başlatın:

 

Sonuç

Apache sunucunuzu istemci bağlantıları için güçlü şifreleme kullanacak şekilde yapılandırdınız. Bu, istekleri güvenli bir şekilde sunmanıza olanak tanır ve dış tarafların trafiğinizi okumasını engeller.

 

 

 

Kaynak: .digitalocean.com

howtoforge.com

Yazımız sadece tavsiye niteliğindedir ve eklentilerden kaynaklı yaşanacak problemlerden anadolupanteri.net sorumlu değildir.
3Shares