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. Securing Web Server
1. Installasi
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.
Generating A Certificate
Pada bagian
ini, kita akan membuat RSA key dan SSL Certificate yang berfungsi sebagai kartu
identitas bagi server Debian tersebut.
Securing Web Server
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
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>
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.
Keyword : Securing Web Server
Sign up here with your email



2 komentar
Write komentarIni buat linux ya gan? ijin coba dulu deh :D
Replykalau nanti saya gak bisa tolong ajarin ya pelan2
ok gan :D
ReplyConversionConversion EmoticonEmoticon