[CentOS 7] [8.6] Konfigurasi HTTPS Apache

Konfiguarasi HTTPS Apache Web Server



Assalamu'alaikum Wr Wb

Setelah sebelumnya saya telah posting 5 lab mengenai Apache Web Server, sekarang masih lanjut lagi, yaitu tentang bagaimana cara Konfigurasi HTTPS pada Apche Web Server di OS CentOS 7.

Sebelumnya, apa itu HTTPS?

HTTPS (Hyper Text Transfer Protocol Secure) Umumnya sama dengan HTTP, yaitu protokol yang mengatur komunikasi antara client dan server.  Pada umumnya cara komunikasi antara client dan server adalah client melakukan request ke server, kemudian server mengirimkan respon terhadap client. Respon yang dimaksud dapat berupa file HTML yang akan ditampilkan di browser ataupun data lain yang di-request oleh client

Namun HTTPS ini dapat dibilang versi amannya HTTP, karena HTTPS ini bekerja bersama protokol SSL (Secure Socket Layer) atau Transport Layer Security (TLS) yang memungkinkan adanya Enkapsulasi dan menambahkan keamanan sebuah jaringan yang diakses pada browser.

Nah, mungkin cukup segitu penjelasan mengenai HTTPS, sekarang langsung saja kita masuk ke tahap Konfigurasi

Berikut Topologi yang saya buat


Konfigurasi Server

MEMBUAT SERTIFIKAT SSL

1) Pertama pindah terlebih dahulu, ke directory /certs/ karena disitulah letak file make yang berfungsi untuk membuat Certificied SSL
cd /etc/pki/tls/certs/

2) Sekarang buat file key atau kunci untuk file csr yang nantinya akan kita buat. Kemudian nanti akan diminta password untuk file key tersebut, maka dari itu masukan saja passwordnya terserah kalian


3) Sekarang buat file csr nya. File csr ini merupakan identitas dari Sertfikat yang nantinya akan terbuat.

Maka nanti kalian akan diminta untuk memasukan beberapa identitas, Seperti Negara, Email, Organisasi, dan lain sebagainya.


4) Nah sekarang buat file crt yang merupakan Sertifikat yang terbentuk dari hasil pergabungan file csr dan key yang sudah dibuat tadi dengan menggunakan openssl


Keterangan :

  • x509 merupakan format public key certificates atau sertifikat yang digunakan
  • -in merupakan sumber dari identitas yang nantinya akan di include kedalam sertifikatnya
  • -out merupakan Sertifikat, atau hasil dari generate file
  • -req -signkey merupakan file keynya.
  • -days merupakan jangka waktu untuk sertifikat tersebut dalam hitungan hari


CONFIGURE SSL

1) Setelah Sertifikat SSL telah dibuat, sekarang install mod_ssl
yum install mod_ssl -y 

2) Jika sudah terinstall, edit file ssl.conf yang terletak di /etc/httpd/conf.d/ssl.conf
nano /etc/httpd/conf.d/ssl.conf

3) Cari Synatk SSLProtocol, kemudian tambahkan script yang sudah saya tandai berwarna hijau pada gambar dibawah ini


4) Masih di ssl.conf, scrool kebawah kemudian arahkan Sertifikat File beserta keynya sesuai dengan directory mana tempat kalian membuat file tersebut. Sebagai contoh lihat gambar dibawah ini


5) Jika sudah, sekarang restart httpdnya
systemctl restart httpd

6) Karena tadi membuat file nya tidak dilokasi default, dan membuatnya didalam directory /etc/pki/. maka dari itu harus di restorecon terlebih dahulu
restorecon -RvF /etc/pki/

7) Test konfigurasi apache untuk memastikan sudah benar atau masih ada syntak yang salah
apachectl configtest

Jika tulisan Syntak OK, maka konfigurasi sudah benar dan tidak ada syntak yang salah, typo, dll.

8) Tambahkan service https kedalam firewall, dan kemudian jangan lupa direload
firewall-cmd --add-service=https --permanent
firewall-cmd --reload 

9) Disini saya menerapkan konten Web untuk HTTPS pada file konfigurasi Virtual host yang terletak di directory /etc/httpd/conf.d/ yang sudah saya buat pada lab sebelumnya.


10) Kemudian tambahkan script seperti gambar dibawah ini,




  • SSLEngine berfungsi untuk mengaktifkan SSL pada virtualhost 
  • SSLCertificateFile berfungsi untuk mendefinisikan file crt yang digunakan 
  • SSLCertificateKeyFile berfungsi untuk mendefinisikan file key yang digunakan

11) Buat directory dan letaknya sesuai dengan apa yang sudah dikonfigurasi pada file virtual host tadi. kemudian edit file index.html untuk konten dari web https tersebut



12) Edit filenya sesuai keinginan kalian,


Verifikasi Client


1) Buka web browser kalian, kemudian tuliskan nama domain kalian di address bar dan diikuti https:// di belakangnya.


2) Nah maka akan ada peringatan Connection is not private karena SSL yang kita buat bersifat lokal.

Untuk yang menggunakan browser Google Chrome, klik Advanced kemudian klik Proced to "nama domain" (unsafe)



3) Nah maka maka akan muncul halaman web Https seperti gambar dibawah ini



4) Sekarang coba di inspect pagenya, kemudian pada tab security akan ada caution broken HTTPS. Jika ingin melihat sertifikatnya klik View certificate


5) Nah dari sertifikat tersebut maka akan ada informasi mengenai web https tersebut, tepatnya informasi yang telah kita buat tadi di file csr.


Website HTTPS yang telah kita buat tadi secara default terletak di directory /var/www/html/, jika kalian ingin mengedit tampillan website https tersebut maka editlah file index.html yang terletak di /var/www/html/. Dan jika kalian ingin mengganti directory untuk website tersebut, atau membuat virtual host, editlah file ssl.conf yang terletak di /etc/httpd/conf.d/, Disitu terdapat syntak <VirtualHost _default_:443> dan tepat dibawahnya terdapat sytank DocumentRoot untuk mengarahkan ke directory mana website tersebut diletakan, dan ada juga syntak ServerName yang merupakan nama domainnya. Dan bisa juga membuat file .conf di directory /etc/httpd/conf.d sebagai file konfigurasi untuk virtual hostnya.

Oke, mungkin cukup sekian untuk postingan tutorial Konfigurasi HTTPS di Apache Centos 7.

Semoga Bermanfaat...

Comments