Konfigurasi HTTPS di Web Server Apache pada Ubuntu Server - Part 1


Apakah anda pernah memperhatikan bahwa komunikasi internet yang anda lakukan memiliki dua tipe, yaitu komunikasi terbuka (misalnya HTTP) dan komunikasi yang di amankan (misalnya HTTPS), komunikasi terbuka itu merupakan komunikasi dimana setiap data yang akan dikirimkan tidak diamankan terlebih dahulu atau dikirimkan apa adanya (clear text), sehingga apabila ada person yang sedang melakukan kegiatan "sniffing", maka ada kemungkinan setiap komunikasi data yang dilakukan akan dapat dibaca oleh si "pengendus". Sedangkan komunikasi yang diamankan merupakan sebaliknya yaitu dimana setiap komunikasi data yang akan dilewatkan atau dikirimkan ke tujuan harus melewati pengamanan atau enkripsi (pengacakan dengan algoritma tertentu) terlebih dahulu sehingga untuk membacanya perlu digunakan teknik khusus untuk membuka data yang dilewatkan tersebut. Enkripsi yang dilakukan ada beberapa macam metode, salah satunya metode Public Key Infrastructure (PKI) seperti yang digunakan pada komunikasi HTTPS. Nha pada artikel kali ini saya akan membahas bagaimana membuat pengamanan koneksi berbasis PKI yang diimplementasikan di HTTPS pada web server Apache di Ubuntu Server. Mungkin pada artikel berikutnya saya akan lebih jauh lagi membahas metode PKI tersebut dan cara kerjanya.

Mari kita teruskan, apabila anda melihat pada ujung kolom URL address di sebelah kanan pada browser anda, maka anda akan bisa membedakan mana komunikasi yang telah diamankan dengan komunikasi yang belum diamankan. Berikut contoh koneksi dengan komunikasi data yang belum diamankan:


dan ini adalah contoh koneksi dengan komunikasi data yang sudah diamankan:


terlihat perbedaannya bukan? yang sudah diamankan menggunakan HTTPS, ada tanda gembok di ujung awal URL-nya. sedangkan yang belum, tidak terlihat tanda gembok. Lalu bagaimana membuat koneksi yang diamankan tersebut pada web server Apache yang anda gunakan? terutama untuk mengamankan komunikasi data dengan aplikasi berbasis web yang anda bangun? Berikut langkah-langkahnya:

Karena kita akan membangun HTTPS ini pada web server apache, maka anda harus memastikan bahwa anda telah menginstall web server apache terlebih dahulu di sistem operasi anda, disini saya menjalankan web server Apache versi 2 di sistem operasi Ubuntu Server 14.04 LTS. Saya anggap di sistem operasi Ubuntu anda sudah terinstall web server apache, maka mari kita masuk ke langkah selanjutnya. Pada langkah selanjutnya ini, saya akan menginstall aplikasi openssl. Aplikasi openssl ini yang nantinya akan digunakan untuk membuat key untuk meng-enkripsi data yang akan dikomunikasikan. Untuk menginstall openssl tersebut dengan menjalankan perintah:

 sudo apt-get install openssl

kemudian kita lihat terlebih dahulu, apakah pada web server apache kita sudah membuka layanan HTPPS -nya dengan perintah:

 nmap localhost

berikut hasilnya:

Dari hasil tersebut dapat terlihat bahwa port 443, yang melayani komunikasi HTTPS belum terbuka, sehingga bisa disimpulkan bahwa web server apache milik saya belum menyediakan layanan HTTPS. Contohnya dapat dilihat ketika kita akan mengakses koneksi https dari browser dengan mengetikkan URL https://alamat_ip_atau_domain di browser apabila layanan tersebut belum dibuka dan diakses maka akan terlihat seperti pada gambar di bawah ini:





Kemudian langkah selanjutnya adalah mengenable modul ssl pada web server apache dengan perintah:

 sudo a2enmod ssl

kemudian silakan restart web server apache dengan perintah:

 sudo service apache restart

kemudian mari kita lihat, apakah web server apache sudah membuka layanan HTTPSnya setelah modul ini diaktifkan dengan perintah:

 sudo nmap localhost

dan berikut hasilnya:



dari situ hasilnya terlihat bahwa port 443 telah terbuka, maka langkah berikutnya yang harus dilakukan adalah membuat kunci enkripsi dan dekripsi untuk mengamankan data yang dilewatkan pada koneksi HTTPS yang akan saya lanjutkan pada tulisan berikutnya yang bisa anda baca melalui link ini. :-)

Comments