Membuat Web Server dengan HTTPS (memakai XAMPP under windows)

Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL Secure Socket layer) atau protokol TLS (Transport Layer Security).Tingkat keamanan tergantung pada ketepatan HTTPS (Hyper Text Transfer Protocol over Secure socket layer) adalah versi aman dari HTTPprotokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris. Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443. Dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual. Oleh karena itu, pada  halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’ bukan dengan ‘http:// .berikut ini adalah tutor bagaimana aplikasi cara membuatnya, Membuat WEB SERVER dengan Secure HTTP ( https ) memakai software XAMPP:
I. Langkah – langkah membuat WEB :
  1. Install Xampp sebagai apache server ( C:\ apachefriends\ xampp ).
  2. Extrak file Mambo (MamboV4.5.2-Stable.tar.gz ) untuk membuat halaman WEB ke dalam folder baru yang telah kita buat sebelumnya pada xampp, misalkan dalam hal ini adalah “Tryweb” (C:\ apachefriends\xampp\htdog\Tryweb ).
  3. Jalankan Xampp (Xamp basic start).
  4. Jalankan IE, firefox, opera atau browser kesukaan anda lalu ketikkan http://localhost/coba untuk instalasi Mambo dan ikuti langkah-langkah penginstalan yang diminta. Dengan demikian WEB telah dibuat dan diperkenankan untuk memodifikasinya.
II. Instalasi Certifikat
A. Instalsi sertifikat CA sebagai trusted root certification authorities
  1. Buat sertifikat CA yang telah kita tandatangani sendiri (selfsign CA) yaitu cacert.crt kemudian sertifikat tersebut kita import sebagai trusted root certification authorities pada internet option
  2. Sertifikat tersebut kita copy ke C:\ apacehfriends\ xampp\ apache\ conf\ ssl.crt
B. Instalasi sertifikat yang telah ditandatangani CA ke sebagai sertifikat personal pada internet option
  1. Sebelumnya pastikan bahwa kita sudah membuat sertifikat request untuk ditandatangani CA, dalam hal sertifikat request pertama kami beri nama uyareq1.pem dengan kunci uyakey1.pem dan sertifikat request kedua kami beri nama uyareq2.pem dengan kunci uyakey2.pem. Sertifikat tersebut nantinya ditandatangani oleh CA sebagai trusted root certification authorities. Hasil sertifikat yang telah ditandatangani tersebut yaitu : uyacer1.pem dan uyacer2.pem yang telah di bundle dengan kunci masing-masing. Commandnya adalah sebagai berikut : 
Untuk sertifikat request yang pertama :
openssl pkcs12 -export -in uyareq1.pem -inkey uyakey1.pem -out uyacer1.p12
Untuk sertifikat request yang kedua :
openssl pkcs12 -export -in uyareq1.pem -inkey uyakey1.pem -out uyacer1.p12
   1. Kemudian hasilnya yang berupa uyacert.p12 dan uyacert.p12 kita install sebagai sertifikat personal.
C. Membuat dan Memasukkan Sertifikat Server dan Private Key Server yang ditandatangani oleh CA.
   1. Buat request dan kunci untuk sertifikat server
openssl req –new -newkey rsa:1024 -keyout servkey.key –out servreq.pem
   1. Sertifikat request tersebut kemudian ditandatangani CA
Openssl ca –in servreq.pem –out uyaserv.pem
   1. Rubah format file sertifikat server yang telah ditandatangani oleh CA tersebur ( uyaserv.pem ) menjadi uyaserv.crt.
openssl x509 -in uyaserv.pem -out uyaserv.crt
  1. Copy file uyaserv.crt yang telah dibuat ke dalam direktori ssl.crt (C:\ apacehfriends\ xampp\ apache\ conf\ssl.crt) sebagai sertifikat server.
  2. Copy file servkey.key yang telah dibuat ke dalam direktori ssl.key (C:\ apacehfriends\ xampp\ apache\ conf\ssl.key)sebagai kunci sertifikat server.
III. Modifikasi Konfigurasi
A. Modifikasi konfigurasi pada ssl.conf :
  1. Ubah konfigurasi pada “General setup for the virtual host” DocumentRoot “c:/apachefriends/xampp/htdocs/coba” ServerName localhost ServerAdmin you@your.address DocumentRoot “c:/apachefriends/xampp/htdocs/coba” ErrorLog logs/sslerror.log
  2. Ubah konfigurasi pada server sertifikat
SSLCertificateFile “c:/apachefriends/xampp/apache/conf/ssl.crt/coba.crt”
   1. Ubah konfigurasi pada server private key
SSLCertificateKeyFile “c:/apachefriends/xampp/apache/conf/ssl.key/servkey.key”
   1. Ubah konfigurasi pada Certification Authority (CA)
SSLCACertificateFile “C:/apachefriends/xampp/apache/conf/ssl.crt/cacert. crt”
  1. Ubah konfigurasi pada Client Authentication. (Type) agar terjadi mutual authentication dengan cara menghilangkan tanda “#” pada perintah SSLVerifyClient require.
  2. Simpan perubahan yang terjadi pada konfigurasi tersebut
B. Modifikasi Konfigurasi pada httpd.conf :
  1. Buat direktori baru pada htdocs yang digunakan sebagai dokumen root halaman WEB, misal direktori tersebut adalah “login”
  2. Ubah konfigurasi document root
DocumentRoot “c:/apachefriends/xampp/htdocs/login”
  1. Ubah konfigurasi direktori <Directory “c:/apachefriends/xampp/htdocs/login”>
IV. Langkah-langkah membuat halaman WEB untuk login (di dalam direktori login) :
  1. Buat halaman WEB sederhana dengan MS Word.
      File tersebut kita simpan dengan nama index.html. Source Codenya
      sebagai berikut :

<html>

<head><title>XAMPP</title>

</head>

<body class=white bgcolor=#ffffff>

<center>

<img src=”../htdocs/xampp/img/blank.gif” height=180 width=1><br>

<!–

<OBJECT classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000?

codebase=”http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0?

ID=anim
WIDTH=400
HEIGHT=100><PARAM NAME=movie VALUE=”splash-swf.php”>
<PARAM NAME=loop VALUE=false> <PARAM NAME=quality
VALUE=high> <EMBED src=”splash-swf.php” loop=false quality=high
WIDTH=400 HEIGHT=100 TYPE=”application/x-shockwave-flash”
PLUGINSPAGE=”http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash”></EMBED></OBJECT>

–>

<img src=”../htdocs/xampp/img/xampp-logo.jpg”>

<p>

<a href=”https://localhost/”>Masuk ke mode secure</a> /

<a href=”https://localhost/”>Deutsch</a>

</center>

</body>

</html>
  1. Dengan adanya index.html ini maka setiap client yang ingin masuk ke halaman WEB akan lansung masuk ke mode secure (https).
  2. Selanjutnya setelah client memasukkan  sertifikat dan server diotentikasi, client dapat masuk ke halaman WEB secara secure.

1 Response to "Membuat Web Server dengan HTTPS (memakai XAMPP under windows)"

  1. Dalam tutorial ini jika saya sudah selesai membuat semua yang ada di tutorial ini dan berhasil, apakah saya perlu hosting untuk membuat web servernya bisa di akses secara online (Mobile/desktop) ? Mohon pencerahannya master

    BalasHapus

isi komentar, please....! anda kan baik... hehehhe