RHEL/CentOS 7.0'da Apache için Kendinden İmzalı SSL Sertifikaları ve Anahtarları Nasıl Oluşturulur


SSL (Güvenli Yuva Katmanı), Sertifika Yetkilisi tarafından imzalanmış bir dijital sertifika kullanarak, simetrik/asimetrik anahtarlar kullanarak bir sunucu ile istemcileri arasında güvenli veri akışına olanak tanıyan bir şifreleme protokolüdür. (CA).

Gereksinimler

  1. RHEL/CentOS 7.0'da Temel LAMP Kurulumu

Bu eğitimde, Red Hat Enterprise Linux/CentOS 7.0<'da yüklü Apache Web Sunucusunda Güvenli Yuva Katmanı (SSL) iletişim şifreleme protokolünün nasıl kurulacağına ilişkin bir yaklaşım sunulmaktadır. ve tüm süreci büyük ölçüde basitleştiren bir bash betiğinin yardımıyla kendinden imzalı Sertifikalar ve Anahtarlar oluşturun.

1. Adım: Apache SSL'yi Kurun ve Yapılandırın

1. Apache HTTP Sunucusunda SSL'yi etkinleştirmek için, SSL/TLS desteği için gerekli olan SSL Modülünü ve OpenSSL araç kitini yüklemek üzere aşağıdaki komutu kullanın.

yum install mod_ssl openssl

2. SSL modülü yüklendikten sonra, HTTPD arka plan programını yeniden başlatın ve SSL bağlantı noktasının (443) açık olduğundan emin olmak için yeni bir Güvenlik Duvarı kuralı ekleyin. makinenizdeki dış bağlantılar dinleme durumunda.

systemctl restart httpd
firewall-cmd --add-service=https   ## On-fly rule

firewall-cmd --permanent  --add-service=https   ## Permanent rule – needs firewalld restart

3. SSL bağlantısını test etmek için uzak bir tarayıcı açın ve https://server_IP adresinde HTTPS protokolünü kullanarak sunucunuzun IP adresine gidin.

2. Adım: SSL Sertifikaları ve Anahtarları Oluşturun

4. Sunucu ile istemci arasındaki önceki SSL iletişimi, kurulum sırasında otomatik olarak oluşturulan varsayılan bir Sertifika ve Anahtar kullanılarak yapılıyordu. Yeni özel anahtarlar ve kendinden imzalı sertifika çiftleri oluşturmak için yürütülebilir bir sistem yolunda (` PATH) aşağıdaki bash betiğini oluşturun.

Bu eğitim için /usr/local/bin/ yolu seçildi, betiğin yürütülebilir bit setine sahip olduğundan emin olun ve ardından bunu /etc/ üzerinde yeni SSL çiftleri oluşturmak için bir komut olarak kullanın. Sertifikalar ve Anahtarların varsayılan konumu olarak httpd/ssl/.

nano /usr/local/bin/apache_ssl

Aşağıdaki dosya içeriğini kullanın.

#!/bin/bash
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!"
ls -all /etc/httpd/ssl
exit 0

5. Şimdi bu betiği çalıştırılabilir hale getirin ve Apache SSL Sanal Ana Makineniz için yeni bir Sertifika ve Anahtar çifti oluşturmak üzere başlatın.

Bilgilerinizi doldurun ve Ortak Ad değerinin sunucunuzun FQDN'sine veya Sanal Barındırma durumunda güvenli bir web sitesine bağlandığınızda erişeceğiniz Web adresiyle eşleşmesine dikkat edin.

chmod +x /usr/local/bin/apache_ssl
apache_ssl

6. Sertifika ve Anahtar oluşturulduktan sonra komut dosyası, /etc/httpd/ssl/ konumunda saklanan tüm Apache SSL çiftlerinizin uzun bir listesini sunacaktır.

7. SSL Sertifikaları ve Anahtarları oluşturmaya yönelik diğer yaklaşım, sisteminize crypto-utils paketini yüklemek ve genkey komutunu kullanarak çiftler oluşturmaktır. özellikle Putty terminal ekranında kullanıldığında bazı problemlere neden olabilir.

Bu nedenle, bu yöntemi yalnızca doğrudan bir ekran monitörüne bağlandığınızda kullanmanızı öneririm.

yum install crypto-utils
genkey your_FQDN

8. Yeni Sertifikayı ve Anahtarı SSL web sitenize eklemek için web sitenizin yapılandırma dosyasını açın ve SSLCertificateFile ve SSLCertificateKeyFile ifadelerini yeni çiftlerle değiştirin. buna göre konum ve adlar.

9. Sertifika güvenilir bir CA – Sertifika Yetkilisi tarafından verilmemişse veya sertifikadaki ana makine adı, bağlantıyı kuran ana makine adıyla eşleşmiyorsa, tarayıcınızda bir hata görünmeli ve sertifikayı manuel olarak kabul etmeniz gerekir. Sertifika.

Bu kadar! Artık ihtiyacınız olan sayıda kendinden imzalı Sertifika ve Anahtar çifti oluşturmak için RHEL/CentOS 7.0'da Apache_ssl'yi komut satırı olarak kullanabilirsiniz ve tümü /etc/httpd/ adresinde tutulacaktır. Anahtar dosyasının 700 izinleriyle korunduğu ssl/ yolu.