GNU/Linux >> Belajar Linux >  >> Linux

Kuasai Sertifikat yang Ditandatangani Sendiri di Windows &Linux

Di dunia TI, mengamankan aplikasi dan domain infrastruktur Anda sangat penting. Dan untuk mencapai tingkat keamanan yang ideal, Anda memerlukan sertifikat SSL. Tapi bagaimana Anda mendapatkan sertifikat SSL? Salah satu cara termudah dan paling hemat biaya adalah membuat sertifikat yang ditandatangani sendiri di sistem Anda.

Sertifikat yang ditandatangani sendiri adalah sertifikat kunci publik yang dapat dibuat sendiri oleh pengguna daripada dikeluarkan oleh otoritas sertifikat. Dan dalam tutorial ini, Anda akan mempelajari cara membuat sertifikat yang ditandatangani sendiri di mesin Windows dan Linux (gratis).

Baca terus dan mulai mengamankan aplikasi dan infrastruktur Anda!

Prasyarat

Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut:

  • Perangkat Windows 10+.
  • Mesin Ubuntu minimal 14.04.4 LTS – Tutorial ini menggunakan Ubuntu 20.04.4 LTS.
  • Apache diinstal pada mesin Windows dan Linux.
  • OpenSSL terinstal di mesin Windows Anda – Tutorial ini menggunakan OpenSSL 3.0.3 Light (32-bit).

Membuat Sertifikat yang Ditandatangani Sendiri di Ubuntu

Cara termudah untuk menguji sertifikat yang ditandatangani sendiri adalah di server web, dan salah satu server web yang paling banyak digunakan adalah Apache. Jadi Mari kita mulai tutorial ini dengan mengonfigurasi server Apache yang sudah diinstal pada mesin Ubuntu.

1. SSH ke VM Ubuntu Anda menggunakan klien SSH favorit Anda.

2. Jalankan perintah apt update di bawah ini untuk memastikan bahwa Ubuntu memiliki semua sumber paket terbaru.

sudo apt update 

3. Selanjutnya, buka browser web favorit Anda, navigasikan ke :80 , dan Anda akan melihat beranda Apache hanya terbuka di port HTTP (Tidak aman).

4. Sekarang, jalankan setiap perintah di bawah ini untuk membuat direktori bernama ~/certificates dan ubah ke direktori tempat Anda akan menyimpan sertifikat.

mkdir ~/certificates
cd ~/certificates

5. Selanjutnya, jalankan perintah openssl berikut untuk menghasilkan Certificate Signing Request (CSR ) dan kunci pribadi.

openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes

Setelah Anda menjalankan perintah, masukkan detailnya, seperti yang ditunjukkan di bawah ini.

Mengamankan Server Apache dengan Sertifikat SSL di Ubuntu

Setelah membuat sertifikat, Anda harus mengonfigurasi server Apache untuk menggunakan sertifikat. Tetapi pertama-tama, Anda memerlukan direktori khusus untuk menyimpan sertifikat Anda. Anda akan mengaktifkan modul SSL nanti dan menguji apakah sertifikat berfungsi dalam mengamankan server Apache Anda.

1. Jalankan perintah berikut untuk membuat direktori (/etc/apache2/ssl) dan pindahkan sertifikat dari direktori ~/certificates/ ke direktori /etc/apache2/ssl.

mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.

2. Buka file konfigurasi situs Apache SSL default (/etc/apache2/sites-available/default-ssl.conf) dan tambahkan baris di bawah ini. Pastikan untuk mengganti dengan nama asli server Anda.

Dalam kode di bawah ini, Anda menentukan lokasi (kunci sertifikat dan file) tempat Anda menyalin sertifikat sebelumnya.

ServerName 
SSLCertificateFile    /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On

3. Sekarang, jalankan setiap perintah di bawah ini untuk mengaktifkan modul SSL, aktifkan situs yang Anda modifikasi (langkah keempat), dan mulai ulang layanan Apache.

# Enable the SSL module so that you can work with SSL connections.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# Enable the site you modified (step four)
sudo a2ensite default-ssl.conf
# Restart the Apache service
sudo service apache2 restart

4. Terakhir, navigasikan ke server Apache Anda lagi. Tapi kali ini, menggunakan HTTPS, seperti yang ditunjukkan di bawah ini.

Seperti yang Anda lihat, Apache berhasil dibuka dengan koneksi SSL pada port HTTPS. Jangan khawatir jika Anda melihat simbol peringatan yang menampilkan pesan Tidak aman. Anda akan mendapatkan peringatan itu karena Anda menggunakan sertifikat yang ditandatangani sendiri (dibuat oleh Anda) dan bukan oleh otoritas sertifikat.

