Cara membuat sertifikat SSL yang ditandatangani sendiri lokal di CentOS 8

Cara membuat sertifikat SSL yang ditandatangani sendiri lokal di CentOS 8

SSL (Lapisan Soket Aman), dan versinya yang lebih baik, Tls (Lapisan soket transportasi), adalah protokol keamanan yang digunakan untuk mengamankan lalu lintas web yang dikirim dari browser web klien ke server web.

Sebuah SSL Sertifikat adalah sertifikat digital yang membuat saluran aman antara browser klien dan server web. Dengan melakukan itu, data sensitif dan rahasia seperti data kartu kredit, kredensial login, dan informasi yang sangat pribadi lainnya dienkripsi, mencegah peretas menguping dan mencuri informasi Anda.

Apa sertifikat SSL yang ditandatangani sendiri?

Sertifikat SSL yang ditandatangani sendiri, tidak seperti yang lain SSL sertifikat yang ditandatangani dan dipercaya oleh a Otoritas Sertifikat (Ca), adalah sertifikat yang ditandatangani oleh individu yang memilikinya.

Ini benar -benar gratis untuk membuat satu dan merupakan cara murah untuk mengenkripsi server web yang Anda hosting secara lokal. Namun, penggunaan sertifikat SSL yang ditandatangani sendiri sangat tidak dianjurkan di lingkungan produksi karena alasan berikut:

  1. Karena tidak ditandatangani oleh a Otoritas Sertifikat, Sertifikat SSL yang ditandatangani sendiri menghasilkan peringatan di browser web yang memperingatkan pengguna potensial risiko di depan jika mereka memutuskan untuk melanjutkan. Lansiran ini tidak diinginkan dan akan menghalangi pengguna untuk mengunjungi situs web Anda, berpotensi mengarah pada penurunan lalu lintas web. Sebagai solusi untuk peringatan ini, organisasi biasanya mendorong karyawan mereka untuk mengabaikan peringatan dan melanjutkan ke depan. Ini mungkin memunculkan kebiasaan berbahaya di antara pengguna yang mungkin memutuskan untuk terus mengabaikan peringatan ini di situs online lainnya, berpotensi menjadi korban situs phishing.
  2. Sertifikat yang ditandatangani sendiri memiliki tingkat keamanan rendah karena mereka menerapkan teknologi cipher tingkat rendah dan hash. Dengan demikian tingkat keamanan mungkin tidak setara dengan kebijakan keamanan standar.
  3. Selain itu, tidak ada dukungan untuk fungsi infrastruktur kunci publik (PKI).

Yang mengatakan, penggunaan sertifikat SSL yang ditandatangani sendiri bukanlah ide yang buruk untuk pengujian layanan dan aplikasi pada mesin lokal yang membutuhkan TLS / SSL enkripsi.

Dalam panduan ini, Anda akan belajar cara menginstal sertifikat SSL lokal yang ditandatangani sendiri di Apache server web localhost pada a Centos 8 sistem server.

Prasyarat:

Sebelum memulai, pastikan Anda memiliki persyaratan dasar berikut:

  1. Sebuah instance dari server Centos 8.
  2. Apache WebServer diinstal di server
  3. Nama host sudah dikonfigurasi dan ditentukan di /etc/host mengajukan. Untuk panduan ini, kami akan menggunakan tecmint.lokal nama host untuk server kami.

Langkah 1: Menginstal MOD_SSL di CentOS

1. Untuk memulai, Anda perlu memverifikasi bahwa Apache server web diinstal dan dijalankan.

$ sudo Systemctl Status httpd 

Inilah output yang diharapkan.

Verifikasi status Apache

Jika server web tidak berjalan, Anda dapat memulai dan mengaktifkannya setelah boot menggunakan perintah.

$ sudo systemctl mulai httpd $ sudo systemctl aktifkan httpd 
Mulai Server Web Apache

Anda kemudian dapat mengkonfirmasi jika Apache sedang dan berjalan.

2. Untuk mengaktifkan instalasi dan pengaturan sertifikat SSL yang ditandatangani sendiri, mod_ssl Paket diperlukan.

$ sudo dnf menginstal mod_ssl 

Setelah diinstal, Anda dapat memverifikasi instalasinya dengan berjalan.

$ sudo rpm -q mod_ssl 
Verifikasi Instalasi SSL MOD

Juga, pastikan bahwa Openssl Paket diinstal (Openssl Datang diinstal secara default Centos 8).

$ sudo rpm -q openssl 
Verifikasi Instalasi OpenSSL

Langkah 2: Buat sertifikat SSL yang ditandatangani sendiri lokal untuk Apache

3. Dengan Apache server web dan semua prasyarat di cek, Anda perlu membuat direktori di mana tombol kriptografi akan disimpan.

