0
0
0
share
#apache#server#web#web-server
0 Komentar
Cara Mengamankan Apache Web Server dengan Let's Encrypt di Ubuntu 16.04
Pendahuluan
Tutorial ini akan mengajak pembaca untuk mengatur sertifikat TLS/SSL dari Let’s Encrypt di server Ubuntu 16.04 yang menjalankan Apache sebagai server webnya. Kita juga akan membahas bagaimana mengotomasi proses perbaruan sertifikat.
Sertifikat SSL dipakai di dalam server web untuk mengenkripsi traffic antara server dan klien dengan memberikan tambahan lapisan keamanan bagi user yang mengakses aplikasi web kita. Let's Encrypt memberikan cara mudah untuk mengambil dan memasang sertifikat terpercaya tanpa biaya.
Prasyarat
Untuk menyelesaikan tutorial ini kita akan membutuhkan:
- Server Ubuntu 16.04 dengan user non-root yang memiliki akses sudo, yang mana bisa diatur dengan mengikuti tutorial Yang Perlu Dilakukan Setelah Memasang Server Ubuntu 16.04.
- Server web Apache dengan satu atau lebih domain name yang telah diatur menggunakan Virtual Host. Virtual Host ini harus memiliki nilai
ServerName
(baca Membuat Virtual Host Apache di Ubuntu 16.04).
Jika sudah siap untuk move on, login ke server dengan akun user biasa.
Langkah 1 — Pasang Klien Let's Encrypt
Sertifikat Let's Encrypt dapat diunduh lewat software klien yang berjalan di server kita. Klien resmi untuk Let's Encrypt bernama Certbot dan sudah memiliki repositori Ubuntu sendiri dengan versi terbaru. Karena pengembangannya yang sangat aktif, maka kita dapat langsung memasang Certbot terbaru dari repositorinya sendiri daripada menggunakan repositori Ubuntu.
Pertama, tambahkan dulu repositorinya:
sudo add-apt-repository ppa:certbot/certbot
Tekan ENTER
untuk menerima. Lalu, jalankan perintah di bawah:
sudo apt-get update
Terakhir, pasang Certbot dengan perintah:
sudo apt-get install python-certbot-apache
Software klien certbot
Let's Encrypt sekarang sudah siap dipakai.
Langkah 2 — Mempersiapkan Sertifikat SSL
Membuat sertifikat SSL untuk Apache menggunakan Certbot cukup mudah. Klien secara otomatis akan mengambil dan memasang sertifikal SSL baru yang valid untuk domain yang diberikan sebagai parameter saat menjalankannya.
Untuk menjalankan pemasangan interaktif dan mengambil sertifikat untuk satu domain, jalankan perintah certbot
sebagai berikut, alamat example.com
dapat diganti dengan domain sendiri:
sudo certbot --apache -d example.com
Jika ingin menggunakan satu sertifikat valid untuk beberapa domain atau subdomain, kita bisa menambahkannya setelah domain utama. Domain yang pertama yang diberikan akan menjadi base domain untuk membuat sertifikatnya. Oleh karena itu sangat direkomendasikan untuk menggunakan top-level domain sebagai parameter pertama baru diikuti oleh subdomain atau alias yang lain:
sudo certbot --apache -d example.com -d www.example.com
Di contoh ini, base domainnya adalah example.com
.
Setelah dependensi terpasang, kita akan dimintai beberapa data yang diperlukan untuk pembuatan sertifikat. Kita akan dimintai alamat email untuk melakukan recovery key serta pemberitahuan dan kita juga dapat mengatur untuk mengaktifkan http
dan https
sekaligus atau memaksa semua request ke https
. Cara paling aman ialah dengan menggunakan https
saja, kecuali jika memang membutuhkan ada traffic yang hanya dilakukan dengan http
.
Setelah pemasangan selesai, kita dapat melihat sertifikat yang dibuat di etc/letsencrypt/live
. Kita juga dapat melakukan verifikasi status sertifikat SSL melalui tautan berikut: (jangan lupa untuk mengganti example.com dengan base domain):
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
Seharusnya sekarang kita sudah bisa mengakses website dengan https
.
Langkah 3 — Mengatur Perbaruan Otomatis
Sertifikat Let's Encrypt hanya valid selama 90 hari. Pengguna disarankan untuk mengotomatiskan proses perbaruan sertifikatnya. Kita perlu menyiapkan perintah yang akan berjalan secara otomatis untuk memeriksa tanggal kadaluarsa sebuah sertifikat dan memperbaruinya.
Untuk menjalankan proses di atas kita akan menggunakan cron
, service sistem standar untuk melakukan pekerjaan yang berulang. Kita akan memberitahu cron
apa yang harus dilakukan dengan membuka dan mengubah isi file bernama crontab
.
sudo crontab -e
Tambahkan baris berikut ke dalam crontab:
crontab
. . .
15 3 * * * /usr/bin/certbot renew --quiet
Bagian 15 3 * * *
dari perintah di atas artinya "jalankan perintah ini setiap hari jam 3:15 pagi.
Perinath renew
akan memberitahu Certbot untuk memeriksa semua sertifikat yang terpasang di sistem dan memperbarui setiap sertifikat yang akan kadaluarsa dalam 30 hari. Opsi quiet
memberitahu Certbot untuk tidak menampilkan informasi apapun atau menunggu masukan pengguna.
Sistem cron
akan menjalankan perintah ini setiap hari. Karena kita memasang sertifikat dengan menggunakan --apache
, maka Apache juga akan direstart untuk menggunakan sertifkat yang baru.
Penutup
Di tutorial ini, kita telah belajar bagaimana memasang sertifikat SSL gratis dari Let's Encrypt untuk mengamankan website yang menggunakan Apache. Kami sarankan pembaca untuk memeriksan blog resmi Let's Encrypt untuk info terbaru serta membaca dokumentasi Certbot untuk detail lebih lengkap mengenai klien yang tadi kita gunakan.
Diterjemahkan dari How To Secure Apache with Let's Encrypt on Ubuntu 16.04 di bawah Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
0
0
0
share