Настройка Gnome в CentOS 8
İç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, ücretsiz SSL sertifikaları sağlayan Internet Security Research Group (ISRG) tarafından geliştirilen ücretsiz, otomatik ve açık bir sertifika yetkilisidir.
Let's Encrypt tarafından verilen sertifikalara tüm büyük tarayıcılar tarafından güvenilir ve yayın tarihinden itibaren 90 gün geçerlidir.
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.
Ön şartlar
Devam etmeden önce aşağıdaki ön koşulların karşılandığından emin olun:
- Genel sunucu IP'nizi işaret eden bir alan adınız olsun.
example.comkullanacağız. Apache, alan adınız için yapılandırılmış bir sanal ana makine ile sunucunuzda yüklü ve çalışıyor. 80 ve 443 numaralı portlar güvenlik duvarınızda açık.
SSL şifreli bir web sunucusu için gereken aşağıdaki paketleri yükleyin:
sudo dnf install mod_ssl openssl
Mod_ssl paketi yüklendiğinde, localhost için kendinden imzalı bir anahtar ve sertifika dosyaları oluşturmalıdır. Dosyalar otomatik olarak oluşturulmazsa,
openssl
komutunu kullanarak oluşturabilirsiniz:
sudo openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \
-out /etc/pki/tls/certs/localhost.crt \
-keyout /etc/pki/tls/private/localhost.key
Certbot'u yükle
Certbot, Let's Encrypt SSL sertifikalarını sunucunuzdan HTTPS'den alma ve otomatik olarak etkinleştirme sürecini basitleştiren ücretsiz bir komut satırı aracıdır.
Certbot paketi standart CentOS 8 depolarına dahil değildir, ancak satıcının web sitesinden indirilebilir.
Certbot komut dosyasını
/usr/local/bin
dizinine indirmek için aşağıdaki
wget
komutunu root veya sudo kullanıcısı olarak çalıştırın:
sudo wget -P /usr/local/bin
İndirme işlemi tamamlandıktan sonra dosyayı yürütülebilir yapın:
sudo chmod +x /usr/local/bin/certbot-auto
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 sistem entropisine bağlı olarak üretim 30 dakikadan fazla sürebilir.
Let's Encrypt SSL sertifikası edinme
Etki alanı için bir SSL sertifikası almak için
${webroot-path}/.well-known/acme-challenge
dizininde istenen etki alanı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.
Kurulumu 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 ve yapılandırmayı daha sürdürülebilir hale getirmek için aşağıdaki iki yapılandırma snippet'ini oluşturun:
/etc/httpd/conf.d/letsencrypt.conf
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 # Requires Apache 2.4.36 & OpenSSL 1.1.1 SSLProtocol -all +TLSv1.3 +TLSv1.2 SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1 # Older versions # 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 SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
Yukarıdaki pasaj, Cipherli.st tarafından önerilen yongalama makinelerini kullanıyor. OCSP Zımbalama, HTTP Sıkı Aktarım Güvenliği (HSTS), Dh tuşunu etkinleştirir ve güvenlik odaklı birkaç HTTP üstbilgisini zorlar.
Değişikliklerin etkili olması için Apache yapılandırmasını yeniden yükleyin:
sudo systemctl reload
Şimdi, webroot eklentisi ile certbot komut dosyasını çalıştırabilir ve SSL sertifika dosyalarını alabilirsiniz:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
Başarıyla, certbot aşağıdaki mesajı yazdıracaktı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 2020-01-26. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
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 Protocols h2 http:/1.1 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/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 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/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 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/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 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/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
Yukarıdaki yapılandırma HTTPS'yi zorluyor ve www'den www olmayan sürüme yönlendiriyor. Ayrıca, sitelerinizi daha hızlı ve daha sağlam hale getirecek HTTP / 2'yi de etkinleştirir. Yapılandırmayı ihtiyaçlarınıza göre ayarlamak için serbest bırakın.
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 geçerlilik süresi dolmadan otomatik olarak yenilenmesi için günde iki kez çalışacak bir cronjob oluşturacağız ve herhangi bir sertifikayı süresi bitmeden 30 gün önce otomatik olarak yenileyeceğiz.
Sertifikayı yenileyecek ve Apache'yi yeniden başlatacak yeni bir cronjob oluşturmak için aşağıdaki komutu çalıştırın:
echo "0 0, 12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto -q renew --renew-hook \"systemctl reload httpd\"" | sudo tee -a /etc/crontab > /dev/null
Yenileme işlemini test etmek için, certbot komutunu ve ardından
--dry-run
anahtarını kullanın:
sudo /usr/local/bin/certbot-auto renew --dry-run
Herhangi bir hata yoksa, yenileme işleminin başarılı olduğu anlamına gelir.
Sonuç
Bu öğreticide, alanlarınız için SSL sertifikaları almak üzere CentOS'ta Let's Encrypt istemci sertifikasının nasıl kullanılacağı hakkında konuştuk. Ayrıca, Apache'nin sertifikaları kullanmasını ve otomatik sertifika yenilemesi için bir cronjob ayarlamasını nasıl yapacağınızı gösterdiniz.
Certbot komut dosyası hakkında daha fazla bilgi edinmek için Certbot belgelerini ziyaret edin.
apache centos hadi certbot ssl şifreleyelimCentos 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 7'yi şifreleyelim.
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.
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.







