Perbedaan utama http dan https
Beberapa perbedaan utama antara http dan https, dimulai dengan port default, yang 80 untuk http dan 443 untuk https. Https bekerja dengan transmisi interaksi yang normal http melalui sistem terenkripsi, sehingga dalam teori, informasi tidak dapat diakses oleh pihak selain klien dan server akhir. Ada dua jenis umum lapisan enkripsi: Transport Layer Security (TLS) dan Secure Socket Layer (SSL), yang keduanya menyandikan catatan data yang dipertukarkan.
Cara Kerja
Https bukan protokol yang terpisah, tetapi mengacu pada kombinasi dari interaksi HTTP normal melalui Socket Layer terenkripsi SSL (Secure) atau Transport Layer Security (TLS) mekanisme transportasi. Hal ini menjamin perlindungan yang wajar dari penyadap dan (asalkan dilaksanakan dengan benar dan otoritas sertifikasi tingkat atas melakukan pekerjaan mereka dengan baik) serangan.
Port default TCP https: URL adalah 443 (untuk HTTP tanpa jaminan, defaultnya adalah 80). Untuk mempersiapkan web-server untuk koneksi https penerima harus sebagai administrator dan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL yang ssl atau gensslcert SuSE. Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka.
Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, dan klien dan sertifikat server pertukaran untuk otentikasi identitas mereka. Setelah ini dilakukan, kedua belah pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan tombol yang sama, dan koneksi ditutup. Untuk host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds informasi kunci dengan verifikasi identitas pemilik kunci itu. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.
Situs yang menggunakan HTTPS :
- https://play.google.com/store
- https://www.thepiratebay.se/
- https://www.foodpanda.co.id/contents/t-cash.
- https://www.facebook.com/
- https://twitter.com/
Instalasi Paket
#apt-get install openssl
Ketentuan
IP Address Web Server = 192.168.98.1/24
IP Address DNS Server = 192.168.98.1/24
Konfigurasi DNS Server
Buat subdomain berikut :
Subdomain departemen marketing : admin.[nama_anda].com
Contoh : admin.dilla.com
Sertifikat SSL
Buat sertifikat SSL di dalam direktori /etc/apache/sertifikat dengan nama file sertfikat sesuai dengan
nama anda
#openssl req -x509 -nodes -days 365 –newkey rsa:2048 –keyout /etc/apache2/sertifikat/[nama_anda].key -out /etc/apache2/sertifikat/[nama_anda].crt
Jika berhasil, maka akan terbentuk dua buah file pada direktori /etc/apache2/sertifikat dengan nama :
[nama_anda].key dan [nama_anda].crt
Konfigurasi Virtual Host pada Web Server Apache
- Tambahkan konfigurasi berikut pada /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerName admin.[nama_anda].com
ServerAdmin admin@[nama_anda].com
DocumentRoot /var/www/admin
Redirect permanent / https://admin.[nama_anda].com/
</VirtualHost>
<Directory "/var/www/admin">
Options Indexes FollowSymLinks MultiViews ExecCGIAllowOverride AllOrder allow,denyAllow from all
</Directory>
<VirtualHost *:443>
ServerName admin.[nama_anda].com
ServerAdmin admin@[nama_anda].com
DocumentRoot /var/www/admin
SSLEngine on
SSLCertificateFile /etc/apache2/sertifikat/[nama_anda].crt
SSLCertificateKeyFile /etc/apache2/sertifikat/[nama_anda].key
</VirtualHost>
<Directory "/var/www/admin">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
- Aktifkan modul SSL
#a2enmod ssl - Pada direktori /var/www/admin , buat file “index.php” dengan isi sebagi berikut :
<html>
<body>
<h1>Uji Coba HTTPS</h1>
</body>
</html>
Pastikan client telah terhubung dengan server dan terkoneksi dengan IP dinamis yang diberikan oleh server. Lalu buka browser kemudian akses admin.dilla.com
1. Jelaskan parameter yang ada pada perintah berikut :
openssl req -x509 -nodes -days 365 –newkey rsa:2048 –keyout /etc/apache2/sertifikat/aryadi.key -out /etc/apache2/sertifikat/aryadi.crt
- opensll -> adalah Aplikasi pada linux untuk menjalankan prosedur “Generating A Certificate” atau membuat sertifikat untuk domain yang digunakan
- req -> private key yang digunakan untuk menyetujui
Certificate Signing Request - -x509 -> format sertifikat yang digunakan
- -days 365 -> sertifikat aktif sampai dengan 365 hari
- -newkey -> berfungsi sebagai kunci untuk ssl
- -keyout -> file yang dienkripsi seperti /etc/apache2/sertifikat/aryadi.key
- aryadi.key -> file ditempatkannya private key
- aryadi.crt -> file ditempatkannya Sertifikat
<VirtualHost *:443>
ServerName admin.dilla.com
ServerAdmin admin@dilla.com
DocumentRoot /var/www/admin
SSLEngine on
SSLCertificateFile /etc/apache2/sertifikat/dilla.crt
SSLCertificateKeyFile /etc/apache2/sertifikat/dilla.key
</VirtualHost>
Konfigurasi diatas merupakan konfigurasi virtual host untuk domain admin.aryadi.com dimana ServerAdminnya adalah admin@dilla.com. dimana file HTML dari admin.aryadi.com disimpan pada direktori /var/www/admin. domain tersebut juga mengaktifkan SSLEngine dengan letak file sertifikat berada pada direktori /etc/apache2/sertifikat/ dengan nama aryadi.crt serta letak file key pada direktori /etc/apache2/sertifikat/ dengan nama dilla.key
3. Apa fungsi dari konfigurasi berikut :
Redirect permanent / https://admin.dilla.com/
Konfigurasi diatas merupakan konfigurasi untuk mendirect permanent semua domain yang ada di root (/) ke halaman https://admin.dilla.com/
Referensi :
[1] http://ilmukomputer.org/2013/01/30/perbedaan-http-dan-https/
[2] http://aryadi.student.telkomuniversity.ac.id/2015/02/26/konfigurasi-https-hyper-text-transfer-protocol-secure/

