Anda di halaman 1dari 14

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.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
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

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.
Komunikasi SSL/TLS meliputi dua tahap yaitu handshaking dan data sending.
Sebelum berkomunikasi, web site harus meminta certificate authority (CA) agar dapat
menanda tangani (signing) digital certificate-nya yang berisi public key dari site. User
yang menerima digital sertificate CA, segera memanggil sertifikat root, yang dimiliki
ketika mereka menginstall web browser. Web browser seperti Internet Explorer atau
Firefox sebelumnya telah dilengkapi dengan sejumlah sertifikat root dari bermacam-
macam perusahaan seperti VeriSign atau Entrust, yang memang menspesialiasisikan diri
sebagai perusahaan yang bergerak di bidang sertifikasi.

CA: Verisign

2 1

3
5 Client web browser Amazon server

4
1. Verisign menandatangani sertifikat Amazon dengan publik key-nya
2. Install CA sertikat dengan public key-nya pada browser client
3. Koneksi lewat https
4. Saling menukar sertifikat digital, termasuk publik key
5. Client melakukan verifikasi sertifikat Amazon menggunakan public key dari CA

Gambar 12.1 SSL/TLS handshaking pada https

2
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

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

2 Amazon server
Client
4

1. Menegosiasikan cipher (metode kriptografi yang dipakai, termasuk didalamnya


panjang key, hash function, otentikasi ,dll)
2. Mengirim data yang telah terinkripsi dengan Amazon publik key
3. Mengirim data yang telah terinkripsi dengan client publik key
4. Dekripsi/decoding data dari Amazon dengan publik key client

Gambar 12.2 Data sending dengan SSL/TLS

3
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

Gambar 12.3 Indikator penggunaan SSL/TLS

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. TUGAS PENDAHULUAN
1. Jelaskan proses handshaking pada SSL/TLS
2. Jelaskan proses pengiriman data pada SSL/TLS

4
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

3. Sebutkan software-software yang dibutuhkan untuk menggunakan protocol https.


4. Bagaimana penggunaan TLS/SSL pada mail dan vpn ?
5. Apa yang disebut CA ? Sebutkan 5 buah CA yang anda tahu
6. Lihatlah sertifikat dari webmail dengan mengklik tanda kunci. Lihat pada kolom
issued by dan issued to. Tulis CN,O,OU. PAda technical Details, lihat metode
enkripsi. Apa metode enkripsinya.

D. PERCOBAAN

1. Manajemen sertifikat dengan web browser


Pada bagian ini anda akan belajar bagaimana browser menyimpan informasi
certificate authority (CA) dan informasi-informasi berkaitan dengan cipher-nya.
1. Buka briwser firefox. Pada toolbar, masuklah ke tab Preferences -> Advanced --
-> Encryption
2. Melihat protokol yang digunakan untuk enkripsi. Protokol apa yang digunakan ?

Gambar 12.4 Protokol enkripsi

3. Klik Certificates -> Authorities. Anda akan melihat Certificate Authorities (CA)
yang diinstall di browser anda, Ini adalah kumpulan listing perusahaan (CA)
yang menawarkan jasa untuk penandatanganan (signing) dan verifikasi sertifikat
(mereka adalah pihak ketiga yang dipercaya). Sebutkan dua saja !

5
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

Gambar 12.5 Listing Certificate Authorities (CA) di Firefox dan sertifikatnya

4. Selain melisting nama-nama CA, juga dicantumkan sertifikat dari masing-masing


perusahaan. Anda dapat melihatnya dengan mengetik Built in object token. Sertifikat
ini disebut sebagai root certificate. Pilih salah satu sertifikat ini dengan menklik
View -> General. General memberikan informasi tentang perusahan CA tersebut
seperti Common Name, Organization, Organization Unit, validitas, kode
fingerprintnya dan lain-lain. Klik Detail untuk melihat informasi seputar
enkripsinya. Klik certificate fileds. Cari Certificate Signature Algorithm. Fiels ini
menunjukan algoritma apa yang dipakai CA untuk menandatangani sertifikat.
Hasilnya akan Nampak di fields value. Apa protocol enkripsi yang dipakai?

Gambar 12.6 Detail enkripsi yang dipakai oleh CA

6
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

Gambar 12.7 Field certicate untuk mengecek algoritma yang dipakai CA

5. Lihat pada field Subject’s Public Key. Ini adalah pulic key dari CA. Berapa
panjangnya dalam bit?
6. Klik Close untuk meninggalkan certificate viewer , klik OK dan kembalilah pada
jendela Preference.

2. Menciptakan sertifikat SSL dengan OpenSSL


