LAPORAN RESMI
KEAMANAN JARINGAN
Oleh :
Eduardus Adi Jala P.
2103141031 – 3 D3 IT’B
Dosen Pengampu :
Ferry Astika Saputra, ST, M,Sc
PROGRAM STUDI D3 TEKNIK INFORMATIKA
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
KONFIGURASI KEAMANAN LAYANAN WEB
Praktikum SSL
A. Tujuan Pembelajaran
1) Mengenalkan tentang konsep SSL 2) Membuat self-signed server certificate
3) Melakukan instalasi dan konfigurasi Apache2 + SSL/TLS 4) Melakukan testing instalasi
B. Dasar Teori
1. SSL / TLS
Transport Layer Security (TLS) adalah protocol untuk mengamankan komunikasi antar aplikasi lewat internet. TLS mengamankan konten pada layer aplikasi, seperti halaman web dan diimplementasikan pada layer transport, yaitu TCP. Untuk menjamin keamanan. data yang dikirim dienkripsi dan diotentikasi pada sisi server dan client. Secure Socket Layer (SSL) adalah protocol yang diciptakan sebelum TLS yang mengaplikasikan hal ini.
SSL/TLS biasanya dioperasikan secara bersama-sama dengan HTTP, sehingga membentuk protocol baru yang disebut HTTPS, untuk mengamankan transaksi lewat web. Selain intu, protocol ini dapat digunakan untuk aplikasi-aplikasi lain seperti email, file transfer dan virtual private networks (VPN).
2. HTTPS
HTTPS menggabungkan protocol HTTP dan SSL/TLS untuk menjamin keamanan komunikasi antara eb server dan web browser. HTTPS beroperasi pada port 443 dan bukan pada port 80 seperti normalnya HTTP. HTTPS bekerja dengan
menyediakan enkripsi untuk konten web dan otentikasi web server. HTTPS tidak melakukan otentikasi client sehingga web sita tidak dapat melakukan otentikasi user selama koneksi. User harus melakukan sejumlah otentikasi tambahan seperti password,biometric atau metode otentikasi lain.
sertifikat root dari bermacam-macam perusahaan seperti VeriSign atau Entrust, yang memang menspesialiasisikan diri sebagai perusahaan yang bergerak di bidang sertifikasi.
Pada gambar diatas, begitu user hendak mengkoneksikan diri dengan website lewat koneksi https, web server mengirim certifikatnya yang mengandung public key dari web site tersebut. User akan memverifikasi sertifikat ini dengan memakai pre-installed sertifikat root dari website CA.
PAda tahap kedua dari komunikasi SSL/TLS adalah tahapan enkripsi antara server dan client berdasarkan protocol kriptografi yang dinegosiasikan antara kedua belah pihak. Pada gambar berikut, begitu sertifikat digital server berhasil diverifikasi, maka browser dan server mulai saling bernegosiasi cipher yang
hendak dipakai untuk pengkodean data dan verifikasi digital signature. Jika public key enkripsi sudah dipilih, kedua belah pihak mengenkripsikan data dengan public key masing-masing dan mendekripsi dengan private keynya. Untuk menghemat waktu, enkripsi public key hanya digunakan saat saling menukar session key (private key yang temporer) yang dipakai untuk data enkripsi.
Software yang dibutuhkan untuk menginstall web server yang secure dan berbasis open-source adalah :
1. Apache 2.2.11: Apache2 ini adalah web server yang akan kita gunakan. Anda dapat mengecek informasinya lewat http://httpd.apache.org/.
2. OpenSSL 0.9.8k: OpenSSL adalah toolkit yang digunakan untuk
mengimplementasikan protocol Secure Socket Layer (SSL v2/v3) dan Transport Layer Security (TLS v1). OpenSSL juga menyediakan general purpose library untuk kriptografi. Anda dapat mengecek informasinya lewat
http://www.openssl.org/.
3. Mod_SSL 2.2.11: Mod_SSL adalah add-on modul untuk Apache. Pada versi lama apache, user harus mengkompile paket ini, sedangkan pada versi baru, Mod_SSL sudah built-in pada server sebagai interface antara OpenSSL dan Apache2. Anda dapat mengecek informasinya lewat http://www.mod_ssl.org.
C. Hasil Percobaan
Menciptakan sertifikat SSL dengan OpenSSL
Apache digunakan sebagai web server
Openssl digunakan untuk pembuatan sertifikat ssl
Gambar 1. Menginstal openSSL
2. Langkah berikutnya adalah membuat sertifikat SSL untuk web server sebelum kita menjalankan secure server dengan HTTPS. Selain itu, kita juga akan membuat pasangan public/private key untuk melakukan request
sertifikat. Dibutuhkan domain name untuk sertifikat yang akan diciptakan. Pada contoh ini digunakan nama : www.webku.com
3. Masuk ke direktori /etc/apache2/ssl. Direktori ssl adalah direktori dimana anda menyimpan semua private keys, certificate signing request dan sertifikat.
Gambar 2. Membuat direktori SSL pada apache2
4. Membuat sepasang public/private key. Pertama-tama kosongkan semua sertifikat yang ada dengan perintah rm * pada direktori /etc/apache2/ssl
Gambar 3. Menghapus semua file yang ada pada direktori SSL
saat diminta. Passphrase ini digunkan untuk validasi untuk membuat file selanjutnya seperti csr dan crt
Gambar 4. Membuat .key yang akan digunakan pada operasi SSL
6. Generate file server.csr menggunakan private key di atas dengan perintah openssl req –new -key server.key –out server.csr file csr ini misalkan diberi nama server.csr.
Untuk membuat file csr ini dibutuhkan validasi terlebih dahulu dengan menginputkan password passphrase server.key
Gambar 5. Mengkonfigurasi .csr yang berasal dari .key yang telah dibuat sebelumnya
7. Generate file server.crt
Gambar 6. Mengkonfigutasi file .crt
Perintah diatas akan meminta anda memasukkan kembali passphrase untuk mengenerate server.key (yaitu 123456). Masukkan passphrase yang sesuai.
8. Cek lagi directory ssl dan anda seharusnya memiliki 3 file,
gambar 7. Mengecek apakah file-file yang dibutuhkan SSL telah terpenuhi
Konfigurasi Apache untuk site www.webku.com
1. Cek direktori ssl untuk memastikan ada 3 file yaitu server.key, server.crt dan server.crs
2. Enable kan modul mod_ssl dengan perintah a2enmod ssl
Gambar 8. Melakukan perintah modul mod pada SSL
3. Restart apache
Gambar 9. Restart apache
4. Copy file default yang ada di /etc/apache2/sites-available, beri nama file tersebut dengan nama www.webku.com.conf
5. Edit file www.webku.com.conf dengan perintah #gedit etc/apache2/sites-available/www.webku.com
- Tambahkan server name dibawah server admin sebagai berikut ServerName www.webku.com:443
- Ubah DocumentRoot untuk menunjuk ke web direktori dari website webku. DocumentRoot /var/www/webku
- Ubah <Directory/var/www> untuk menuju ke direktori webku. <Directory /var/www/webku>
- Masukkan baris ini sebelum baris ErrorLog /var/log/apache2/error.log. tujuannya adalah agar virtual host tahu dimana key dan sertifikat SSL disimpan
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key
6. Simpan file www.webku.com.conf melalui editor gedit / nano dsb. Kemudian pada direktori /var/www/ copy file index.html ke /var/www/webku/
7. Enable kan website www.webku.com dengan cara a2ensite www.webku.com
8. Edit file /etc/host untuk melakukan resolusi domain www.webku.com website ke 127.0.0.1. cari baris 127.0.0.1 lalu tambahkan baris ini : 127.0.0.1 localhost webku www.webku.com
Gambar 11. Mengkonfigurasi web yang telah dibuat
• Menjalankan HTTPS
1. Restart apache2 agar efek dari sertifikat SSL mulai efektif. Karena mode ssl sudah diaktifkan maka untuk melakukan restart apache dibutuhkan validasi dengan menggunakan passphrase file server.key
Gambar 12. Hakaman web berhasil diakses
3. Buka URL berikut https://www.webku.com dan kemduian get certificate untuk mendapatkan akses ssl ke www.webku.com. Klik tombol : I Understand the Risks, kemudian klik tombol: Add Exception dan terakhir klik Get
Certificate . Klik View. Anda akan melihat sertifikat self-signed yang tadi anda buat. Setelah itu klik checkbox Permanently store this exception dan klik tombol Confirm Security Exception
Gambar 13. Sertifikat SSL pada halaman
Setelah mendapatkan certificate, maka www.webku.com dapat diakses. Terlihat pada gambar