Установка и настройка CentOS в VirtualBox
İçindekiler:
- Ön şartlar
- Certbot'u yükle
- Güçlü Dh (Diffie-Hellman) Grubu Oluştur
- Let's Encrypt SSL sertifikası edinme
- Otomatik yenileme SSL sertifikasını şifreleyelim
- Sonuç
Let's Encrypt, Internet Security Research Group (ISRG) tarafından geliştirilen ücretsiz, otomatik ve açık bir sertifika yetkilisidir. Let's Encrypt tarafından verilen sertifikalar, veriliş tarihinden itibaren 90 gün geçerlidir ve bugün tüm büyük tarayıcılar tarafından güvenilmektedir.
Bu öğreticide, Apache'yi web sunucusu olarak çalıştıran bir CentOS 7 sunucusuna ücretsiz Let's Encrypt SSL sertifikası yüklemek için gerekli adımları ele alacağız. Let's Encrypt sertifikalarını almak ve yenilemek için certbot yardımcı programını kullanacağız.
Ön şartlar
Bu eğiticiye devam etmeden önce aşağıdaki önkoşulları karşıladığınızdan emin olun:
- Genel sunucu IP'nizi işaret eden bir alan adınız olsun.
example.comkullanacağız. Apache sunucunuzda yüklü ve çalışıyor. Etki alanınız için Apache sanal ana makinesine sahip olun. 80 ve 443 portları güvenlik duvarınızda açıktır.
SSL şifreli bir web sunucusu için gereken aşağıdaki paketleri yükleyin:
Certbot'u yükle
Certbot, Let's Encrypt'ten SSL sertifikaları alma ve sunucunuzda HTTPS'yi otomatik olarak etkinleştirme işlemini basitleştiren bir araçtır.
Certbot paketi EPEL'den kurulum için uygundur. EPEL deposu sisteminizde yüklü değilse, aşağıdaki komutu kullanarak kurabilirsiniz:
sudo yum install epel-release
EPEL deposu etkinleştirildikten sonra, certbot paketini şunu yazarak yükleyin:
Güçlü Dh (Diffie-Hellman) Grubu Oluştur
Diffie – Hellman anahtar değişimi (DH), kriptografik anahtarları güvenli olmayan bir iletişim kanalı üzerinden güvenli bir şekilde alışverişi yapma yöntemidir. Güvenliği güçlendirmek için yeni bir 2048 bit DH parametre seti oluşturun:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Boyutu 4096 bite kadar değiştirebilirsiniz, ancak bu durumda üretim, sistem entropisine bağlı olarak 30 dakikadan fazla sürebilir.
Let's Encrypt SSL sertifikası edinme
Alanımız için bir SSL sertifikası almak için,
${webroot-path}/.well-known/acme-challenge
dizininde istenen alan adını doğrulamak için geçici bir dosya oluşturarak çalışan Webroot eklentisini kullanacağız. Let's Encrypt sunucusu, istenen etki alanının certbot'un çalıştığı sunucuya çözümlendiğini doğrulamak için geçici dosyaya HTTP istekleri gönderir.
Daha basit hale getirmek için
.well-known/acme-challenge
için tüm HTTP isteklerini
/var/lib/letsencrypt
.
Dizini oluşturmak ve Apache sunucusu için yazılabilir yapmak için aşağıdaki komutları çalıştırın:
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Kod çoğaltılmasını önlemek için aşağıdaki iki yapılandırma snippet'ini oluşturun:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off
Yukarıdaki snippet, Cipherli.st tarafından önerilen yongalayıcıları kullanıyor, OCSP Zımbalama, HTTP Sıkı Aktarım Güvenliği'ni (HSTS) etkinleştiriyor ve güvenlik odaklı birkaç HTTP üstbilgisini zorunlu kılıyor.
Değişikliklerin etkili olması için Apache yapılandırmasını yeniden yükleyin:
sudo systemctl reload
Şimdi, Certbot aracını webroot eklentisiyle çalıştırabilir ve SSL sertifika dosyalarını aşağıdaki gibi yazabiliriz:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
SSL sertifikası başarıyla alınırsa, certbot aşağıdaki mesajı yazdırır:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-12-07. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
CentOS 7,
SSLOpenSSLConfCmd
yönergesini içermeyen Apache 2.4.6 sürümüyle birlikte
SSLOpenSSLConfCmd
. Bu yönerge yalnızca Apache 2.4.8'de kullanılabilir ve Diffie – Hellman anahtar değişimi (DH) gibi OpenSSL parametrelerinin yapılandırılması için kullanılır.
Let's Encrypt SSL sertifikasını ve oluşturulan DH dosyasını kullanarak yeni bir birleşik dosya oluşturmamız gerekecek. Bunu yapmak için şunu yazın:
cat /etc/letsencrypt/live/example.com/cert.pem /etc/ssl/certs/dhparam.pem >/etc/letsencrypt/live/example.com/cert.dh.pem
Artık her şey hazır olduğuna göre, etki alanı sanal ana bilgisayar yapılandırmanızı aşağıdaki gibi düzenleyin:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration
Yukarıdaki yapılandırma ile HTTPS'yi zorluyoruz ve www'den www olmayan sürüme yönlendiriyoruz. Yapılandırmayı ihtiyaçlarınıza göre ayarlamak için serbest bırakın.
Değişikliklerin etkili olması için Apache hizmetini yeniden başlatın:
sudo systemctl restart
Artık web sitenizi
https://
kullanarak açabilirsiniz ve yeşil bir kilit simgesi görürsünüz.

