Konfigurasi SSL pada Slackware 12.0

Posted on

(https dengan menggunakan mod_ssl)

Waaa… lama gak liat slackware nech… sekarang udah gede yach udah versi 12… Gara-gara disuruh bangun server nech buat mainan di kampus ceritanya… Salah satunya ya ini, pengin implemen SSL di web server Apache-nya, biar kelihatannya keren and secure bisa pake https nanti untuk webmail-nya ketimbang http. Apa seh SSL itu ?

Dalam prinsip kerja SSL, semua data dalam jaringan akan di enkripsi sehingga tidak bisa terbaca kecuali oleh komputer tujuan. Oleh karena itu, diperlukan dua buah kunci, yang satu disebut kunci pribadi, dan lainnya disebut kunci publik. Kunci publik adalah kunci yang diberikan kepada komputer tujuanm sedangkan kunci pribadi adalah kunci yang dipegang oleh komputer asal.

Pada saat sebuah data hendak dikirimkan dari komputer asal (server) ke klien, maka data dienkripsi dengan kunci privat dan hanya bisa dibuka dengan kunci publik di komputer tujuan. Apabila berupa form pengisian, maka isi dari form akan dienkripsi dengan kunci publik dari komputer tujuan dan hanya bisa dibuka dengan kunci pribadi di komputer asal (server).

Sekarang udah tau kan apa itu SSL… disini mengunakan distro slackware 12 yang mana pada dokumentasi sebelumnya udah kita aktifkan modul SSL pada konfigurasi di webservernya (httpd.conf) Sebenarnya, waktu pertama kali install slackware 12 juga ada sedikit binggung pas mau konfigurasi Apache-nya lah dimana folder apache yang bisanya ada di /etc . Untuk Apache, file-filenya tidak lagi berada di /etc/apache/ tetapi di /etc/httpd/ :)) .

sebelum mulai lagi baca doa dulu dech… sama ambil cemilan (cemilan favorit : keripik singkong asin 😛 )

Oke sebelum otak atik konfigurasi apache-nya mati’in dulu dech service-nya

root@student:/etc/httpd# /etc/rc.d/rc.httpd stop

Untuk mengaktifkan SSL, disini memerlukan sertifikat semisal dari VeriSign. Tujuannya apaan sih pake SSL segala? Ya, kalo buat company gede, biar dipercaya sama konsumen mereka atas keterjagaan sekuritas dari koneksi mereka. Disini, kita bikin aja sendiri sertifikatnya. 😛

  • Pindah bekerja di direktori /etc/httpd. Menjalankan openssl untuk membuat sertifikat SSL.

root@student# cd /etc/httpd/ root@student# openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privatekey.pem -out server.pem

  • Mengisi keperluan pembuatan sertifikat SSL dan kunci pribadi

Generating a 1024 bit RSA private key
….
writing new private key to ‘privatekey.pem’ Enter PEM pass phrase: dodolkampret
Verifying – Enter PEM pass phrase: dodolkampret
….
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:Kalimantan Timur
Locality Name (eg, city) []:Samarinda
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Universitas Mulawarman
Organizational Unit Name (eg, section) []:Fakultas MIPA
Common Name (eg, YOUR name) []:Aditya Perdana
Email Address []:utuhkulalil@yahoo.com

  • Membuat kunci Publicroot@student# openssl rsa -in privatekey.pem -out privatekey.pem
    Enter pass phrase for privatekey.pem: dodolkampret
    writing RSA key
    root@student# cat privatekey.pem >> server.pem
    root@student# rm privatekey.pem
  • Menyisipkan SSL Certificate pada httpd.conf

root@student# vi /etc/httpd/httpd.conf

kemudian cari dan pastikan baris-baris ini ter-uncomment (hilangkan #)

LoadModule ssl_module lib/httpd/modules/mod_ssl.so –> baris ke 99
Include /etc/httpd/extra/httpd-ssl.conf –> baris ke 496

sudah cukup itu saja yang di obok-obok httpd.cong -nya besok-besok lagi 😀

Kalau di Slackware 12.0 modul-modul semacam ssl, virtual host dikasih file konfigurasi sendiri di direktori /etc/httpd/extra/. Intinya cari file konfigurasi (jika memang tidak dijadikan satu dengan httpd.conf nya) yang sesuai.

  • Konfigurasi httpd-ssl.conf

root@student# vi /etc/httpd/extra/httpd-ssl.conf

Kita akan memakai virtual host, untuk itu pada section dibawah, pastikan sudah sesuai dengan settingan server yang anda miliki.

–[BOF]–

#Tempat kerja si https, pastikan dia uncommented
Listen 443

DocumentRoot “/srv/httpd/htdocs�?
ServerName 192.168.1.1:443
ServerAdmin utuhkulalil@student.unmul.ac.id
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log

<Directory />
Allow from all
Options +Indexes
</Directory>
#Pastikan SSL Engine dalam keadaan On, pada Section SSL Engine Switch

# SSL Engine Switch :
# Enable/Disable SSL for this virtual host.

SSLEngine on

# Cari Section Server Certificate, kemudian sesuaikan path dengan path file .crt yang tadi kita buat

SSLCertificateFile /etc/httpd/server.pem

# Cari Section Server Private Key, kemudian sesuaikan path dengan path file .key yang tadi kita buat

SSLCertificateKeyFile /etc/httpd/server.pem

–[EOF]–

Udah, untuk file /etc/httpd/extra/httpd-ssl.conf cukup segitu diutak-atiknya.

  • Jika sudah semua silahkan start lagi service webserver-nya

root@student# /etc/rc.d/rc.httpd start

Sampai disini urusan kita udah selesai sekarang tinggal di cek, apa bener udah running SSL-nya… sapa tau tadi cuman di bo’ongin Adit aza 😛

coba anda browse ke web server anda tersebut menggunakan protokol https

https://192.168.1.1

Atau dengan men-scan computer anda

root@student# nmap 192.168.1.1

bila port 443 sudah terbuka, seperti dibawah ini, maka seharusnya anda susah sukses sampai di langkah ini!

Starting Nmap 4.20 ( http://insecure.org ) at 2007-07-17 21:21 AKDT
Interesting ports on student.unmul (10.14.207.7):
Not shown: 1692 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https

Nmap finished: 1 IP address (1 host up) scanned in 0.577 seconds

Oke Sippz selesai…. ;))

Toex Pak Anton, Thaks atas referensi-referensinya 🙂