Debian Web Server with OpenSSL (HTTPS)

OpenSSL adalah suatu protokol tambahan yang digunakan untuk Secure Socket Layer. Yang maksudnya adalah mengamankan jaringan kita antara client dan server. Dengan OpenSSL ini, maka jaringan akan sulit di sniffing. Jika dalam keadan HTTP biasa (Plain TEXT), kemungkinan besar bisa terkenad MITM Attack (Man In The Middle Attack).

Pada postingan sebelumnya saya telah menjelaskan, apa itu OpenSSL, dan bagaimana cara untuk mengHacknya. Jadi protokol SSL ini sudah tidaklah aman lagi. Karena hanya dengan menggunakan sedikit bantuan tool kecil, maka hilanglah sudah Kemanan yang anda percayai ini.

21.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

21.2. Konfigurasi

Setelah server diinstall, kita akan melakukan tiga langkah konfigrasi SSL sbb;

  • Generate, or import, a certificate.
  • Enable Apaches SSL support.
  • Configure your SSL options.

21.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

21.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, 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>

21.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 http://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 http://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

21.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 gamba di atas. Pilih saja Add Exception kemudian pilih Get Certificate.

Created by Al-Mansyurin Team © 2011

UPDATE: Silahkan download eBook Debian Server Lengkap di >>SINI<<

15 komentar

  1. tu gimana caranya biar otomatis redirect ke alamat ssl nya? kaya ngetik http://debian.edu otomatis ke https://debian.edu?

    1. Otomatis redirect koq…. Kalau gak percaya, coba saja di praktekan….

  2. syukron · · Balas

    thanks gan..

  3. Mas jadi intinya kita download openssl nya, trus ambil file .pem nya, lalu masukkan di virtualhost?

    Saya coba di windows kok gabisa ya mas 😦

    1. anda pakai aplikasi apa di windows, xampp?

  4. Robbyanto · · Balas

    mas…
    untuk sertifikat SSL nya itu berbayar nggak??

    1. gak gan, yang ini gratis, bisa digenerate sendiri kok

  5. mas mau nanya.
    kalau konfigurasi untuk NGINX itu sama dengan konfigurasi Apache ?

    1. beda gan, itu beda aplikasi server

  6. […] Referensi : 1. Modul Praktikum Jaringan Komputer Sistem Teknologi Informasi ITB 2014 2. https://lebaksono.wordpress.com/2010/12/20/debian-web-server-with-openssl-https/ […]

    1. Salam mansurin mas bro, tulisan yang bagus,, ditunggu updateannya yang berhubungan dengan linux hehe

  7. ayi fauzi · · Balas

    itu ditulis manual pas prot 443, apa cuma mengganti portnya aja?

    1. itu memang port defaultnya mas ayi, pakai 443 untul SSL

  8. Willy Rivaldo Manurung · · Balas

    Mas. Gimana caranya ya agar tidak ada pesan warning saat kita coba masuk ke web httpsnya ya ?

    1. itu karena web https kita tidak dicertificate secara resmi gan

Tinggalkan komentar