Assalamu’alaikum wr.wb
Pada kali ini ane ingin share cara konfigurasi SSL pada webserver untuk membuat HTTPS. Atau singkatnya konfigurasi HTTPS pada webserver Apache di Centos7. Caranya seperti ini, pertama kita harus membuat sertifikat SSLnya dulu, kemudian kita request sertifikat.crt ke penyedia ssl, agar browser dapat mengenali ssl yang telah dibuat di server kita. tentunya hal ini berbayar. Namun kali ini saya akan membuatnya hanya sebatas “begini loh cara konfigurasi https di apache pake centos 7”
Jadi disini saya hanya akan membuat ssl bohongan tapi asli(server lokal), jadi browser tidak mengenal ssl yang kita buat dan harus melakukannya secara manual.
1. Secara default, sertifikat ssl yang sudah diizinkan pada firewall agar dapat dieksekusi berada di direktori /etc/pki/tls/certs/. Namun kalau mau buat dimana saja harus membuka firewall lagi. Untuk kasus seperti ini, maaf saya belum tahu caranya, dan kalau ada yang tahu bisa komen dibawah agar saya update lagi post ini. Pindah ke direktori /etc/pki/tls/certs/ untuk membuat ssl pada tahap selanjutnya, karena pada direktori tersebut terdapat script yang digunakan untuk membuat key, crt, dan csr yang dibutuhkan untuk membuat ssl.
2. Buat key sertifikat dengan menggunakan command make namassl.key . File .key ini berguna sebagai sign atau tanda tangan sertifikat yang dimiliki server. Kemudian nantinya kita diminta memasukkan password. Password ini bersifat optional, mau dimasukkan atau tidak, namun disini saya memasukkannya dengan alasan keamanan.
Command make tersebut adalah sebuah tool utility yang digunakan untuk maintain grup dari sebuah program. Dalam folder /etc/pki/tls/certs terdapat file Makefile yaitu berisi script yang digunakan untuk membuat file key, csr, dan crt yang telah saya bilang (silahkan anda periksa ls /etc/pki/tls/certs/). Untuk membuat file tersebut menggunakan command make yang akan mengikuti instruksi (skrip) dari isi file Makefile untuk membuat sesuatu yang telah diatur file tersebut.
3. Setelah membuat file key tersebut, selanjutnya adalah mengatur key tersebut menjadi file key yang digunakan untuk sign file csr, kemudian masukkan password yang telah dimasukan sebelumnya.
[root@alhudsf certs]# openssl rsa -in alisofyan.key -out alisofyan.key
Enter pass phrase for alisofyan.key:
writing RSA key
|
4. Kemudian kita buat sertifikat csrnya, caranya adalah dengan mengetikkan make namassl.csr. Masukkan identitas server yang akan dimasukkan kedalam file csr yang digunakan untuk menandakan bahwa ssl ini adalah milik siapa. Atau agar lebih mudah dipahaminya, setelah membuat file key yang berguna sebagai tanda tangan server, sekarang membuat surat yang akan dikirim.
5. Selanjutnya buat file crt yaitu gabungan antara csr dan key yang telah dibuat. File CSR tersebut berisi informasi server kita, dan key tersebut digunakan sebagai sign key.
Pada tahap ini ibaratnya adalah menandatangani surat yang akan dikirim. Maksud command diatas yaitu memanage data sertifikat (atribut x509) pada file csr kemudian dikeluarkan menjadi file .crt dengan request dari alisofyan.key sebagai signkey dan file crt ini berlaku sampai dengan 365 hari atau 1 tahun.
6. Install mod_ssl yang berguna untuk mendukung cryptography untuk webserver apache lewat protokol Secure Socket Layer (SSL) dan Transport Security Layer (TLS).
7. Ubah konfigurasi ssl pada apache
Ubah Protokol ssl yang disupport pada /etc/httpd/conf.d/ssl.conf agar hanya mengizinkan TLSv1 , TLSv1.1, dan TLSv1.2dengan cara ubah seperti dibawah ini.
–All maksudnya menghapus semua protokol SSL, dan +TLSv1, +TLSv1.1, +TLSv1.2 berguna untuk mengizinkan protokol tls yang ditentukan tersebut.
Masukkan SSLCertificateFile dan SSLCertificateKeyFile sesuai dengan yang telah dibuat sebelumnya
Karena saya meletakkan keyfile berbeda dengan defaultnya, yaitu pada /etc/pki/tls/private/ maka harus merestore file agar menjadi konteks selinux default pada direktori file yang tidak sesuai dengan konfigurasi defaultnya /etc/pki/tls/certs/ atau bisa juga pada direktori diatasnya.
8. Konfigurasi website yang akan menggunakan https.
Untuk melanjutkan konfigurasi lab sebelumnya, disisi saya menerapkannya pada virtualhost. Atau anda bisa juga menerapkannya pada defaultnya di /etc/httpd/conf/httpd.conf. Tinggal disesuaikan saja
Tambahkan baris konfigurasi seperti dibawah ini, dan disesuaikan dengan yang anda konfigurasi.
Pada konfigurasi tersebut, saya menambahkan virtualhost pada port 443 (https) dan hanya menambahkan 3 baris konfigurasi dari konfigurasi sebelumnya. Dan untuk https ini, saya meletakkan pada direktori yang berbeda dari sebelumnya, yaitu terdapat di /var/www/sofyan-secure/
SSLEngine berguna untuk mengaktifkan SSL pada virtualhost
SSLCertificateFile berguna untuk mendefinisikan file crt yang digunakan
SSLCertificateKeyFile berguna untuk mendefinisikan file key yang digunakan
9. Restart service httpd
10. Buka firewall untuk https, bisa dengan mengizinkan port 443 pada firewall dan bisa juga dengan mengizinkan service https. Disini saya membuka firewall untuk service https agar server mengizinkan request https pada klien dan dapat direspon oleh server. Kemudian reload firewall agar rule yang baru dapat berjalan.
11. Buat direktori untuk https yang telah dikonfigurasi pada virtualhost tadi untuk direktori konten website.
12. Buat file index untuk pengujian
kemudian masukkan script html sesuka hati anda
13. Buka web anda dengan mengetikkan https://namadomain, nantinya akan terlihat eror, namun kita bisa melewati eror tersebut dengan mengklik advanced -> proceced to this website pada chrome dan pada firefox bisa dengan klik add exception, dan pada browser lainnya tinggal disesuaikan saja.

Untuk melihat informasi SSL lewat browser, bisa dengan klik icon kunci warna merah, kemudian klik details, dan klik view certificate
Dan ini adalah informasi dari pembuatan csr pada tahap sebelumnya.
Sekian Semoga Bermanfaat
loading...
Comments
Post a Comment