Memasang SSL pada sebuah website dapat mencegah dari pencurian data, karena data yang terkirim telah terenkripsi dengan bahasa yang tidak dapat diterjemahkan secara langsung oleh manusia dan hanya dimengerti oleh komputer. Langsung saja saya akan berikan caranya.
Berikut langkah-langkahnya :
- Buat folder sebagai tempat untuk menaruh sertifikat yang akan kita buat, misalkan akan saya taruh pada folder /ssl
mkdir /ssl
- Masuk ke dalam folder yang kita buat, kemudian buat beberapa buah folder untuk menaruh key, csr, serta sertifikat
mkdir certs newcerts private csr
- Salin file konfigurasi openssl ke dalam folder /ssl
cp /etc/ssl/openssl.cnf /ssl/
Edit file openssl.cnf, cari kata $dir ganti dengan path tempat dimana kita menaruh sertifikat yang akan kita buat, ganti dengan /ssl - Buat file serial serta crlnumber, isikan dengan 00
echo 00 > serial echo 00 > crlnumber
- Buat file kosong index.txt
touch index.txt
- Generate rsa key dengan preshared key”qwerty” dan panjang bit 2048, buat beberapa untuk CA root, Server, dan Client
openssl genrsa -des3 -passout pass:qwerty -out private/rootCA.key 2048 openssl genrsa -des3 -passout pass:qwerty -out private/itclub.key 2048 openssl genrsa -des3 -passout pass:qwerty -out private/client.key 2048
- Untuk menghapus preshared key agar tidak memerlukan password lagi saat ingin digunakan
openssl rsa -passin pass:qwerty -in private/rootCA.key -out private/rootCA.key openssl rsa -passin pass:qwerty -in private/itclub.key -out private/itclub.key openssl rsa -passin pass:qwerty -in private/client.key -out private/client.key
- Buat CA root terlebih dahulu
openssl req -config openssl.cnf -new -x509 -subj '/C=ID/O=ITClub/CN=ITClub Panca' -days 999 -key private/rootCA.key -out certs/rootCA.crt
- Buat CSR ( Certificate Signing Request ) untuk Server dan Client
openssl req -config openssl.cnf -new -subj '/C=ID/O=ITClub/CN=ITClub Panca' -key private/itclub.key -out csr/itclub.csr openssl req -config openssl.cnf -new -subj '/C=ID/O=ITClub/CN=Client' -key private/client.key -out csr/client.csr
- Buat sertifikat untuk Server dan Client berdasarkan CSR yang sudah dibuat
openssl ca -batch -config openssl.cnf -days 999 -in csr/itclub.csr -out certs/itclub.crt -keyfile private/rootCA.key -cert certs/rootCA.crt -policy policy_anything openssl ca -batch -config openssl.cnf -days 999 -in csr/client.csr -out certs/client.crt -keyfile private/rootCA.key -cert certs/rootCA.crt -policy policy_anything
- Export sertifikat Client
openssl pkcs12 -export -passout pass:qwerty -in certs/client.crt -inkey private/client.key -certfile certs/rootCA.crt -out certs/clientcert.p12
Saya mencoba memasang sertifikat yang telah dibuat pada webserver apache, maka konfigurasikan webserver seperti berikut
SSLEngine on
SSLCertficateFile /ssl/certs/itclub.crt
SSLCertficateKeyFile /ssl/private/itclub.key
SSLCertificateChainFile /ssl/certs/rootCA.crt
SSLCACertficateFile /ssl/certs/rootCA.crt
SSLVerifyClient require
SSLVerifyDepth 10
Kemudian import rootCA.crt dan clientcert.p12 ke browser. Jika sudah maka tinggal membuka alamat website dengan menggunakan protokol HTTPS. Misalkan https://google.com, jika tidak ada error atau warning berarti Root CA yang dibuat sudah benar atau berhasil. Selamat mencoba dan terima kasih.
0 comments