Android

Apache aman dengan mengenkripsi mari pada debian 9

HELIKOPTER TEMPUR RAJA UDARA YANG DITAKUTI - 7 HELIKOPTER TEMPUR MILITER TERBAIK DI DUNIA

HELIKOPTER TEMPUR RAJA UDARA YANG DITAKUTI - 7 HELIKOPTER TEMPUR MILITER TERBAIK DI DUNIA

Daftar Isi:

Anonim

Let's Encrypt adalah otoritas sertifikat yang dibuat oleh Internet Security Research Group (ISRG). Ini memberikan sertifikat SSL gratis melalui proses terotomatisasi sepenuhnya yang dirancang untuk menghilangkan pembuatan sertifikat manual, validasi, instalasi, dan pembaruan.

Sertifikat yang dikeluarkan oleh Let's Encrypt berlaku selama 90 hari sejak tanggal penerbitan dan dipercaya oleh semua browser utama hari ini.

Tutorial ini akan memandu Anda melalui proses mendapatkan Let's Encrypt gratis menggunakan alat certbot di Debian 9. Kami juga akan menunjukkan cara mengkonfigurasi Apache untuk menggunakan sertifikat SSL baru dan mengaktifkan HTTP / 2.

Prasyarat

Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan dengan tutorial ini:

  • Masuk sebagai pengguna dengan hak istimewa sudo. Memiliki nama domain yang menunjuk ke server IP server publik Anda. Kami akan menggunakan example.com .Apache diinstal. Host virtual apache untuk domain Anda. Anda dapat mengikuti instruksi ini untuk perincian tentang cara membuatnya.

Instal Certbot

Certbot adalah alat berfitur lengkap dan mudah digunakan yang dapat mengotomatiskan tugas untuk memperoleh dan memperbarui Mari Enkripsi sertifikat SSL. Paket certbot termasuk dalam repositori Debian default.

Perbarui daftar paket dan instal paket certbot menggunakan perintah berikut:

sudo apt update sudo apt install certbot

Hasilkan Grup Dh (Diffie-Hellman) yang Kuat

Pertukaran kunci Diffie – Hellman (DH) adalah metode pertukaran kunci kriptografi yang aman melalui saluran komunikasi yang tidak aman.

Untuk menghasilkan set parameter DH 2048 bit baru, jalankan:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 Jika Anda suka, Anda dapat mengubah ukuran hingga 4096 bit, tetapi dalam hal ini, pembuatannya dapat memakan waktu lebih dari 30 menit tergantung pada entropi sistem.

Memperoleh Mari Mengenkripsi sertifikat SSL

Untuk mendapatkan sertifikat SSL untuk domain kami, kami akan menggunakan plugin Webroot yang berfungsi dengan membuat file sementara untuk memvalidasi domain yang diminta dalam direktori ${webroot-path}/.well-known/acme-challenge . Server Let's Encrypt membuat permintaan HTTP ke file sementara untuk memvalidasi bahwa domain yang diminta menyelesaikan ke server tempat certbot berjalan.

Untuk membuatnya lebih sederhana, kita akan memetakan semua permintaan HTTP untuk. .well-known/acme-challenge ke direktori tunggal, /var/lib/letsencrypt .

Perintah-perintah berikut membuat direktori dan membuatnya dapat ditulis untuk server Apache.

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp www-data /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt

Untuk menghindari duplikasi kode, buat dua snippet konfigurasi berikut:

/etc/apache2/conf-available/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 /etc/apache2/conf-available/ssl-params.conf

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 SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

Cuplikan di atas menggunakan chipper yang direkomendasikan oleh Cipherli.st, memungkinkan OCSP Stapling, HTTP Strict Transport Security (HSTS) dan memberlakukan beberapa header HTTP yang berfokus pada keamanan.

Sebelum mengaktifkan file konfigurasi, pastikan mod_ssl dan mod_headers diaktifkan dengan mengeluarkan:

sudo a2enmod ssl sudo a2enmod headers

Aktifkan modul HTTP / 2, yang akan membuat situs Anda lebih cepat dan lebih kuat:

sudo a2enmod

Aktifkan file konfigurasi SSL dengan menjalankan perintah berikut:

sudo a2enconf letsencrypt sudo a2enconf ssl-params

Muat ulang konfigurasi Apache agar perubahan diterapkan:

sudo systemctl reload apache2

Gunakan alat Certbot dengan plugin webroot untuk mendapatkan file sertifikat SSL:

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

Jika sertifikat SSL berhasil diperoleh, certbot akan mencetak pesan berikut:

IMPORTANT NOTES: IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2019-01-17. 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 lose your account credentials, you can recover through e-mails sent to [email protected]. - 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:

Sekarang Anda memiliki file sertifikat, edit konfigurasi virtual host domain Anda sebagai berikut:

/etc/apache2/sites-available/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 ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/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 ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/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 ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/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 ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/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

Dengan konfigurasi di atas, kami memaksa HTTPS dan mengalihkan dari versi www ke versi non-www. Jatuh bebas untuk menyesuaikan konfigurasi sesuai dengan kebutuhan Anda.

Muat ulang layanan Apache agar perubahan diterapkan:

sudo systemctl reload apache2

Buka situs web Anda menggunakan https:// , dan Anda akan melihat ikon kunci hijau.

Perpanjangan otomatis Mari Enkripsi sertifikat SSL

Sertifikat Let's Encrypt berlaku selama 90 hari. Untuk secara otomatis memperbarui sertifikat sebelum habis masa berlakunya, paket certbot membuat cronjob yang berjalan dua kali sehari dan secara otomatis akan memperbarui sertifikat apa pun 30 hari sebelum berakhirnya.

Setelah sertifikat diperbarui, kami juga harus memuat ulang layanan Apache. Tambahkan --renew-hook "systemctl reload apache2" ke file /etc/cron.d/certbot sehingga terlihat seperti berikut:

/etc/cron.d/certbot

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 apache2"

Untuk menguji proses pembaruan, gunakan sakelar certbot --dry-run :

sudo certbot renew --dry-run

Jika tidak ada kesalahan, itu berarti proses pembaruan berhasil.

Kesimpulan

Dalam tutorial ini, Anda menggunakan Let's Encrypt client certbot, untuk mendapatkan sertifikat SSL untuk domain Anda. Anda juga telah membuat snippet Apache untuk menghindari duplikasi kode dan mengkonfigurasi Apache untuk menggunakan sertifikat. Di akhir tutorial, Anda telah menyiapkan cronjob untuk perpanjangan sertifikat otomatis.

apache debian mari kita mengenkripsi certbot ssl

Posting ini adalah bagian dari Cara Memasang LAMP Stack pada seri Debian 9.

Posting lain dalam seri ini:

• Cara Menginstal Apache di Debian 9 • Cara Menginstal PHP di Debian 9 • Cara Mengatur Apache Virtual Host di Debian 9 • Cara Menginstal MariaDB di Debian 9 • Amankan Apache dengan Mari Mengenkripsi Debian 9