Pada bagian ini anda akan belajar bagaimana menginstall web server yang secure
dengan menggunakan SSL/TLS untuk transaksinya. Mengenai software yang
dibutuhkan, anda bisa membaca pada dasar teori. Sebagai langkah awal installah
software-software tersebut. Untuk mod_ssl, secara otomatis telah ter-built-in pada
Apache2.
Tahap paling penting dari praktikum ini adalah membuat public/private key,
SSL sertifikat, certificate signing request (CSR). Biasanya, server yang komersial,
akan meminta otoritas pihak ke tiga seperti VeriSign untuk menandatangani
sertifikatnya. Pada praktikum ini, kita tidak akan meminta bantuan pihak ketiga,
namun menjadi CA sendiri (self signing CA). Kita juga akan membuat domain
sendiri yang dihost secara local. Karena itu anda bisa memilih nama domain yang
anda inginkan. Kerjakan langkah-langkah dibawah dan jawab pertanyaan-
pertanyaannnya.
1. Menginstall software-software yang dibutuhkan :
$ sudo apt-get install apache2
$ sudo apt-get install openssl
2. Langkah berikutnya adalah membuat sertifikat SSL untuk web server sebelum kita

7
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

menjalankan secure server dengan HTTPS. Selain itu , kita juga akan membuat
pasangan public/private key untuk melakukan request sertifikat. Anda akan
membutuhkan domain name untuk sertifikat yang anda ciptakan. 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. Lihat isi
direktori ini
$ cd /etc/apache2/ssl.
$ ls -al
4. Untuk membuat Certificate Signing Request (CSR), anda harus membuat sepasang
public/privat key terlebih dahulu. Untuk itu, pertama-tama, kosongkan semua
sertifikat yang ada dengan perintah :
$ sudo rm *
5. Kemudian buatlah key dengan nama server.key yang merupakan private key dengan
perintah :
$ sudo openssl genrsa -des3 -out server.key 1024
genrsa : menunjukkan OpenSSL bahwa anda ingin menciptakan sepasang key
des3 : menunjukkan bahwa private key harus dienkripsi dan dilindungi oleh
passphrase
out : menunjukkan filename yang akan menyimpan hasil output
1024 : menunjukkan jumlah bit dari key yang dibuat
6. Siapkan passphrase dan isikan pada saat diminta. Apa passphrase anda ? tulis
sebagai bagian laporan. Hasilnya akan muncul seperti ini :

Generating RSA private key, 1024 bit long modulus


........++++++
...++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
You will be prompted for a pass phrase, once you type in your initial
pass phrase, you will be asked to verify this pass phrase.

Gambar 12.8 Pembangkitan private key

Setelah menjalankan langkah ini. akan tercipta server.key pada direktori ssl. Cek

8
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

dengan perintah ls –al. Capture screenshot dari isi file server.key sebagai laporan.
7. Pastikan anda maih berada pada direktori /etc/apache2/ssl. Cobalah generate file
server.csr dengan menggunakan private key diatas. Gunakan perintah dibawah. Csr
ini kependekan dari certificate signing request.
$ sudo openssl req -new -key server.key -out server.csr
Akan muncul tampilan berikut. Isi sesuai dengan keinginan anda. Yang penting
ketika memasukkan Common Name (CN) adalah CN harus sesuai dengan alamat
web, nama DNS atau IP address pada konfigurasi Apache. Setelah anda memasukkan
informasi tersebut, akan terbentuk file server.csr yang akan digunakan untuk
meminta sertifikat. Coba cek dengan perintah ls untuk meihat apakah file ini sudah
terbentuk. Capture screenshot dari server.csr sebagai laporan.

Country Name:INA
State or Province Name: jatim
Locality Name: SBY
Organization Name: EEPIS
Organizational Unit Name: IT
Common Name: www.webku.com
Email: fitri@eepis-its.edu
A challenge password: 1234567
An Optional Company Name: G10

Gambar 12.9 Field Informasi CA

8. Perhatikan bahwa untuk membuat file server.crt anda membutuhkan server.key dan
server.csr. Biasanya, pada langkah ini, web server komersial akan meminta CA
professional seperti VeriSign untuk memberikan file crt. Pada praktikum ini kita
akan berlaku sebagai CA dan mengenerate file crt tersebut secara mandiri (self
signing certificate).
9. Sekarang coba generate file server.crt dengan perintah dibawah :
$ sudo openssl x509 -req -days 365 -in server.csr -signkey
server.key -out server.crt
Perintah diatas akan meminta anda memasukkan kembali passphrase untuk
mengenerate server.key (yaitu 123456). Masukkan passphrase yang sesuai. Capture
screenshot dari server.crt sebagai laporan

9
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

