Konfigurasi CA dan HTTPS Debian Server

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQAPZSihUZnVHoJ7BoDPz3WMtvAhOZeu40UL-nfeFQlcap3cvVoUKloKGOdEFmQ0OexJvPuHihQjkZ_PMG1vgLKUN87LC45MGR1ZovT_1czerLLDbCOETwfai-vQdo1H-K3-cS7wG6bKk/s400/https.jpg 




Di tutorial ini akan mengajarkan bagaimana caranya web server yang kita buat dapat di akses melalui HTTPS, untuk itu kita memerlukan Sertifkat SSL yang sudah di validasi oleh CA (Certificate Authority).

Certificate Authority, adalah sebuah lembaga yang memiliki tugas memvalidasi sertifikat ssl, jadi alurnya kira-kira seperti ini misal web saya dapat diakses lewat https, pertama saya buat sertifikat SSL nya dulu. lalu sertifikat SSL tadi di kirim ke CA untuk di validasi, nah hasil validasinya nanti dikirim ke saya,  tinggal pasang aja sertifikat yg sudah tervalidasi tadi.
Berhubung ini cuma lokal kita gak perlu daftar ke lembaga CA yang ada di internet cukup kita sendiri yang akan bertindak sebagai Lembaga CAnya.

A. Konfigurasi CA

     
1. kita buat dulu folder untuk menampung sertifikatnya nanti, bebas mau di buat dimana. contoh saya buat di direktori /etc/apache2/ssl.
# mkdir /etc/apache2/ssl/cert
# mkdir /etc/apache2/ssl/cert/crt
# mkdir /etc/apache2/ssl/cert/csr
# mkdir /etc/apache2/ssl/cert/key

2. Kita copy openssl.cnf ke direktori CA kita.
# cp /etc/ssl/openssl.cnf /etc/apache2/ssl/cert

3. Kita edit dir dan certs di bagian CA_default di file openssl.cnf tadi. Atur ke direktori CA yg dibuat tadi.
















4. Selanjutnya kita buat file index.txt, crlnumber, dan serial di direktori CA tadi. Jangan lupa isi crlnumber dan serial dengan angka 00
# touch index.txt crlnumber serial
# echo 00 > crlnumber
# echo 00 > serial

5. Selanjutnya kita buat key untuk sertifikat SSL CA kita.
# openssl genrsa -out key/CA.key

6. Lalu kita buat sertifikat CAnya.
# openssl req -new -config openssl.cnf -days 365 -x509 -key key/CA.key -out crt/CA.crt

Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:Jawa Timur
Locality Name (eg, city) []:Magetan
Organization Name (eg, company) [Internet Widgits Pty Ltd]:lks
Organizational Unit Name (eg, section) []:lks

B. Konfigurasi Sertifikat SSL web kita

1. Kita buat key untuk Sertifikat ssl web kita.
# openssl genrsa -out key/lks.key

2. Kita buat sertifikat ssl nya.
# openssl req -new -key key/lks.key -out csr/lks.csr

Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:Jawa Timur
Locality Name (eg, city) []:Magetan
Organization Name (eg, company) [Internet Widgits Pty Ltd]:lks
Organizational Unit Name (eg, section) []:lks
Common Name (e.g. server FQDN or YOUR name) []:lks.net
Email Address []:

 3. Tinggal kita validasikan sertifikat web kita ke CA tadi.
# openssl x509 -req -in csr/lks.csr -days 365 -CA crt/CA.crt -CAkey key/CA.key -set_serial 01 -out crt/lks.crt
 

C. Konfigurasi HTTPS

1. kita aktifkan dulu module ssl
# a2enmod ssl

2. tambahkan baris berikut di bagian bawah file default-ssl.conf
# cd /etc/apache2/sites-enabled/
# nano default-ssl.conf


SSLEngine On
SSLCertificateFile /etc/apache2/ssl/cert/crt/lks.crt
SSLCertificateKeyFile /etc/apache2/ssl/cert/key/lks.key
ServerName lks.net
DocumentRoot /var/www/html/
 

D. Import Sertifikat CA tadi ke browser client

1. Kirim file CA.crt yang beradi di direktori /cert/crt ke client. bisa menggunakan smaba, sftp, scp, atau ftp.
2. tinggal import di web browser client. contoh disini saya menggunakan firefox
3. tulis di url about:preferences#privacy
4. scroll ke paling bawah lalu tambahkan CA.crt tadi.














5. ceklis semua kolom
6. Tinggal test aja pastikan ada gembok hijau disamping kiri bar url.