Otomatik yenileme SSL sertifikasını şifreleyelim
Şifreleme sertifikaları 90 gün geçerlidir. Sertifikaların süreleri dolmadan otomatik olarak yenilenmesi için günde iki kez çalışacak bir cronjob oluşturacağız ve herhangi bir sertifikayı sona erme tarihinden 30 gün önce otomatik olarak yenileyeceğiz.
Sertifikayı yenileyecek yeni bir cronjob oluşturmak, DH anahtarını içeren yeni bir birleştirilmiş dosya oluşturmak ve apache'yi yeniden başlatmak için
crontab
komutunu çalıştırın:
sudo crontab -e
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload
Dosyayı kaydedip kapatın.
Yenileme işlemini test etmek için, certbot komutunu ve ardından
--dry-run
anahtarını kullanabilirsiniz:
sudo certbot renew --dry-run
Herhangi bir hata yoksa, yenileme işleminin başarılı olduğu anlamına gelir.
Sonuç
Bu öğreticide, alanınız için SSL sertifikalarını indirmek üzere Let's Encrypt istemci sertifikasını kullandınız. Kod çoğaltılmasını önlemek için Apache snippet'leri de oluşturdunuz ve Apache'yi sertifikaları kullanacak şekilde yapılandırdınız. Eğiticinin sonunda, otomatik sertifika yenilemesi için bir cronjob ayarladınız.
apache centos hadi certbot ssl şifreleyelimBu yazı, CentOS 7 serisine LAMP Yığını Yükle'nin bir parçasıdır.
Bu serideki diğer gönderiler:
• CentOS 7'de Apache Kurulumu • CentOS 7'ye MySQL Kurulumu • CentOS 7'de Apache Sanal Sunucu Kurulumu • CentOS 7'de Şifreleyelim ile Apache GüvencesiCentos 7'yi şifreleyelim ile güvenli nginx
Bu eğitimde, Centgin 7'de certbot aracını kullanarak Nginx'inizi Let's Encrypt ile nasıl güvenceye alacağınız hakkında adım adım talimatlar vereceğiz
Centos 8'i şifreleyelim.
Bu eğitimde Apache'yi web sunucusu olarak çalıştıran CentOS 8'e ücretsiz Let's Encrypt SSL sertifikasının nasıl kurulacağı açıklanmaktadır. Sertifikaları almak ve yenilemek için certbot aracını kullanacağız.
Centos 8'i şifreleyelim ile güvenli nginx
Bu öğreticide, Nginx'i web sunucusu olarak çalıştıran CentOS 8'e ücretsiz Let's Encrypt SSL sertifikasının nasıl yükleneceği hakkında adım adım talimatlar vereceğiz. Nginx'in SSL sertifikasını kullanmak ve HTTP / 2'yi etkinleştirmek için nasıl yapılandırılacağını da göstereceğiz.







