[CentOS 7] Lab 8.6 Konfigurasi SSL untuk HTTPS (Apache Web Server)


Pada postingan kali ini, admin dari blog ini mau sharing mengenai Konfigurasi SSL untuk HTTPS. Materi ini adalah lanjuttan dari lab Apache Web Server. Jadi untuk melakukan tutorial ini, harus melakukan installasi Apache Web Server terlebih dahulu. Untuk konfigurasinya bisa dilihat di postingan sebelumnya yaitu Lab 8.1 Installasi dan Konfigurasi HTTP Sercer (Apache)

Fungsi dari web server itu sendiri adalah menerima requset dari client dan meresponnya melalui browser dengan berupa dokumen seperti teks, gambar,video, audio, file dan lain sebagainya yang dikirim melalui protokol HTTP (Hypertext Transmit Protocol) / HTTPS (Hypertext Transmit Protocol Secure). Terus apa bedanya web server yang melalui protokol HTTP dengan yang melalui HTTPS?  Sebenarnya kalau dalam definisinya, HTTP dan HTTPS memiliki pengertian yang sama. Akan tetapi, ada perbedaan antara keduanya yaitu Port default pada masing-masing Protkol dan dalam hal keamanan.

HTTP memiliki port defaultnya 80 dan untuk HTTPS port defaultnya 433. Dalam hal keamanan HTTPS lebih secure dibanding HTTP karena pada web server yang kita buat melalui HTTPS sudah diamankan oleh si SSL ini. SSL itu sendiri merupakan singkatan dari Secure Socket Layer. Dengan adanya SSL ini. Web server dapat melakukan fungsi/tugasnya dengan Secure (aman) dengan cara membuat sambungan aman untuk si web server di akses di browser client. Untuk konfigurasinya, kita harus mengaktifkan protokol si SSLnya. Beriktu konfigurasinya :

Topologi
Berikut adalah topologi yang digunakan untuk tutorial kali ini


Konfigurasi Server
1) Pertama-tama, masuk ke directory /etc/pki/tls/certs/. Directory ini adalah tempat sertifikat file si SSL
cd /etc/pki/tls/certs/

2) Masukkan perintah berikut untuk membuat sertifikat key nya. Di dalamnya. Kita akan diminta untuk membuat password.
make server.key

3) Selanjutnya buat crt nya. Masukkan command berikut. Di dalamnya, kita diminta untuk memasukkan password yang tadi dibuat sebelumnya.
openssl rsa -in server.key -out server.key

4) Setelah itu, buat csr nya. Di dalamnya, kita diminta untuk mengisi identitas si web server, seperti, negara organisasi, dan lain sebagainya. Lalu, buat password utnu si SSLnya.
make server.csr
Isi kan identitas untuk SSL nya:
  • Country Name : ID (indoensia) [Negara]
  • Province Name : Jawa Barat [Provinsi]
  • City : Bekasi [Kota]
  • Organization Name : SMK Negeri 1 Kota Bekasi [Organisasi]
  • Organization Unit : Unit dari Organisasi [TKJ]
  • Common Name : www.fiqih.net [Nama Domain]
  • E-mail Address : fiqih@fadillah.co.id [E-mail yang digunakan]


5) Kemudian, buat crt nya. Caranya, masukkan command dibarah ini. Jadi si crt ini merupakan gabungan dari file csr dan key nya yang dibuat sebelumnya. Hasilnya dari server.crt ini akan dikirim ke penyedia layanan SSL supaya key nya valid, lalu dikirim kembali ke kita agar dapat di generate ke server kita supaya dapat dikenali dan diterima oleh browser
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
  • x509 : Command yang digunakan untuk mengonversi sertifikat ke berbagai berntu
  • -in server.csr : Meng-input data dari server.csr yang berisi identitas si server
  • -out server.crt : Output nya akan menjadi server.crt
  • -req -signkey server.key : Request dari server.key
  • -days 3650 : Masa berlaku dari si sertifikat ketnya.


6) Kemudian masuk ke directory cd dan lakukan install mod ssl
cd /
yum install mod_ssl -y

7) Pastikan sudah terinstall dengan baik


8) Edit SSL nya dengan cara masuk ke file ssl.conf di directory /etc/htttpd/conf.d. 
nano /etc/httpd/conf.d/ssl.conf

9) Cari script SSLProtocol ubah dan tambahkan beberapa script seperti gambar dibawah ini
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2

10) Kemudian cari script SSLCertificateFile. Pada gambar 1 adalah konfigurasi sebelum di ubah. Kita ubah seperti pada gambar 2. Karena sebelumnya admin buat server.crt dan server.key nya di directory /etc/pki/tls/certs. Maka admin atur di file ssl.conf sesuaidengan directory si crt dan key nya supaya SSL nya dapat berjalan

(Gambar 1)
(Gambar 2)

11) Lakukan restart httpd
systemctl restart httpd

12) Karena tadi kita ubah letaknya dari /etc/pki/tls/private ke /etc/pki/tls/certs. Maka, jalankan dahulu restorecon nya supaya server.key nya dapat mengakses HTTPS nya.
restorecon -RvF /etc/pki/

13) Masuk ke file vhost.conf yang terletak di directori /etc/httpd/conf.d. Masukkan command berikut.
nano /etc/httpd/conf.d/vhost.conf

14) Admin tambahkan untuk si HTTPS. dengan ini kita dapat mengakses yang http dan juga htpd. Di sini admin menggunakna domain www.fiqih.net


15) Lakukan pengecheckkan terhadap konfigurasi yang dilakukan sebelumnya. Masukkan command berikut. 
apachectl configtest

16) Lakukan restart httpd
systemctl restart httpd

17) Tambahkan service pada firewall untuk httpsnya.
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
Keterangan :
  • firewall-cmd : Command untuk masuk ke konfigurasi firewall
  • Firewall --add-service=http : Command untuk menambahkan service https supaya dapat melewati firewall
  • firewall --permanent : Command untuk menambahkan atau me-setting sesuatu secara permanen di dalam firewall


18) Verifikasi akses lewat browser. yang satu menggunakan HTTP dan satunya lagi menggunakan HTTPS


19) Setifikat SSL yang kita buat tidak akan dikenali oleh web browser, Itu karena, SSL yang kita buat hanya untuk local saja. Supaya si sertificate nya dapat dikenali, kita harus mengirimkan server.crt nya ke penyedia layanan SSL. Yang nantinya akan didaftarkan oleh penyedia SSL supaya dapat di kenali oleh semua web browser. Untuk melihat isi websitenya, klik "Procced to www.fiqih.net (unsafe)"


20) Verifikasi akses web server lewat http dan httpd










Cukup sekian materi Konfigurasi SSL untuk HTTPS (Apache Web Server) Centos 7 yang dapat saya sharing

Tunggu tutorial selanjutnya
Terima kasih sudah berkunjung
Mohon maaf jika ada kekurangan dan
Semoga bermanfaat
Previous
Next Post »