Saturday, April 22, 2017

[CentOS 7] LAB 8.6 Konfigurasi SSL for HTTPS (Apache Web Server)

Assalamuallaikum 
WarahmatullahiWabarakatuh.

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Selamat pagi, ane ucapkan selamat datang kembali di blog Warung Informasi ini. Di dalam blog ini banyak terdapat berbagai macam - macam artikel yang menarik, tutorial dan kita bisa sharing di sini. Ga usah panjang lebar, disini ane mau sharing lagi nih, pada lab 8.6 ini, ane mau sharing bagaimana cara konfigurasi SSL untuk HTTPS.


Sebelumnya ane mau ngejelasin sedikit mengenai HTTPS dan SSL. Jadi yang membuat HTTPS menjadi secure adalah karena pada domain web server yang kita buat sudah diamankan menggunakan si SSL ini. Lalu apa itu SSL ? Jadi SSL ini merupakan singkatan dari Secure Socket Layer. Dengan menggunakan SSL, web server yang kita buat membuat sambungan aman dengan browser pengguna. SSL ini berbentuk sertifikat, jadi sebelum kita membuat web server kita menjadi sambungan yang aman untuk dia akses menggunakan browser client, kita harus mengaktifkan terlebih dahulu protokol SSL nya. Untuk mengaktifkan protokol SSL di web server, nantinya kita akan disuguhi beberapa pertanyaan yang harus diisi untuk membangun identitas kita.

Berikut adalah topologi yang ane gunakan


Lalu bagaimana cara konfigurasinya ? Simak terus artikel ini yaa...
  
Gambar 1

1.) Kita masuk atau berpindah directory terlebih dahulu ke tempat sertifikat file nya di directory /etc/pki/tls/certs/. Caranya jalankan perintah
cd /etc/pki/tls/certs/


Gambar 2

2.) Kemudian kita buat sertifikat key nya dengan menjalankan perintah
make server.key
Setelah itu kita diminta untuk memasukkan password, untuk membuat nya lebih aman maka kita masukkan passwordnya. Masukkan password sesuai password root saja, supaya tidak lupa.



Gambar 3

3.) Selanjutnya buat crt nya, disini ane membuat crt yang mudah. Untuk membuat nya jalankan perintah
openssl rsa -in server.key -out server.key
Kemudian nanti diminta memasukkan password yang tadi dibuat sebelumnya.


Gambar 4

4.) Setelah itu kita buat csr nya, untuk membuat csr ini nanti kita diminta untuk mengisi identitas web server kita. Untuk membuat csr nya jalankan perintah 
make server.csr
Seperti apa yang ane bilang diatas, kita diminta untuk mengisi identitas web server kita. Kemudian isi identitas untuk SSL nya.
Ket :

  • Country Name : Negara (ID/Indonesia)
  • Province Name : Provinsi (Jawa Barat) 
  • City : Kota (Bekasi)
  • Organization Name : Organisasi/Nama perusahaan (SMKN 1 Kota Bekasi)
  • Organization Unit : Unit organiasi di perusahaan (TKJ)
  • Common Name : Domain/Hostname dari server (www.anandarizky.co.id)
  • E -mail Address : E-mail yang digunakan (rizky@anandarizky.co.id)
Kemudian diminta memasukkan password dan optional company name, untuk SSL asli yang secure kita harus mengisi ini. Tetapi karena disini ane membuat SSL nya yang key nya di buat sendiri (lokal) jadi tidak diisi tidak apa apa.



Gambar 5

5.) Selanjutnya kita buat crt nya, crt ini merupakan gabungan dari key dan csr yang sebelumnya sudah dibuat. Untuk membut crt nya jalankan perintah 
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650   
 Ket :

  • x509 : Supaya dapat digunakan untuk menampilkan informasi sertifikat, mengonversi sertifikat ke berbagai bentuk, menandatangani permintaan sertifikat seperti "mini CA" atau mengedit pengaturan kepercayaan sertifikat.
  • -in server.csr : Input data dari server.csr yang berupa identitas yang dibuat sebelumnya
  • -out server.crt : Output data nya akan menjadi server.crt
  • -req -signkey server.key : Request dari server.key 
  • -days 3650 : Masa berlaku dari sertifikat keynya
Kemudian akan muncul seperti output di atas. Sedikit informasi, disini sertifikat keynya sudah jadi, dan yang diterima browsernya nya server.crt. Server.crt ini yang dikirim ke penyedia layanan SSL supaya key nya menjadi valid, kemudian di kirim kembali ke kita supaya dapat di generate ke server kita supaya dapat diterima dan dikenali oleh browser.



Gambar 6