10. Cek lagi directory ssl dan anda seharusnya memiliki 3 file, server.key,server.crt dan
server.crs. Jika benar, selamat, anda telah menyelesaikan lab ini dengan baik 

3. Konfigurasi Apache untuk site www.webku.com


1. Cek direktori ssl untuk memastikan ada 3 file disini yaitu : server.key,server.crt dan
server.crs. Hal ini penting untuk kelancaran percobaan ke 3 ini.
2. Enable-kan modul mod_ssl dengan perintah :
$ sudo a2enmod ssl
3. Restart apache. Tujuannya agar module ssl berjalan pada apache. Proses ini harusnya
berjalan tanpa error.
$ sudo /etc/init.d/apache2 restart
4. Copy file default ke file ke file www.webku.com
$ cd /etc/apache2/sites-available/
$ cp default www.webku.com

5. Edit file www.webku.com dengan gedit atau pico


$ sudo gedit etc/apache2/sites-available/www.webku.com
Ubah port VirtualHost dari 80 ke 443. Baris pertama dari file namapk seperti dibawah.
<VirtualHost *:443>
Tambahkan server name dibawah baris ServerAdmin
ServerName www.webku.com:443
Ubah DocumentRoot untuk menunjuk ke web direktori dari website webku.
DocumentRoot /var/www/webku
Ubah <Directory /var/www/> untuk menunjuk ke direktori webku
<Directory /var/www/webku>
Masukkan baris ini sebelum baris ErrorLog /var/log/apache2/error.log. Tujuannya 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
7. Pada directory /var/www/, copy file index.html ke /var/www/webku/
$ sudo cp /var/www/index.html /var/www/webku/index.html
8. Enable-kan website www.webku.com dengan :
$ sudo a2ensite www.webku.com

10
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

9. Edit file /etc/hosts 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

4. Menjalankan https
1. Restart apache2 agar efek dari sertifikat SSL mulai efektif.
$ sudo /etc/init.d/apache2 restart
Masukkan passphrase yaitu 123456. Jika cocok maka apache2 akan di-restart dan
memberikan tanda [OK]
2. Buka http://localhost pada browser. Jika apache2 berjalan dengan baik, maka akan
muncul pesan “It Works!”
3. Buka URL berikut https://www.webku.com. Akan muncul :

Gambar 12.10 Tampilan browser waktu pertama kali mengakses https

Pesan ini muncul dari browser kita karena sertikat yang dibangkitkan oleh
www.webku.com bersifat self signed. Kita akan menerima sertikat tersebut dan
menambahkan eksepsi .
4. 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.

11
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

5. Akhirnya muncul halaman web yang kita buat. Perhatikan bahwa awal dari URL
adalah https, bukan http ! Capture screenshoot sebagai laporan

Gambar 12.11 Halaman https

6. Perhatikan pula bahwa pada pojok kiri bawah tampak tanda yang menunjukkan
bahwa web server tersebut tersertifikasi. Apakah tanda ini muncul di website
www.webku.com ?
7. Double klik tanda kunci tersebut. Klik tombol view certificate pada tanda kunci tersebut.
Sampai kapan periode validasi certifikat ini berakhir.
8. Klik pada tab Detail. Siapa yang mengeluarkan sertifikat tersebut?
9. Bagaimana certifikat ini digunakan untuk komunikasi web browser dan web server?

Catatan :
1. Jika $ /etc/init.d/apache2 restart tidak berhasil, dan memberikan pesan :
* Restarting web server apache2
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no
listening sockets available, shutting down
Unable to open logs
Action 'start' failed.

Artinya anda harus melakukan /etc/init.d/apache2 restart ketika anda berlaku sebagai
root. Untuk itu jangan lupa lakukan sudo, seperti : $ sudo /etc/init.d/apache2
2. Jika pesan yang diberikan :
* Restarting web server apache2
(98)Address already in use: make_sock: could not bind to address
0.0.0.0:80 no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
12
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

Artinya Apache2 sudah berjalan sebagai proses. Untuk itu coba cek no PID dan kill PID
tersebut.

$ sudo fuser -v 80/tcp


USER PID ACCESS COMMAND
80/tcp: root 1180 F.... apache2
$ sudo kill -9 1180

13
Pertemuan 12: Konfigurasi Keamanan Layanan Web (SSL/TLS)

DAFTAR PUSTAKA

1. Secure web transaction, http://csis.pace.edu/~lchen/sweet/


2. http://httpd.apache.org/docs/2.2/en/ssl/
3. http://www.linuxquestions.org/

14