Klik Lanjutkan ke (tidak aman) untuk melanjutkan mengakses server Apache.

Apakah Anda melihat halaman yang sama seperti yang ditunjukkan di bawah ini? Selamat! Anda telah berhasil mengamankan server Apache dengan sertifikat yang ditandatangani sendiri.

Membuat Sertifikat SSL di Windows

Sebelumnya Anda mengamankan server Apache yang dihosting di mesin Ubuntu menggunakan sertifikat yang ditandatangani sendiri. Dengan cara yang sama, Anda juga dapat mengamankan server Apache di OS Windows.

Untuk mengamankan server Apache Anda di Windows:

1. Buka file konfigurasi Apache (httpd.conf) di C:\Apache24\conf lokasi dan batalkan komentar pada baris di bawah ini.

Baris berikut mengaktifkan modul SSL pada mesin Windows dan mengizinkan Apache untuk bekerja dengan port HTTPS.

LoadModule rewrite_module modules/mod_rewrite.so

2. Selanjutnya, buka PowerShell sebagai administrator, dan jalankan perintah openssl berikut untuk membuat Permintaan Penandatanganan Sertifikat (CSR) dan kunci pribadi.

openssl req -x509 -newkey rsa:4096 -keyout Apache.key -out Apache.crt -days 365 -nodes

Setelah menjalankan perintah, masukkan detail untuk sertifikat Anda, seperti yang ditunjukkan di bawah ini.

3. Navigasikan ke direktori bin instalasi OpenSSL (C:\ProgramFiles\OpenSSL-Win64\bin ) dan verifikasi sertifikat dan kunci Apache di bawah ini.

Mengonfigurasi Server Apache untuk Menggunakan Sertifikat SSL

Anda baru saja membuat sertifikat dan kunci untuk mengamankan koneksi server Apache. Namun seperti halnya Ubuntu, Anda memerlukan folder khusus untuk menyimpan sertifikat dan kunci Anda serta mengaktifkan modul SSL.

1. Salin file sertifikat SSL Anda (apache.crt ) dan file kunci pribadi (apache.key ) ke C:\Apache24\conf folder.

2. Edit file konfigurasi SSL Apache (C:/Apache24/conf/httpd.conf ), dan tambahkan baris berikut atau batalkan komentar jika sudah ada.

Baris di bawah ini mengaktifkan modul SSL dan mengizinkan Apache untuk bekerja pada Port HTTPS.

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

3. Sekarang, edit file Apache SSL (C:/Apache24/conf/extra/httpd-ssl.conf ) dan tambahkan baris berikut. File ini akan dipanggil oleh httpd.conf file secara internal seperti yang didefinisikan dalam httpd.conf file (Sertakan conf/extra/httpd-ssl.conf).

SSLCertificateFile "C:\Apache24\conf\apache.crt"
SSLCertificateKeyFile "C:\Apache24\conf\apache.key"

4. Jalankan perintah berikut di PowerShell untuk menavigasi ke folder bin instalasi Apache, dan memulai layanan Apache.

# Change the working directory
cd C:\ProgramFiles\OpenSSL-Win64\bin
# Start the Apache service
./httpd.exe

5. Terakhir, navigasikan ke https://localhost untuk memverifikasi server Apache.

Anda akan melihat pesan yang sama (Berhasil!) di halaman, yang mengonfirmasi bahwa server Apache berjalan dengan sertifikat yang ditandatangani sendiri pada mesin Windows.

Kesimpulan

Dalam tutorial ini, Anda mempelajari cara mengonfigurasi server web Apache di sistem operasi Ubuntu dan Windows dan memverifikasi bahwa Anda dapat mengakses instance Apache dengan aman.

Sekarang, bagaimana Anda berencana untuk meningkatkan permainan Anda dengan Apache? Mungkin mengotomatiskan penerapan web? Atau buat jalur CD Jenkins CI untuk meningkatkan proses pengembangan perangkat lunak Anda?


Linux
  1. Kuasai perintah Linux ls

  2. 10 ALASAN MENGUBAH WINDOWS 10 KE LINUX

  3. Cara Instal Apache 2 dengan SSL di Linux (dengan mod_ssl, openssl)

  1. Linux vs Windows Hosting

  2. Menggunakan SNI untuk meng-host beberapa sertifikat SSL di Apache

  3. Mendekripsi SSL menggunakan Wireshark di Linux vs Windows

  1. Hasilkan Sertifikat SSL Dengan LetsEncrypt di Debian Linux

  2. exFAT vs NTFS di Linux

  3. Lokasi Sertifikat SSL di UNIX/Linux