top of page
  • Black Facebook Icon
  • Black YouTube Icon
  • Black Instagram Icon
  • Black Pinterest Icon

Cara Amankan Apache Menggunakan Let’s Encrypt di Ubuntu 18.04

  • Writer: Edi Sumarsono
    Edi Sumarsono
  • Dec 28, 2019
  • 4 min read

Cara Amankan Apache Menggunakan Let’s Encrypt di Ubuntu 18.04 – Let’s Encrypt adalah otoritas sertifikat SSL 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 update.

Sertifikat SSL yang dikeluarkan oleh Let’s Encrypt dipercaya oleh semua browser terbaik dan populer hari ini. Dan sertifikat SSL Let’s Encrypt gratis ini di dukung oleh raksasa perusahaan teknologi seperti Google, Facebook, Mozilla dan lainnya.

Dalam tutorial ini, saya akan memberikan petunjuk langkah demi langkah tentang cara mengamankan web server Apache Anda menggunakan sertifikat SSL Let’s Encrypt menggunakan certbot tool di Ubuntu 18.04.

Daftar Isi


Persyaratan

Pastikan Anda telah memenuhi persyaratan berikut ini sebelum melanjutkan dengan tutorial Cara Amankan Apache menggunakan SSL Let’s Encrypt di Ubuntu 18.04 ini:

  • Nama domain menunjuk ke IP server publik Anda. Disini saya akan menggunakan contoh domain example.com.

  • Anda telah instal Apache dan mengatur Apache virtual host untuk domain Anda, Anda bisa membaca panduan disini.

Cara Instal Certbot

Certbot adalah alat berfitur lengkap dan mudah digunakan yang dapat mengotomatisasi tugas-tugas untuk memperoleh dan memperbarui sertifikat SSL Let’s Encrypt dan konfigurasi web server. Paket certbot sudah termasuk dalam repositori Ubuntu default.

Silahkan Update daftar paket dan instal paket certbot di Ubuntu Anda dengan mengetikkan perintah berikut:

$ sudo apt update$ sudo apt install certbot

Generate Strong Dh (Diffie-Hellman) Group

Pertukaran kunci Diffie – Hellman (DH) adalah metode pertukaran kunci kriptografi yang aman melalui saluran komunikasi yang tidak aman. Saya akan menghasilkan set parameter DH 2048 bit baru untuk memperkuat keamanan web server saya:

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Jika Anda mau, Anda dapat mengubah ukurannya hingga 4096 bit, tetapi dalam hal ini, pembuatannya dapat memakan waktu lebih dari 30 menit tergantung pada system entropy.

Mendapatkan Sertifikat SSL Let’s Encrypt

Untuk mendapatkan sertifikat SSL Let’s Encrypt untuk domain, kita 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 akan 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 berikut akan 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/"
<Directory "/var/lib/letsencrypt/"> 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"

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

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

$ sudo a2enmod ssl$ sudo a2enmod headers

Selanjutnya, aktifkan file konfigurasi SSL dengan menjalankan perintah berikut:

$ sudo a2enconf letsencrypt$ sudo a2enconf ssl-params

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

$ sudo a2enmod http2

Muat ulang konfigurasi Apache agar perubahan diterapkan:

$ sudo systemctl reload apache2

Sekarang, kita dapat menjalankan Certbot tool dengan plugin webroot dan mendapatkan file sertifikat SSL dengan mengetik:

$ sudo certbot certonly --agree-tos --email admin@example.com --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

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

Output 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-10-28. 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: https://eff.org/donate-le

Sekarang Anda sudah 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 <If "%{HTTP_HOST} == 'www.example.com'"> 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, saya memaksa HTTPS dan mengalihkan dari versi www ke versi non-www. Anda bebas untuk menyesuaikan konfigurasi sesuai dengan kebutuhan Anda.

Muat ulang layanan Apache agar perubahan diterapkan:

$ sudo systemctl reload apache2

Anda sekarang dapat membuka situs web Anda menggunakan https://, dan Anda akan melihat ikon kunci hijau pada ujung browser Anda.

Jika Anda menguji domain Anda menggunakan SSL Labs Server Test, Anda akan mendapatkan nilai A+, seperti yang ditunjukkan gambar di bawah ini:

Perpanjangan otomatis Sertifikat SSL Let’s Encrypt

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 memperbarui sertifikat apa pun 30 hari sebelum berakhir.

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

$ 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 update, Anda dapat menggunakan switch certbot --dry-run:

$ sudo certbot renew --dry-run

Jika tidak ada kesalahan, itu berarti proses update telah berhasil.

Kesimpulan

Dalam tutorial panduan ubuntu ini, Anda amankan Apache menggunakan Let’s Encrypt client certbot, untuk mengunduh 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 juga telah menyiapkan cronjob untuk perpanjangan sertifikat otomatis.

Jika Anda ingin mempelajari lebih lanjut tentang cara menggunakan Certbot, Anda dapat mempelajarinya sendiri melalui dokumentasi resmi certbot disini.

Informasi lebih lanjut :

Recent Posts

See All
Bisakah Anda Benar-benar Menjadi Kaya Dari Forex

<p>Trading forex dapat menjadi pilihan yang menarik bagi siapa saja dengan modal terbatas karena leverage-nya yang tinggi dan sifatnya yang fluktuatif, yang berpotensi menawarkan keuntungan yang signi

 
 
 
Memahami Perbedaan Utama Antara Saham &#038; Forex

<p>Pasar keuangan menawarkan berbagai cara bagi investor dan trader. Dua yang paling populer adalah pasar saham dan pasar valuta asing (forex). Meskipun keduanya melibatkan pembelian dan penjualan den

 
 
 

Comments


© 2023 by Info Ponsel. Ditenagai dan diamankan oleh Wix

  • Instagram
  • YouTube
  • Facebook
  • Pinterest
bottom of page