Dalam contoh ini, kami telah membuat direktori di /etc/ssl/pribadi.

$ sudo mkdir -p/etc/ssl/private 

Sekarang buat kunci dan file sertifikat SSL lokal menggunakan perintah:

$ sudo openssl req -x509 -nodes -newkey rsa: 2048 -keyout tecmint.lokal.KUNCI -out tecmint.lokal.crt 

Mari kita lihat apa yang sebenarnya diperjuangkan oleh beberapa opsi dalam perintah:

  • Req -x509 - Ini menunjukkan bahwa kami menggunakan permintaan penandatanganan sertifikat X509 (CSR).
  • -node - Opsi ini menginstruksikan OpenSSL untuk melewatkan mengenkripsi sertifikat SSL menggunakan frasa sandi. Idenya di sini adalah untuk memungkinkan Apache dapat membaca file tanpa intervensi pengguna apa pun yang tidak mungkin terjadi jika frasa sandi disediakan.
  • -Newkey RSA: 2048 - Ini menunjukkan bahwa kami ingin secara bersamaan membuat kunci baru dan sertifikat baru. Bagian RSA: 2048 menyiratkan bahwa kami ingin membuat kunci RSA 2048-bit.
  • -keyout - Opsi ini menentukan tempat untuk menyimpan file kunci pribadi yang dihasilkan setelah pembuatan.
  • -keluar - Opsi ini menentukan tempat untuk menempatkan sertifikat SSL yang dibuat.
Buat Sertifikat SSL Lokal untuk Apache

Langkah 3: Pasang sertifikat SSL lokal yang ditandatangani sendiri di Apache

4. Setelah menghasilkan file sertifikat SSL, sekarang saatnya menginstal sertifikat menggunakan pengaturan server web apache. Buka dan edit /etc/httpd/conf.D/SSL.conf file konfigurasi.

$ sudo vi/etc/httpd/conf.D/SSL.conf 

Pastikan Anda memiliki baris berikut antara tag host virtual.

 ServerAdmin [Email Dilindungi] SERVERNAME www.tecmint.Tecmint Serveralias Lokal.Documentrooth Local/var/www/html sslengine di SslcertificateFile/etc/ssl/private/tecmint.lokal.crt SslcertificateKeyFile/etc/ssl/private/tecmint.lokal.kunci  

Simpan dan Keluar dari file. Agar perubahan dapat dilakukan, restart Apache menggunakan perintah:

$ sudo systemctl restart httpd 

5. Agar pengguna eksternal mengakses server Anda, Anda perlu membuka port 443 melalui firewall seperti yang ditunjukkan.

$ sudo firewall-cmd --add-port = 443 --zone = publik --permanent $ sudo firewall-cmd --road 

Langkah 3: Menguji Sertifikat SSL Lokal Ditandatangani Sendiri di Apache

Dengan semua konfigurasi yang ada, nyalakan browser Anda dan telusuri alamat server Anda menggunakan alamat IP server atau nama domain menggunakan protokol HTTPS.

Untuk merampingkan pengujian, Anda dapat mempertimbangkan pengalihan protokol HTTP ke HTTPS di Webserver Apache. Ini agar setiap kali Anda menelusuri domain di HTTP biasa, secara otomatis akan dialihkan ke protokol HTTPS.

Jadi telusuri domain atau IP server Anda

https: // domain_name/ 

Anda akan mendapatkan peringatan yang memberi tahu Anda bahwa koneksi tidak aman seperti yang ditunjukkan. Ini akan bervariasi dari satu browser ke yang lain. Seperti yang mungkin Anda duga, peringatan tersebut disebabkan oleh fakta bahwa sertifikat SSL tidak ditandatangani oleh Otoritas Sertifikat dan browser mendaftarkan itu dan melaporkan bahwa sertifikat tidak dapat dipercaya.

Peringatan Sertifikat SSL

Untuk melanjutkan ke situs web Anda, klik pada 'Canggih'tab seperti yang ditunjukkan di atas:

Lanjutkan peringatan sertifikat SSL

Selanjutnya, tambahkan pengecualian ke browser.

Konfirmasi Pengecualian Keamanan

Akhirnya, muat ulang browser Anda dan amati bahwa Anda sekarang dapat mengakses server, meskipun, akan ada peringatan pada bilah URL bahwa situs tersebut tidak sepenuhnya aman karena alasan yang sama bahwa sertifikat SSL ditandatangani sendiri dan tidak ditandatangani oleh yang Otoritas Sertifikat.

Akses situs web melalui https

Ini adalah harapan kami bahwa Anda sekarang dapat melanjutkan dan membuat dan menginstal sertifikat SSL yang ditandatangani sendiri di server web LocalHost Apache di Centos 8.