1. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 1
LAPORAN RESMI KEAMANAN JARINGAN
HTTP dan HTTPS
Percobaan 1 : HTTP
1. Lakukan installasi apache2 . Lakukan dengan perintah :
apt-get install apache2
2. Cek service apache menggunakan nmap, jika nmap belum ada lakukan installasi terlebih
dahulu. Lakukan dengan perintah :
apt-get install nmap
3. Untuk melakukan cek service apache jalankan perintah nmap localhost | grep 80
2. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 2
4. Installasi php5 dengan perintah apt-get install php5 php5-mysql
libapache2-mod-php5
5. Testing php5, untuk melakukan testing php, masuk ke direktori /var/www buat sebuah file
dengan editor yang ada misal : gedit, vim atau nano. Isikan seperti pada gambar di bawah ini
dan simpan dengan menggunakan nama index.php
6. Untuk melakukan testing php, buka
browser dan ketikkan
localhost/index.php, lihat hasilnya akan
terlihat seperti pada gambar disamping.
3. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 3
7. Selanjutnya lakukan pengecekan dengan wireshark dapat dilihat disini wireshark mendeteksi
HTTP.
8. Dapat dilihat dibawah, wireshark menampilkan informasi HTTP yang sedang kita akses pada
browser.
4. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 4
Percobaan 2 : HTTPS
1. Menjalankan perintah a2enmod ssl untuk melakukan enable terhadap ssl
2. Melakukan restart apache2 dengan perintah service apache2 restart
3. Membuat direktori ssl dengan perintah mkdir /etc/apache2/ssl untuk melakukan
penyimpanan.
4. Lakukan generate key untuk konfigurasi SSL dan mendapat certificate yang akan digunakan
bersama HTTP. Yaitu dengan menjalankan perintah openssl dan memasukkan data yang
diinginkan seperti nama, email, kota, dan provinsi
Disini kita diharuskan memasukkan beberapa informasi untuk melakukan generate/ membuat
public key dan private key serta certificate. Kedua key ini yang mana akan digunakan untuk
5. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 5
melakukan encrypt dan decrypt terhadap suatu data yang dikirim dari dan ke server atau client.
Informasi yang harus diberikan adalah country name (berisi 2 huruf kode negara), nama
provinsi atau negara bagian, nama lokasi, nama organisasi, nama unit organisasi, hingga kita
diminta untuk memasukkan alamat email.
5. Melakukan editing terhadap file /etc/apache2/sites-available/default-ssl.
Lakukan editing pada bagian SSLCertificateFile dan SSLCertificateKeyFile
seperti dibawah ini.
6. Menjalankan perintah a2ensite ssl untuk melakukan enable terhadap ssl
6. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 6
7. Lakukan restart dengan perintah service apache2 restart
8. Membuka browser untuk melakukan pengecekan apakah HTTPS berhasil
9. Kalau sudah berhasil maka tampilannya akan seperti gambar diatas, kemudian klik lanjutkan
dan klik lanjutkan ke 192.168.234.129, maka akan ditampilkan seperti ini.
7. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 7
10. Melakukan pengecekan di wireshark, sehingga akan ditampilkan TLSv1 seperti ini.
11. Berbeda dengan HTTP tadi kita bisa melihat informasi. Disini informasi tersebut sudah di
enkripsi sedemikian rupa sehingga tidak dapet terlihat
Berbeda dengan HTTP biasa, dimana kita bisa melihat informasi yang ada di dalam HTTP
tersebut. Disini HTTPS menggunakan SSL (Secure Socket Layer) atau Transport Layer
Security(TLS), sehingga keamanannya lebih terjaga. Dan juga menggunakan certificate untuk
melakukan autentikasi. Sehingga, pada HTTPS ini data transfer akan terenkripsi seperti
gambar di bawah ini.
8. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 8
Analisa :
HTTPS merupakan gabungan dari protocol HTTP dengan menggunakan SSL. Pada HTTP,
pertukaran informasi terjadi secara kasat mata, sehingga bila ada seseorang yang "menguping"
maka orang ini akan mengerti informasi yang sedang dipertukarkan.
Karena hal tersebut, maka HTTP lebih dikembangkan lagi dengan menggunakan SSL(Secure
Socket Layer) HTTPS menggunakan konsep kriptografi atau sebuah ilmu yang digunakan untuk
menyembunyikan informasi. Pada kriptografi ini terdapat Cipher / Algoritma Enkripsi. Cipher ini
digunakan untuk menyembunyikan informasi serta membuka informasi yang dirahasiakan. Pada
HTTPS, untuk bertukar informasi yang rahasia seperti identitas password, informasi kartu kredit
perlu dilakukan enkripsi agar data ini tidak diketahui oleh orang lain.
Jadi, ketika user melakukan koneksi dengan sebuah halaman HTTPS, akan dilakukan 3 handshake
connection/pertukaran informasi antara browser dengan server. Berikut langkah-langkahnya :
- Hal pertama yang dilakukan yaitu browser memberikan informasi mengenai algoritma enkripsi
yang digunakannya, cipher yang digunakan, serta data acak yang nantinya akan digunakan
untuk membuat secret key. Setelah itu, Server juga mengirimkan informasi tentang algoritma
enkripsi yang harus digunakan, cipher yang digunakan serta data acak yang digunakan untuk
men-generate sebuah kunci. Setelah terjadi konfirmasi atas 2 pihak ini, server mengirimkan
sertifikat digital kepada browser. Tujuan sertifikat ini yang pertama yaitu untuk memberikan
public key server ke browser.
- Kedua untuk meyakinkan browser bahwa halaman yang ditampilkan benar benar halaman
yang dituju (semacam Penjamin). Hal yang kedua ini perlu karena user tidak ingin data yang
dikirimkan sampai ke tempat yang salah. Setelah pertukaran informasi diatas selesai, browser
akan mengirimkan pesan bahwa pesan yang akan dikirimkan selanjutnya merupakan pesan
yang sudah dienkripsi, dan server juga mengirimkan pesan yang sama. Kemudian browser
mulai men-generate private key browser yang akan dikirimkan ke server dengan menggunakan
public key server untuk mengunci informasi ini. Hingga nantinya entah bagaimana caranya
server bisa mengetahui private key dari browser. Private key yang digenerate browser hanya
digunakan untuk sekali session dan akan dibuat baru untuk session selanjutnya.
9. IAN PRAKARSA WANGI / 2103131053 / INTAN PERMATA AMALIA / 2103131059 9
- Ketika browser mulai melakukan pertukaran informasi, informasi ini akan terlebih dahulu
dienkripsi menggunakan algoritma enkripsi yang disepakati di awal. Setelah dienkripsi, data
ini seolah-olah dikunci dengan menggunakan public key server. Kemudian data dikirimkan ke
server. Sampai di server, data yang dikunci/digembok ini dibuka dengan menggunakan private
key yang diberikan browser, lalu dilakukan decryption untuk mendapatkan data asli.
Kesimpulan :
HTTP dan HTTPS memiliki peranan yang sama dalam mendefinisikan bagaimana suatu pesan
bisa diformat dan dikirimkan dari server ke client. Yang membedakan hanyalah dalam tingkat
keamananya. HTTPS memiliki kelebihan fungsi dalam hal keamanan karena dalam sistemnya,
informasi yang dikirim akan dienkripsi sedemikian rupa menggunakan SSL dan TLS. Sehingga
informasi hanya dapat diakses oleh client dan server.
Karena keamanan yang bisa dilakukan oleh HTTPS, maka sekarang HTTPS mulai banyak
digunakan, meskipun butuh waktu yang lama untuk melakukan proses yang telah dijelaskan
sebelumnya.