HTTP
adalah protokol yang digunakan oleh web server. Semua data yang dikirim
menggunakan protokol tersebut tidak terenkripsi (PLAIN Text biasa). Oleh karena
itu, perlu kita tambahkan protokol tambahan yang bernama SSL atau TLS. Protokol
tersebut berfungsi menambal protokol HTTP, agar menjadi secure (HTTPS). OpenSSL
merupakan kepangjangan dari Secure Socket Layer.
Terlebih
dahulu, pastikan bahwa aplikasi apache2 untuk web server sudah
terinstall, jika belum ada, maka install dahulu.
debian-server:~# apt-get install apache2 openssl ssl-cert
2. Konfigurasi
Setelah
server diinstall, kita akan melakukan tiga langkah konfigrasi SSL sbb;
a)
Generate, or import, a certificate.
b)
Enable Apaches SSL support.
c)
Configure your SSL options.
2.1. Generating
A Certificate
Pada
bagian ini, kita akan membuat RSA key dan SSL Certificate yang berfungsi
sebagai kartu identitas bagi server Debian tersebut.
debian-server:~# openssl req -new
-x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout
/etc/apahce2/apache.pem
Country Name (2 letter code) [GB]: ID
State or Province Name (full name)
[Some-State]: East
Java Locality
Name (eg, city) []: Mojokerto
Organization Name (eg, company;
recommended) []: Al-Mansyurin
Team
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld;
required!!!) []: debian.edu Email Address []: admin@debian.edu
2.2.
Enabling SSL Support
Aktifkan
mod ssl pada aplikasi Apahce2, agar fitur ssl dapat kita gunakan.
debian-server:~# a2enmod ssl
Module ssl installed; run /etc/init.d/apache2 force-reload to
enable.
Setelah
langkah di atas selesai, server Debian sudah bisa menerima koneksi SSL. Namun
server masih listening pada protokol HTTP di port 80, dan bukan protokol HTTPS
di port 443. Untuk dapat menggunakan SSL, pastikas bahwa terdapat script
berikut, pada file ports.conf.
debian-server:~# vim
/etc/apache2/ports.conf NameVirtualHost
*:80
Listen 80
<IfModule mod_ssl.c>
# SSL name based virtual hosts are
not yet supported, therefore no
# NameVirtualHost statement here
Listen 443 #Add this line for SSL Connection
</IfModule>
2.3
Configuring your SSL Hosts
Langkah
terakhir adalah untuk memastikan bahwa Virtual Host, dapat menerima koneksi
SSL. Kita bisa menggunakan protokol HTTP ataupun HTTPS secara terpisah, ataupun
secara bersamaan.
Untuk
referensi, berikut contoh konfigurasi VirtualHost milik saya.
debian-server:~# vim
/etc/apache2/sites-available/debian <VirtualHost *:80>
ServerName debian.edu
ServerAlias www.debian.edu
DocumentRoot /var/www/debian/ ErrorLog /var/log/apache2/error.log
CustomLog
/var/log/apache2/access.log combined </VirtualHost>
<VirtualHost
*:443> ServerName debian.edu ServerAlias www.debian.edu
DocumentRoot /var/www/debian/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
SSLEngine on
SSLCertificateFile
/etc/apache2/apache.pem </VirtualHost>
Jangan
lupa untuk mengaktifkan VirtualHost tersebut, agar di load ketika apache2
restart.
debian-server:~# a2ensite
/etc/apache2/sites-available/debian debian-server:~# /etc/init.d/apache2
restart
3. Pengujian
Lakukan
pengujian koneksi SSL melalui sisi client, untuk menguji RSA key dan SSL
Certificate dari server Debian. Melalui web browser, arahkan URL ke https://debian.edu seperti berikut.
Jika
itu pertama kali Anda mengakeses server Debian melalui koneksi SSL, maka akan
muncul pesan seperti gambar di atas. Pilih saja Add Exception kemudian
pilih Get Certificate.
Sumber :
www.lebaksono.wordpress.com



0 Komentar untuk "Konfigurasi Securing Web Server (HTTPS) Linux Debian"