Cara Menginstal Let's Encrypt SSL Certificate untuk Mengamankan Apache di Rhel/Centos 7/6
- 2074
- 290
- Dominick Barton
Memperluas tutorial Let's Encrypt tentang SSL/TLS sertifikat gratis, dalam artikel ini kita akan menunjukkan cara mendapatkan dan menginstal sertifikat SSL/TLS gratis yang dikeluarkan oleh Mari Enkripsi Otoritas Sertifikat untuk Apache server web di Centos/rhel 7/6 dan distribusi fedora juga.
Jika Anda ingin menginstal ayat untuk Apache di Debian dan Ubuntu, ikuti panduan ini di bawah ini:
Pengaturan Mari Berenkripsi Untuk Mengamankan Apache di Debian dan Ubuntu
Menguji lingkungan sampel
Instal Lets Encrypt for Apache di CentOS dan RHELPersyaratan
- Nama domain terdaftar dengan valid
A
Catatan untuk mengarah kembali ke alamat IP publik server Anda. - Server apache diinstal dengan modul ssl diaktifkan dan hosting virtual diaktifkan jika Anda hosting beberapa domain atau subdomain.
Langkah 1: Instal Apache Web Server
1. Jika belum diinstal, httpd daemon dapat diinstal dengan mengeluarkan perintah di bawah ini:
# yum instal httpd
2. Agar perangkat lunak Let's Encrypt dapat bekerja dengan Apache, pastikan bahwa modul SSL/TLS diinstal dengan mengeluarkan perintah di bawah ini:
# yum -y install mod_ssl
3. Akhirnya, mulailah server Apache dengan perintah berikut:
# Systemctl Mulai httpd.Layanan [di Rhel/Centos 7] # Layanan HTTPD Mulai [pada Rhel/Centos 6]
Langkah 2: Instal Let's Encrypt SSL Certificate
4. Metode pemasangan paling sederhana Mari Enkripsi Klien dengan mengkloning repositori gitub dalam sistem file Anda. Untuk menginstal git pada sistem Anda, Anda harus mengaktifkan repositori EPEL dengan perintah berikut.
# YUM Instal Epel-Release
5. Setelah repo EPEL ditambahkan di sistem Anda, silakan dan instal Git Client dengan menjalankan perintah di bawah ini:
# yum instal git
6. Sekarang, setelah Anda menginstal semua dependensi yang diperlukan untuk menangani ayat, kunjungi /usr/lokal/
direktori dan mulailah menarik klien Let's Encrypt dari repositori github resminya dengan perintah berikut:
# CD/USR/LOCAL/ # GIT Klon https: // github.com/letsencrypt/letsencrypt
Langkah 3: Dapatkan Sertifikat SSL Let's Gratis untuk Apache
7. Proses memperoleh sertifikat ayat akhir untuk Apache diotomatisasi Centos/rhel Terima kasih untuk plugin Apache.
Ayo lari Mari Enkripsi Perintah skrip untuk mendapatkan sertifikat SSL. Pergi ke Direktori Instalasi Mari /usr/lokal/letsencrypt
dan jalankan Letsencrypt-auto
perintah dengan menyediakan --Apache
opsi dan -D
Bendera untuk setiap subdomain Anda memerlukan sertifikat.
# CD/USR/LOCAL/LETSECRYPT # ./letsencrypt -auto --apache -d your_domain.tldBuat Mari Enkripsi Sertifikat SSL untuk Apache
8. Berikan alamat email yang akan digunakan oleh Let's Encrypt untuk memulihkan kunci Anda yang hilang atau untuk pemberitahuan mendesak dan tekan Memasuki untuk melanjutkan.
Tambahkan Alamat Email untuk Lets Encrypt9. Setuju Ketentuan Lisensi dengan Memukul Kunci Enter.
Setuju memungkinkan lisensi mengenkripsi10. Pada Centos/rhel, Secara default, server apache tidak menggunakan konsep direktori pemisahan untuk host yang diaktifkan dari host yang tersedia (tidak aktif) sebagai Debian Distribusi berbasis dilakukan.
Juga, hosting virtual dinonaktifkan secara default. Pernyataan Apache yang menentukan nama server (Nama server) Ini tidak ada di file konfigurasi SSL.
Untuk mengaktifkan Petunjuk ini, Encrypt akan meminta Anda untuk memilih host virtual. Karena tidak menemukan vhost yang tersedia, pilih SSL.conf
file yang akan dimodifikasi secara otomatis oleh Let's Encrypt Client dan tekan Memasuki untuk melanjutkan.
11. Selanjutnya, pilih Mudah metode untuk Http permintaan dan tekan Memasuki untuk bergerak maju.
Izinkan permintaan HTTP yang mudah12. Akhirnya, jika semuanya berjalan lancar, pesan ucapan selamat harus ditampilkan di layar. Tekan Memasuki untuk melepaskan prompt.
Mari enkripsi diaktifkan di domainItu dia! Anda telah berhasil mengeluarkan a SSL/TLS Sertifikat untuk domain Anda. Sekarang Anda dapat mulai menjelajahi situs web Anda menggunakan Https protokol.
Langkah 4: Uji Enkripsi Let's Free Free On Domain
13. Untuk menguji kelurusan jabat tangan domain SSL/TLS Anda, kunjungi tautan di bawah ini dan uji sertifikat Anda di domain Anda.
https: // www.ssllabs.com/ssltest/analisis.htmlVerifikasi mari kita enkripsi sertifikat di domain
14. Jika Anda menerima serangkaian laporan tentang kerentanan domain Anda dalam tes yang dilakukan, maka Anda perlu memperbaiki lubang keamanan tersebut dengan segera.
Peringkat keseluruhan C Kelas membuat domain Anda sangat tidak aman. Untuk memperbaiki masalah keamanan ini, buka file konfigurasi SSL Apache dan buat perubahan berikut:
# vi/etc/httpd/conf.D/SSL.conf
Cari garis dengan Sslprotocol
pernyataan dan tambahkan -SSLV3
Di akhir baris.
Masuk lebih dalam di file, cari dan komentari baris dengan SSLCIPHERSUITE
dengan menempatkan a #
Di depannya dan tambahkan konten berikut di bawah baris ini:
SSLCIPHERSUITE ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM : DHE-DSS-AES128-GCM-SHA256: KEDH+AESGCM: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA: ECDHE-ECDSA-AES128-SDH: -AES256-SHA384: ecdhe-ecdsa-aes256-sha384: ecdhe-rsa-aes256-sha: ecdhe-ecdsa-aes256-sha: DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA: DHE28: DHE-RSA-AES128: DHE-SHE: DHE12: DHE-RSA-AES128: DHE28: DHE-RSA-AES128: DHE28: -SHA256: DHE-RSA-AES256-SHA256: DHE-DSS-AES256-SHA: DHE-RSA-AES256-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-Sha384: AES128-SHA256: AES256: : AES256-SHA: AES: Camellia: Des-CBC3-SHA:!Anull:!Enull:!EKSPOR:!Des:!RC4:!MD5:!PSK:!AECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SSLHONORCIPHERORDER ON SSLOPTIONS +STRICTREQUIREKonfigurasikan konfigurasi SSL
15. Setelah Anda membuat semua perubahan di atas, simpan dan tutup file, lalu restart daemon apache untuk menerapkan perubahan.
# Systemctl restart httpd.Layanan [di Rhel/Centos 7] # Layanan HTTPD restart [di Rhel/Centos 6]
16. Sekarang, menguji status enkripsi domain Anda lagi, dengan mengunjungi tautan yang sama seperti di atas. Untuk melakukan pengujian ulang, tautan Clear Cache dari situs web.
https: // www.ssllabs.com/ssltest/analisis.htmlTes memungkinkan mengenkripsi sertifikat SSL di situs web
Sekarang Anda harus mendapatkan kelas A peringkat keseluruhan, yang berarti domain Anda sangat aman.
Langkah 4: Auto Renew Let's Encrypt Certificate di Apache
17. Versi beta dari Let's Encrypt Software merilis sertifikat dengan tanggal kedaluwarsa setelah 90 hari -hari. Jadi, untuk memperbarui sertifikat SSL, Anda harus mengeksekusi Letsencrypt-auto
Perintah lagi sebelum tanggal kedaluwarsa, dengan opsi dan bendera yang sama digunakan untuk mendapatkan sertifikat awal.
Contoh tentang cara memperbarui sertifikat secara manual disajikan di bawah ini.
# CD/USR/LOCAL/LETSECRYPT # ./letsencrypt-auto certonly --apache --renew-by-default -d your_domain.tld
18. Untuk mengotomatiskan proses ini, buat skrip bash berikut yang disediakan oleh GitHub Erikaheidi, di /usr/lokal/bin/
direktori dengan konten berikut. (Script sedikit dimodifikasi untuk mencerminkan direktori instalasi Letsencrypt kami).
# vi/usr/lokal/bin/le-renew-centos
Tambahkan konten berikut ke Le-Renew-Centos
mengajukan:
!/Domain bin/bash = $ 1 le_path = "/usr/local/letsencrypt" le_conf = "/etc/letsencrypt" exp_limit = 30; get_domain_list () certdomain = $ 1 config_file = "$ le_conf/pembaruan/$ certdomain.conf "if [ ! -f $ config_file]; lalu echo "[kesalahan] file konfigurasi untuk sertifikat $ certdomain tidak ditemukan."Keluar 1; fi domain = $ (grep --only-matching --perl-regex" (?<=domains \= ).*" "$config_file") last_char=$(echo "$domains" | awk 'print substr($0,length,1)') if [ "$last_char" = "," ]; then domains=$(echo "$domains" |awk 'print substr($0, 1, length-1)') fi echo $domains; if [ -z "$domain" ] ; then echo "[ERROR] you must provide the domain name for the certificate renewal." exit 1; fi cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" if [ ! -f $cert_file ]; then echo "[ERROR] certificate file not found for domain $domain." exit 1; fi exp=$(date -d "'openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-'" +%s) datenow=$(date -d "now" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "Checking expiration date for $domain… " if [ "$days_exp" -gt "$exp_limit" ] ; then echo "The certificate is up to date, no need for renewal ($days_exp days left)." exit 0; else echo "The certificate for $domain is about to expire soon. Starting renewal request… " domain_list=$( get_domain_list $domain ) "$le_path"/letsencrypt-auto certonly --apache --renew-by-default --domains "$domain_list" echo "Restarting Apache… " /usr/bin/systemctl restart httpd echo "Renewal process finished for domain $domain" exit 0; fi
19. Hibah izin eksekusi untuk skrip, instal bc paket dan jalankan skrip untuk mengujinya. Gunakan nama domain Anda sebagai parameter posisi untuk skrip. Mengeluarkan perintah di bawah ini untuk mencapai langkah ini:
# yum instal bc # chmod +x/usr/local/bin/le-renew-centos #/usr/local/bin/le-renew-centos your_domain.tld
20. Akhirnya, menggunakan penjadwalan Linux, tambahkan pekerjaan cron baru untuk menjalankan skrip setiap dua bulan, memastikan bahwa sertifikat Anda akan diperbarui sebelum tanggal kedaluwarsa.
# crontab -e
Tambahkan baris berikut di bagian bawah file.
0 1 1 */2 */usr/lokal/bin/le-renew-centos your_domain.tld >>/var/log/your_domain.TLD-RFEREW.LOG 2> & 1
Itu dia! Server Apache Anda berjalan di atas Centos/rhel Sistem sekarang melayani konten SSL menggunakan Sertifikat SSL Let's Gratis.
- « 5 cangkang open source yang paling sering digunakan untuk Linux
- Sarg - Generator Laporan Analisis Squid dan Alat Pemantauan Bandwidth Internet »