Halo teman-teman, selamat datang di tutorial tentang cara membuat sertifikat SSL tepercaya secara lokal dengan mkcert di Ubuntu 18.04.
mkcertadalah alat konfigurasi nol sederhana yang digunakan untuk membuat sertifikat pengembangan tepercaya secara lokal. Ini secara otomatis membuat dan menginstal CA lokal di penyimpanan akar sistem, dan menghasilkan sertifikat tepercaya secara lokal.
Menggunakan sertifikat dari otoritas sertifikat nyata (CA) untuk pengembangan bisa berbahaya atau tidak mungkin (untuk host seperti localhostatau 127.0.0.1), tetapi sertifikat yang ditandatangani sendiri menyebabkan error kepercayaan. Mengelola CA Anda sendiri adalah solusi terbaik, tetapi biasanya melibatkan perintah misterius, pengetahuan khusus, dan langkah-langkah manual, tetapi tidak lagi dengan ketersediaan utilitas mkcert.
Tanpa banyak teori, mari kita lihat bagaimana mkcert dapat membantu Anda dalam hal ini.
Buat Sertifikat SSL Tepercaya Secara Lokal dengan mkcert di Ubuntu 18.04
Menginstal mkcert di Ubuntu 18.04
Sebagai prasyarat, Anda harus menginstal certutil, utilitas command line yang dapat membuat dan memodifikasi sertifikat dan database kunci sebelum Anda dapat menginstal utilitas mkcert.
sudo apt install libnss3-tools -y
Setelah instalasi certutil selesai, download versi mkcert pre-built binary saat ini dari halaman rilis Github.
Pada tulisan ini, versi mkcert saat ini adalah v1.4.3
Jadi download versi saat ini dan instal seperti yang ditunjukkan di bawah ini
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
sudo cp mkcert-v1.4.3-linux-amd64 /usr/local/bin/mkcert
sudo chmod +x /usr/local/bin/mkcert
Hasilkan CA Lokal di Ubuntu 18.04
Sekarang setelah utilitas mkcert diinstal, jalankan perintah di bawah ini untuk menghasilkan CA lokal Anda.
mkcert -install
local CA is now installed in the system trust store! âĄī¸ local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! đĻ
Root CA disimpan di bawah #HOME/.local/share/mkcert.
Anda dapat mencetak direktori lokasi jalur CA root dengan menjalankan perintah di bawah ini.
mkcert -CAROOT
/home/amos/.local/share/mkcert
Jika Anda mengalami error:
ERROR: no Firefox and/or Chrome/Chromium security databases found
Cukup luncurkan browser dan jalankan kembali perintah install.
Buat Sertifikat SSL Tepercaya Secara Lokal dengan mkcert di Ubuntu 18.04
Sekarang setelah Anda memiliki CA lokal, jalankan perintah di bawah ini untuk membuat sertifikat SSL lokal menggunakan perintah mkcert.
mkcert kifarunix-demo.com '*.kifarunix-demo.com' localhost 127.0.0.1 ::1
Sample command output;
Created a new certificate valid for the following names đ - "kifarunix-demo.com" - "*.kifarunix-demo.com" - "localhost" - "127.0.0.1" - "::1" Reminder: X.509 wildcards only go one level deep, so this won't match a.b.kifarunix-demo.com âšī¸ certificate is at "./kifarunix-demo.com+4.pem" and the key at "./kifarunix-demo.com+4-key.pem" â It will expire on 31 August 2023 đ
Anda memiliki sertifikat dan kunci di direktori kerja saat ini;
ls -1./kifarunix-demo.com+*
./kifarunix-demo.com+4-key.pem./kifarunix-demo.com+4.pem
Aktifkan HTTPS Server Web menggunakan Sertifikat
Sertifikat sekarang telah terpasang dan sekarang saatnya untuk mengaktifkan server web Anda untuk menggunakannya untuk koneksi HTTPS.
Untuk mengonfigurasi Apache agar menggunakan sertifikat ini, edit file konfigurasi ssl default, /etc/apache2/sites-available/default-ssl.conf dan ubah sertifikat SSL dan file kunci untuk menunjuk ke file sertifikat dan kunci yang dibuat secara lokal di atas.
Lihat contoh di bawah ini. Perhatikan bahwa sertifikat ada di direktori home saya.
Be sure to replace the paths accordingly.
sudo sed -i 's#/etc/ssl/certs/ssl-cert-snakeoil.pem#/home/koromicha/kifarunix-demo.com+4.pem#; s#/etc/ssl/private/ssl-cert-snakeoil.key#/home/koromicha/kifarunix-demo.com+4-key.pem#' /etc/apache2/sites-available/default-ssl.conf
Untuk memverifikasi ini;
grep -E "SSLCertificateFile|SSLCertificateKeyFile" /etc/apache2/sites-available/default-ssl.conf
# SSLCertificateFile directive is needed. SSLCertificateFile /home/koromicha/kifarunix-demo.com+4.pem SSLCertificateKeyFile /home/koromicha/kifarunix-demo.com+4-key.pem # the referenced file can be the same as SSLCertificateFile
Aktifkan Apache untuk menggunakan SSL dengan memuat modul ssl;
sudo a2enmod ssl
sudo a2ensite default-ssl.conf
Reload dan mulai ulang Apache untuk mengaktifkan konfigurasi baru
sudo systemctl restart apache2
Verifikasi Sertifikat SSL Lokal yang dihasilkan dengan mkcert
Arahkan ke browser dan coba akses domain Anda.
Saya menggunakan file host lokal untuk entri DNS saya.
Aktifkan Sertifikat untuk Server Web Nginx
Buat konfigurasi halaman web Anda seperti yang ditunjukkan di bawah ini.
Replace the paths to the ceritificate and key accordingly
vim /etc/nginx/sites-available/example.com
server { listen 80; listen 443 ssl; ssl on; ssl_certificate /home/koromicha/kifarunix-demo.com+4.pem; ssl_certificate_key /home/koromicha/kifarunix-demo.com+4-key.pem; server_name example.com; location / { root /var/www/html/example; index index.html; } }
Verifikasi bahwa konfigurasi tidak memiliki error.
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Mulai ulang Nginx
systemctl restart nginx
Arahkan ke browser dan uji ssl Anda untuk domain Anda.
Yah, sepertinya sampai sejauh itu semuanya baik-baik saja.
Dan itu menyimpulkan panduan kami tentang cara membuat sertifikat SSL tepercaya secara lokal dengan mkcert di Ubuntu 18.04.
Lebih banyak mkcertinformasi useran.
mkcert --help
Tutorial lainnya
Konfigurasikan Nginx dengan sertifikat SSL/TLS di CentOS 8
Pantau Kedaluwarsa Sertifikat SSL/TLS dengan Prometheus dan Grafana
Konfigurasi Apache dengan Sertifikat SSL/TLS di CentOS 8
Cara mudah untuk mengonfigurasi Koneksi Filebeat-Logstash SSL/TLS