Buat Sertifikat SSL Tepercaya Secara Lokal dengan mkcert di Ubuntu 18.04

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