6.) Kemudian kita pindah ke directory cd dengan menjalankan perintah
cd /


Gambar 7

7.) Karena modul SSL di apache belum aktif, maka kita install terlebih dahulu mod ssl nya dengan menjalankan perintah
yum install mod_ssl -y


Gambar 8

8.) Pastikan mod ssl terinstall dengan baik.



Gambar 9

9.) Kemudian kita edit SSL nya dengan masuk ke file ssl.conf yang terletak di directory /etc/httpd/conf.d. Untuk membuka file nya jalankan perintah
nano /etc/httpd/conf.d/ssl.conf


Gambar 10

10.) Untuk mengaktifkan sertifikat SSL nya di web server yang letaknya di SSL Protocol, cari script seperti gambar diatas.


Gambar 11

11.) Ubah dan tambahkan scriptnya menjadi seperti gambar diatas yang diberi blok warna biru.


Gambar 12

12.) Kemdudian cari script seperti gambar diatas yang di blok berwarna hijau.


Gambar 13

13.) Karena sebelumnya tadi kita membuat server.crt dan server.key nya di directory /etc/pki/tls/certs. Maka pada file ssl.conf ini kita sesuaikan juga directory untuk  server.crt dan server.key nya supaya SSL nya dapat dijalankan. Untuk lebih tepatnya silahkan liat seperti gambar diatas yang di blok berwarna biru. 



Gambar 14

14.) Kemudian restart httpd dengan menjalankan perintah
systemctl restart httpd


Gambar 15

15.) Karena tadi server.key terletak di /etc/pki/tls/private, dan directory server.key kita rubah letaknya ke /etc/pki/tls/certs. Maka kita jalankan dahulu restorecon nya supaya server.key nya dapat mengakses HTTPS nya dengan menjalankan perintah
restorecon -RvF /etc/pki/
Nanti akan muncul output seperti gambar diatas yang diberi blok warna hijau. 


Gambar 16

16.) Kemudian kita buka file vhost.conf yang terletak di directory /etc/httpd/conf.d dengan menjalankan perintah
nano /etc/httpd/conf.d/vhost.conf


Gambar 17

17.) Kemudian kita tambahkan untuk HTTPS nya dipaling bawah seperti gambar diatas, dengan ini kita dapat mengakses yang HTTP dan HTTPS. Disini ane menggunakan domain dengan nama www.adrizky.net.


Gambar 18

18.) Kemudian kita cek apakah konfigurasi kita ada yang salah atau tidak dengan menjalankan perintah
apachetl configtest
Apabila muncul output seperti diatas yang syntax OK, berarti konfigurasi kita sudah benar.


Gambar 19

19.) Kemudian restart httpd dengan menjalankan perintah
systemctl restart httpd


Gambar 20

20.) Kemudian tambahkan service pada firewall untuk httpsnya, dengan menjalankan perintah
firewall-cmd --add-service=https --permanent
firewall-cmd --reload 
Ket : 

  • firewall-cmd = Perintah untuk masuk ke settingan firewall 
  • firewall --add-service=http = Perintah untuk menambahkan service https supaya dapat melewati firewall 
  • firewall --permanent = Perintah untuk menambahkan sesuatu secara permanent didalam firewall
  • firewall-cmd --reload = Untuk me reload/ restart firewall


Gambar 21

21.) Kemudian buka web browser dan coba akses yang satu menggunakan HTTP dan yang satu nya menggunakan HTTPS.


Gambar 22

22.) Karena tadi kit amembuat SSL nya untuk lokal saja, maka sertifikat kita tidak akan dikenali oleh web browser. Supaya sertifikat kita dapat dikenali kita harus mengirimkan server.crt ke penyedia layanan SSL, nanti oleh mereka sertifikat kita akan didaftarkan supaya dapat dikenali dan diakses oleh semua pengguna web browser. Klik Proceed to www.adrizky.net (unsafe) supaya kita dapat melanjutkan untuk melihat isi web nya.



Gambar 23

23.) Sukses menampilakan isi dari web yang menggunakan HTTPS.

Jadi kesimpulannya dengan menggunakan SSL ini, akan terjadinya pertukaran data yang aman melalui web browser. Tetapi dengan catatan SSL yang digunakan pada web server harus valid dan sudah terdaftar. Supaya dapat dikenali dan dikases oleh semua pengguna web browser.
Mungkin hanya itu yang dapat ane sharing, mohon maaf bila banyak kesalahan dari segi kata dan penulisan.
Terima Kasih. Semoga Bermanfaat. 

Wassalamuallaikum Warahmatullahi Wabarakatuh.

 وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

0 komentar:

Post a Comment