HTTPS merupakan protokol HTTP yang lebih aman, sehingga data-data yang dikirimkan dengan protokol ini lewat jaringan internet akan dienkripsi menjadi tulisan yang aneh dan tidak mudah dimengerti oleh manusia. HTTPS sama seperti HTTP yang menyediakan konten HTML atau Website tetapi data HTML yang dikirimkan lebih aman dan bersifat rahasia sehingga jika menginput password pada saat login sebuah akun lewat internet tidak akan terlihat oleh pembobol jaringan. HTTPS menggunakan protkol SSL untuk membentuk koneksi aman antara Web Client dengan Web Server. Pada Windows Server 2012 kita dapat membuat sebuah Web Server yang aman pada aplikasi bawaan Windows ini yang bernama IIS, saya akan membuat sebuah server HTTPS dengan serifikat CA self-signed, dan membuat alamat URL untuk Server HTTPS ini pada server DNS lokal berikut ini adalah topologinya :
Show Mengatur alamat IP
Membuat alamat URLagar dapat diakses menggunakan alamat URL, maka anda harus membuat sebuah server DNS pada jaringan lokal, pada kali ini saya membuat domain https://secure.dzikrafathin.com/ untuk alamat URL dari Web Server yang aman. anda dapat melihat postingan saya yang satu ini untuk membuat DNS Server miliki sendiri pada Windows Server 2012.Menginstall layanan Web Server (IIS)Agar server lokal ini dapat menyediakan konten Website maka kita harus menginstall sebuah aplikasi yang dapat melayani permintaan Web Server pada port 80 dan 443, karena kali ini saya membuat Web Server dengan koneksi aman lewat SSL maka port yang digunakan 443. berikut ini adalah langkahnya :
Jika muncul jendela seperti ini klik Add Features dan klik Next.
Konten HTML
Membuat sertifikan Self-SignedKali ini saya akan membuat sertifikat self-signed untuk koneksi HTTPS antar Server dan Clinet, efeknya menggunakan self signet situs web HTTPS yang kita buat dianggap tidak terpercaya oleh browser, jika ingin terpercaya anda harus membuat sertifikat pada penyedia layanan pembuat sertifikat dan itu tidak gratis. lanjut pada pembuatannya :
Membuat Situs HTTPS
Testing ClientSekarang kita coba apakah Web Server HTTPS ini sudah dapat diakses lewat client, saya mencoba mengakses melalui client sistem operasi linux, berikut ini adalah langkahnya :
Anda dapat menjalankan HTTP pada port apa saja (dan juga HTTPS pada port apa saja). Secara konvensional, Anda menjalankan HTTP pada port 80, HTTPS pada port 443, karena menggunakan port yang terdefinisi dengan baik ini memungkinkan pengguna tidak menentukan nomor port. Jika Anda terhubung ke https://example.com itu akan membuat permintaan HTTPS ke port 443. Jika Anda mencoba menghubungkan ke port yang tidak menjalankan SSL/TLS dengan protokol HTTPS Anda akan mendapatkan Kesalahan koneksi SSL. Anda dapat melihat ini sebagai contoh, jika Anda mencoba menghubungkan ke https://security.stackexchange.com:80. Inilah yang akan terjadi jika Anda menjalankan HTTP pada port 443 di example.com; setiap pengguna yang terhubung ke https://example.com akan mendapatkan kesalahan itu. Sebaliknya jika Anda mencoba menghubungkan ke port yang menjalankan HTTPS dengan browser Anda membuat permintaan melalui protokol HTTP lama yang biasa, Anda akan mendapatkan 400 Bad Request Pesan kesalahan HTTP (The plain HTTP request was sent to HTTPS port). Anda dapat melihat contoh kesalahan ini dengan masuk ke: http://www.time.com:443/. Harap dicatat bahwa HSTS sedikit menyulitkan; jika Anda menjalankan HSTS , browser Anda dapat secara otomatis mengalihkan permintaan HTTP ke HTTPS untuk yang diberikan pada situs tertentu. (Inilah sebabnya Anda tidak akan melihat kesalahan ini jika Anda mencoba membuka http://www.facebook.com:443/ dan akan dialihkan ke https://www.facebook.com). Jika kamu mau https://example.com permintaan untuk bekerja, tetapi tidak memerlukan keamanan SSL, Anda harus mendapatkan sertifikat yang ditandatangani dengan benar. Ini dapat dilakukan secara gratis dengan https://letsencrypt.org/ dan ada banyak solusi berbiaya rendah lainnya. Jika Anda benar-benar tidak ingin pengguna menggunakan HTTPS, Anda kemudian dapat memiliki aturan penulisan ulang redirect dari HTTPS ke HTTP. (Harap perhatikan untuk menggunakan pengalihan ini tanpa peringatan browser tentang sertifikat SSL yang tidak valid, Anda memerlukan sertifikat SSL yang valid). EDIT: Rekomendasi dihapus untuk StartSSL karena tidak lagi dipercaya oleh browser utama . |