Anda mungkin juga menyukai

  • Web Server & Mail Server
    Web Server & Mail Server
    Dokumen26 halaman
    Web Server & Mail Server
    mukhlison1989
    Belum ada peringkat
  • Memori Komputer
    Memori Komputer
    Dokumen26 halaman
    Memori Komputer
    mukhlison1989
    Belum ada peringkat
  • Perancangan Sistem
    Perancangan Sistem
    Dokumen34 halaman
    Perancangan Sistem
    mukhlison1989
    Belum ada peringkat
  • 50
    50
    Dokumen64 halaman
    50
    Ramlan Herdiawan
    Belum ada peringkat
  • Memori Komputer
    Memori Komputer
    Dokumen26 halaman
    Memori Komputer
    mukhlison1989
    Belum ada peringkat
  • M5 Bayesian
    M5 Bayesian
    Dokumen13 halaman
    M5 Bayesian
    mukhlison1989
    Belum ada peringkat
  • OPTIMIZED KASIR
    OPTIMIZED KASIR
    Dokumen18 halaman
    OPTIMIZED KASIR
    mukhlison1989
    Belum ada peringkat
  • Memori Komputer
    Memori Komputer
    Dokumen26 halaman
    Memori Komputer
    mukhlison1989
    Belum ada peringkat
  • Daftar Pustaka
    Daftar Pustaka
    Dokumen21 halaman
    Daftar Pustaka
    KeindahanKecantikan
    Belum ada peringkat
  • Goji Wireshark
    Goji Wireshark
    Dokumen0 halaman
    Goji Wireshark
    Kang Nu
    Belum ada peringkat
  • Pengertian Dan Sifat Cahaya
    Pengertian Dan Sifat Cahaya
    Dokumen3 halaman
    Pengertian Dan Sifat Cahaya
    mukhlison1989
    Belum ada peringkat
  • Eldig W1a Pendahuluan
    Eldig W1a Pendahuluan
    Dokumen15 halaman
    Eldig W1a Pendahuluan
    mukhlison1989
    Belum ada peringkat
  • Jenis Sistem Operasi
    Jenis Sistem Operasi
    Dokumen9 halaman
    Jenis Sistem Operasi
    Yunia Jovania's Mariana
    Belum ada peringkat
  • 1 Memahami Alat Gambr
    1 Memahami Alat Gambr
    Dokumen20 halaman
    1 Memahami Alat Gambr
    Decke Hernadin
    Belum ada peringkat
  • Chipset
    Chipset
    Dokumen18 halaman
    Chipset
    mukhlison1989
    Belum ada peringkat
  • Chipset
    Chipset
    Dokumen18 halaman
    Chipset
    mukhlison1989
    Belum ada peringkat
  • Pengertian Dan Sifat Cahaya
    Pengertian Dan Sifat Cahaya
    Dokumen3 halaman
    Pengertian Dan Sifat Cahaya
    mukhlison1989
    Belum ada peringkat
  • TKJ
    TKJ
    Dokumen62 halaman
    TKJ
    jarenjarfa
    Belum ada peringkat
  • Materi 1 3
    Materi 1 3
    Dokumen30 halaman
    Materi 1 3
    mukhlison1989
    Belum ada peringkat
  • Modul Jaringan Komputer
    Modul Jaringan Komputer
    Dokumen31 halaman
    Modul Jaringan Komputer
    deeqhis
    Belum ada peringkat
  • Makalah Belajar Komputer
    Makalah Belajar Komputer
    Dokumen15 halaman
    Makalah Belajar Komputer
    Aman George
    Belum ada peringkat
  • KTI-Materi8 Jaringan Komputer PDF
    KTI-Materi8 Jaringan Komputer PDF
    Dokumen10 halaman
    KTI-Materi8 Jaringan Komputer PDF
    Budi Coyz
    Belum ada peringkat
  • TKJ
    TKJ
    Dokumen62 halaman
    TKJ
    jarenjarfa
    Belum ada peringkat
  • El302 00
    El302 00
    Dokumen9 halaman
    El302 00
    AhmedNickov
    Belum ada peringkat
  • TKJ
    TKJ
    Dokumen62 halaman
    TKJ
    jarenjarfa
    Belum ada peringkat
  • TKJ
    TKJ
    Dokumen62 halaman
    TKJ
    jarenjarfa
    Belum ada peringkat
  • Sistem Pakar
    Sistem Pakar
    Dokumen38 halaman
    Sistem Pakar
    ClaraJerina
    Belum ada peringkat
  • Jurnal Eka2
    Jurnal Eka2
    Dokumen6 halaman
    Jurnal Eka2
    mukhlison1989
    Belum ada peringkat
  • SDM Indonesia
    SDM Indonesia
    Dokumen14 halaman
    SDM Indonesia
    mukhlison1989
    Belum ada peringkat