SlideShare a Scribd company logo
1 of 12
Laporan Pratikum
Menciptakan Sertifikat SSL dengan OpenSSL
Langkah percobaan
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.
Menginstal dan membuat ssl server key
1. Menginstall software-software yang dibutuhkan:
$ sudo apt-get install apache2
$ sudo apt-get install openssl
Gambar 1 Instalasi apache2 dan ssl
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. Anda akan membutuhkan domain
name untuk sertifikat yang anda ciptakan. Pada contoh ini digunakan nama:
www.asem.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
Gambar 2 Membuat direktori ssl dan masuk ke direktori tersebut
1
Pratikum Keamanan Data
Laporan Pratikum
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: (Langkah di-skip karena sudah kosong)
$ 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
Gambar 3 pembuatan key untuk ssl
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.
Setelah menjalankan langkah ini. akan tercipta server.key pada direktori ssl. Capture
screenshot dari isi file server.key sebagai laporan.
Passphrase kelompok kami adalah: asem
2
Pratikum Keamanan Data
Laporan Pratikum
Gambar 4 isi file server.key
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.
Gambar 5 membentuk csr key dari openssl key
Gambar 6 isi file server.csr
3
Pratikum Keamanan Data
Laporan Pratikum
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
Gambar 7 membentuk crt key dari csr key
Gambar 8 isi file server.csr
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.
Gambar 9 Isi direktori ssl
Konfigurasi Apache untuk site www.asem.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.
Gambar 10 Isi direktori ssl
2. Enable-kan modul mod_ssl dengan perintah:
$ sudo a2enmod ssl
4
Pratikum Keamanan Data
Laporan Pratikum
Gambar 11 mengakftifkan modul ssl
3. Restart apache. Tujuannya agar module ssl berjalan pada apache. Proses ini harusnya
berjalan tanpa error.
$ sudo /etc/init.d/apache2 restart
Gambar 12 Merestart service apache2
4. Copy file default ke file ke file www.asem.com
$ cd /etc/apache2/sites-available/
$ cp default www.asem.com
Gambar 13 Mengcopy default untuk www.asem.com
5. Edit file www.asem.com dengan gedit atau pico
$ sudo gedit etc/apache2/sites-available/www.asem.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.asem.com:443
Ubah DocumentRoot untuk menunjuk ke web direktori dari website asem.
DocumentRoot /var/www/asem
Ubah <Directory /var/www/> untuk menunjuk ke direktori asem
<Directory /var/www/asem>
Gambar 14 Mengubah port, server name, dan directory root www.asem.com
Masukkan baris ini sebelum baris ErrorLog /var/log/apache2/error.log. Tujuannya agar
virtual host tahu dimana key dan sertifikat SSL disimpan.
SSLEngine On
5
Pratikum Keamanan Data
Laporan Pratikum
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
Gambar 15 Menambahkan SSL pada default dari www.asem.com
6. Simpan file www.asem.com
7. Pada directory /var/www/, copy file index.html ke /var/www/asem/
$ sudo cp /var/www/index.html /var/www/asem/index.html
Gambar 16 Mengcopy html index untuk index file www.asem.com
8. Enable-kan website www.asem.com dengan:
$ sudo a2ensite www.asem.com
Gambar 17 Mengaktifkan website www.asem.com
9. Edit file /etc/hosts untuk melakukan resolusi domain www.asem.com website ke 127.0.0.1.
Cari baris 127.0.0.1 lalu tambahkan baris ini :
127.0.0.1 localhost asem www.asem.com
6
Pratikum Keamanan Data
Laporan Pratikum
Gambar 18 Menambahkan konfigurasi resolv domain
7
Pratikum Keamanan Data
Laporan Pratikum
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]
Gambar 19 merestart service apache2
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:
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.
Gambar 20 Konfigurasi exsepsi https certificate
8
Pratikum Keamanan Data
Laporan Pratikum
5. Akhirnya muncul halaman web yang kita buat. Perhatikan bahwa awal dari URL adalah
https, bukan http! Capture screenshoot sebagai laporan.
Gambar 21 Hasil buka https://www.asem.com
6. Perhatikan pula bahwa pada pojok kiri bawah tampak tanda gembok yang menunjukkan
bahwa web server tersebut tersertifikasi. Apakah tanda ini muncul di website
www.asem.com?
Ya, muncul tanda gembok
7. Double klik tanda kunci tersebut. Klik tombol view certificate pada tanda kunci tersebut.
Sampai kapan periode validasi certifikat ini berakhir.
Gambar 22 properties certificate dari www.asem.com
Tanggal 05/06/2014, expire dalam 1 tahun
9
Pratikum Keamanan Data
Laporan Pratikum
8. Klik pada tab Detail. Siapa yang mengeluarkan sertifikat tersebut?
Gambar 23 Detail properties certificate issuer
Pengguna email munir@student.eepis-its.edu pada website www.asem.com departemen IT
eepis Surabaya di jawa timur
9. Bagaimana certificate ini digunakan untuk komunikasi web browser dan web server?
Teknologi SSL menggunakan konsep teknologi kriptografi kunci publik untuk bisa mencapai
komunikasi yang aman ini antara server dan pengunjungnya. Saat server dan pengakses
saling bertukar data yang disamarkan dan untuk membacanya digunakan sandi dan kunci
yang hanya dimiliki kedua pihak yang berkomunikasi tersebut, sehingga pihak lain yang
mencoba menyadap data yang dikirim tersebut tidak akan bisa membacanya karena sandi
dan kunci yang dibutuhkan tersebut hanya dimiliki oleh kedua pihak yang berkomunikasi
tadi. Secara sederhana, komunikasi internet dengan SSL ini bisa dilihat dengan cara akses
alamat URL-nya yang diawali dengan "https://" (misalnya https://www.asem.com ),
sedangkan yang tanpa SSL alamatnya hanya http biasa (misalnya http://www.asem.com).
Cara kerja ssl adalah sebagai berikut:
10
Pratikum Keamanan Data
Laporan Pratikum
Gambar 24 Bagan SSL handshake
Penjelasan:
1. SSL atau TLS klien mengirimkan "client hello" pesan yang mencantumkan informasi
kriptografi seperti SSL atau TLS versi dan, dalam rangka klien preferensi, ciphersuite
didukung oleh klien. Pesan tersebut juga berisi string byte acak yang digunakan dalam
perhitungan berikutnya. Protokol ini memungkinkan untuk “client hello " untuk memasukkan
metode kompresi data yang didukung oleh klien.
2. SSL atau TLS server merespon dengan server "server hello" pesan yang berisi ciphersuite
dipilih oleh server dari daftar yang disediakan oleh klien, ID sesi, dan satu lagi byte string
acak. Server juga mengirimkan sertifikat digital. Jika server memerlukan sertifikat digital
untuk otentikasi klien, server akan mengirimkan "permintaan sertifikat klien" yang berisi
daftar jenis sertifikat didukung dan Nama Distinguished Otoritas Sertifikasi diterima (CA).
3. SSL atau TLS klien memverifikasi sertifikat digital server.
4. SSL atau TLS klien mengirimkan byte string acak yang memungkinkan baik klien dan server
untuk menghitung kunci rahasia yang digunakan untuk mengenkripsi data pesan berikutnya.
Acak byte string itu sendiri dienkripsi dengan kunci publik server.
5. Jika SSL atau TLS server dikirim “client certificate request ", klien mengirimkan byte string
acak dienkripsi dengan kunci pribadi klien, bersama dengan sertifikat digital klien, atau
"tidak ada peringatan sertifikat digital". Peringatan ini hanya peringatan, tetapi dengan
beberapa implementasi jabat tangan gagal jika otentikasi klien adalah wajib.
6. SSL atau TLS Server memverifikasi sertifikat klien.
7. SSL atau TLS klien mengirimkan server pesan "finished", yang dienkripsi dengan kunci
rahasia, yang menunjukkan bahwa bagian klien dari jabat tangan selesai.
8. SSL atau TLS server mengirimkan klien pesan "finished", yang dienkripsi dengan kunci
rahasia, yang menunjukkan bahwa bagian server jabat tangan selesai.
9. Untuk durasi sesi SSL atau TLS, server dan klien sekarang dapat bertukar pesan yang simetris
dienkripsi dengan kunci rahasia bersama.
Pada implementasi nyata, berikut hasil capture handshake menggunakan wireshark:
11
Pratikum Keamanan Data
Laporan Pratikum
Gambar 25 Hasil protocol analysis dari ssl sebelum browser mendapat persetujuan user untuk meng- Confirm
Security Exception
Gambar 26 Hasil protocol analysis dari ssl sebelum browser mendapat persetujuan user untuk meng-
Confirm Security Exception. SSL berjalan seperti pada Bagan SSL handshake
12
Pratikum Keamanan Data

More Related Content

What's hot

Tugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazaharaTugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazaharaHazahara shadah
 
Tutorial membuat virtual host+ssl
Tutorial membuat virtual host+sslTutorial membuat virtual host+ssl
Tutorial membuat virtual host+sslwiny setya ningrum
 
Virtual Host + SSL
Virtual Host + SSL Virtual Host + SSL
Virtual Host + SSL marjuni .
 
Tutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xamppTutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xamppYoga Pratama Putra
 
Tutorial pembuatan ca pada virtualhost dan ssl
Tutorial pembuatan ca pada virtualhost dan sslTutorial pembuatan ca pada virtualhost dan ssl
Tutorial pembuatan ca pada virtualhost dan sslDelicia Generis Humani
 
Tutorial mengganti sertfikat ssl xampp virtual Hosts
Tutorial mengganti sertfikat ssl xampp virtual HostsTutorial mengganti sertfikat ssl xampp virtual Hosts
Tutorial mengganti sertfikat ssl xampp virtual Hostsaidul azmi
 
Tutorial mengganti sertfikat ssl xampp
Tutorial mengganti sertfikat ssl xamppTutorial mengganti sertfikat ssl xampp
Tutorial mengganti sertfikat ssl xamppaidul azmi
 
SSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPSSSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPSibnudhoank
 
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10manafhsb
 
Tutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xamppTutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xamppNadia Chairunissa
 
Virtualhost+ssl
Virtualhost+sslVirtualhost+ssl
Virtualhost+sslchayo rona
 
Konfigurasi server debian squeeze
Konfigurasi server debian squeezeKonfigurasi server debian squeeze
Konfigurasi server debian squeezeSanti Putri
 
Cara menginstal hand key
Cara menginstal hand keyCara menginstal hand key
Cara menginstal hand keyEdis Nganur
 
Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2
Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2
Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2Hary HarysMatta
 
Tugas 2 ,sistem operasi II
Tugas 2 ,sistem operasi IITugas 2 ,sistem operasi II
Tugas 2 ,sistem operasi IIatybaud
 
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)ApriyantoGafur
 

What's hot (20)

Tugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazaharaTugas keamanan sistem informasi membuat ca hazahara
Tugas keamanan sistem informasi membuat ca hazahara
 
Tutorial membuat virtual host+ssl
Tutorial membuat virtual host+sslTutorial membuat virtual host+ssl
Tutorial membuat virtual host+ssl
 
Tutorial ca
Tutorial caTutorial ca
Tutorial ca
 
Virtual Host + SSL
Virtual Host + SSL Virtual Host + SSL
Virtual Host + SSL
 
Tutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xamppTutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xampp
 
Tutorial pembuatan ca pada virtualhost dan ssl
Tutorial pembuatan ca pada virtualhost dan sslTutorial pembuatan ca pada virtualhost dan ssl
Tutorial pembuatan ca pada virtualhost dan ssl
 
Tutorial mengganti sertfikat ssl xampp virtual Hosts
Tutorial mengganti sertfikat ssl xampp virtual HostsTutorial mengganti sertfikat ssl xampp virtual Hosts
Tutorial mengganti sertfikat ssl xampp virtual Hosts
 
Tutorial mengganti sertfikat ssl xampp
Tutorial mengganti sertfikat ssl xamppTutorial mengganti sertfikat ssl xampp
Tutorial mengganti sertfikat ssl xampp
 
SSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPSSSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPS
 
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
 
Tutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xamppTutorial membuat sertifikat ssl menggunakan xampp
Tutorial membuat sertifikat ssl menggunakan xampp
 
Virtualhost+ssl
Virtualhost+sslVirtualhost+ssl
Virtualhost+ssl
 
Konfigurasi server debian squeeze
Konfigurasi server debian squeezeKonfigurasi server debian squeeze
Konfigurasi server debian squeeze
 
Tutorial virtual host + ssl
Tutorial virtual host + sslTutorial virtual host + ssl
Tutorial virtual host + ssl
 
Konfigurasi debian
Konfigurasi debianKonfigurasi debian
Konfigurasi debian
 
Cara menginstal hand key
Cara menginstal hand keyCara menginstal hand key
Cara menginstal hand key
 
Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2
Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2
Implementasi Kannel dengan modem Wavecom di Linux OpenSuSE 11.2
 
Tugas 2 ,sistem operasi II
Tugas 2 ,sistem operasi IITugas 2 ,sistem operasi II
Tugas 2 ,sistem operasi II
 
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
 
Mengenal ORACLE PL/ SQL
Mengenal ORACLE PL/ SQLMengenal ORACLE PL/ SQL
Mengenal ORACLE PL/ SQL
 

Viewers also liked

Laporan resmi HTTP dan HTTPS
Laporan resmi HTTP dan HTTPSLaporan resmi HTTP dan HTTPS
Laporan resmi HTTP dan HTTPSiintanamalia
 
Konfigurasi ssl-dan-ssl
Konfigurasi ssl-dan-sslKonfigurasi ssl-dan-ssl
Konfigurasi ssl-dan-sslslempase
 
SSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPSSSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPSMuhammad Ibnu Wardana
 
L6 web server_fadlysatriyagunawan
L6 web server_fadlysatriyagunawanL6 web server_fadlysatriyagunawan
L6 web server_fadlysatriyagunawanSMKN 1 Cimahi
 
Konfigurasi https web server
Konfigurasi https web serverKonfigurasi https web server
Konfigurasi https web serverslempase
 
Cara Membangun Web Server dengan HTTPS di Windows Server 2008
Cara Membangun Web Server dengan HTTPS di Windows Server 2008Cara Membangun Web Server dengan HTTPS di Windows Server 2008
Cara Membangun Web Server dengan HTTPS di Windows Server 2008Muhamad Prasetyo
 

Viewers also liked (7)

Laporan resmi HTTP dan HTTPS
Laporan resmi HTTP dan HTTPSLaporan resmi HTTP dan HTTPS
Laporan resmi HTTP dan HTTPS
 
Konfigurasi ssl-dan-ssl
Konfigurasi ssl-dan-sslKonfigurasi ssl-dan-ssl
Konfigurasi ssl-dan-ssl
 
SSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPSSSL (Security Socket Layer) and HTTPS
SSL (Security Socket Layer) and HTTPS
 
L6 web server_fadlysatriyagunawan
L6 web server_fadlysatriyagunawanL6 web server_fadlysatriyagunawan
L6 web server_fadlysatriyagunawan
 
Konfigurasi https web server
Konfigurasi https web serverKonfigurasi https web server
Konfigurasi https web server
 
Praktikum 6
Praktikum 6Praktikum 6
Praktikum 6
 
Cara Membangun Web Server dengan HTTPS di Windows Server 2008
Cara Membangun Web Server dengan HTTPS di Windows Server 2008Cara Membangun Web Server dengan HTTPS di Windows Server 2008
Cara Membangun Web Server dengan HTTPS di Windows Server 2008
 

Similar to SSL

Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)
Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)
Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)Apridila Anggita Suri
 
slide tugas VPS Teknik komputer IT .pptx
slide tugas VPS Teknik komputer IT .pptxslide tugas VPS Teknik komputer IT .pptx
slide tugas VPS Teknik komputer IT .pptxKrisdeySimanullang
 
Instalasi ssh server
Instalasi ssh serverInstalasi ssh server
Instalasi ssh serverOcto Ayomy
 
Implementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxyImplementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxyPanggih Supraja
 
Final project virtual hosts + ssl
Final project virtual hosts + sslFinal project virtual hosts + ssl
Final project virtual hosts + ssldevinta sari
 
Cara membuat website yang aman
Cara membuat website yang amanCara membuat website yang aman
Cara membuat website yang amanHarun Al Rosyid
 
Tutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud ServerTutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud ServerKurniawan Suganda
 
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)Mark Thalib
 
HTTP dan HTTPS
HTTP dan HTTPSHTTP dan HTTPS
HTTP dan HTTPSWindy Winz
 
Lapres proxy radius
Lapres proxy radiusLapres proxy radius
Lapres proxy radiusWind_Al
 

Similar to SSL (18)

Konfigurasi web server
Konfigurasi web serverKonfigurasi web server
Konfigurasi web server
 
Presentasi (2).pptx
Presentasi (2).pptxPresentasi (2).pptx
Presentasi (2).pptx
 
Tugas os 2 ke II
Tugas os 2 ke IITugas os 2 ke II
Tugas os 2 ke II
 
Lapres https
Lapres httpsLapres https
Lapres https
 
Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)
Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)
Tutorial Certificate Authority (CA) Public Key Infrastructure (PKI)
 
slide tugas VPS Teknik komputer IT .pptx
slide tugas VPS Teknik komputer IT .pptxslide tugas VPS Teknik komputer IT .pptx
slide tugas VPS Teknik komputer IT .pptx
 
Instalasi ssh server
Instalasi ssh serverInstalasi ssh server
Instalasi ssh server
 
Implementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxyImplementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxy
 
Final project virtual hosts + ssl
Final project virtual hosts + sslFinal project virtual hosts + ssl
Final project virtual hosts + ssl
 
Cara membuat website yang aman
Cara membuat website yang amanCara membuat website yang aman
Cara membuat website yang aman
 
Radius Proxy
Radius ProxyRadius Proxy
Radius Proxy
 
Tutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud ServerTutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud Server
 
Nginx owncloud
Nginx owncloudNginx owncloud
Nginx owncloud
 
Zainal chatting
Zainal chattingZainal chatting
Zainal chatting
 
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
 
HTTP dan HTTPS
HTTP dan HTTPSHTTP dan HTTPS
HTTP dan HTTPS
 
Lapres proxy radius
Lapres proxy radiusLapres proxy radius
Lapres proxy radius
 
Modul 8 squid
Modul 8 squidModul 8 squid
Modul 8 squid
 

SSL

  • 1. Laporan Pratikum Menciptakan Sertifikat SSL dengan OpenSSL Langkah percobaan 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. Menginstal dan membuat ssl server key 1. Menginstall software-software yang dibutuhkan: $ sudo apt-get install apache2 $ sudo apt-get install openssl Gambar 1 Instalasi apache2 dan ssl 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. Anda akan membutuhkan domain name untuk sertifikat yang anda ciptakan. Pada contoh ini digunakan nama: www.asem.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 Gambar 2 Membuat direktori ssl dan masuk ke direktori tersebut 1 Pratikum Keamanan Data
  • 2. Laporan Pratikum 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: (Langkah di-skip karena sudah kosong) $ 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 Gambar 3 pembuatan key untuk ssl 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. Setelah menjalankan langkah ini. akan tercipta server.key pada direktori ssl. Capture screenshot dari isi file server.key sebagai laporan. Passphrase kelompok kami adalah: asem 2 Pratikum Keamanan Data
  • 3. Laporan Pratikum Gambar 4 isi file server.key 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. Gambar 5 membentuk csr key dari openssl key Gambar 6 isi file server.csr 3 Pratikum Keamanan Data
  • 4. Laporan Pratikum 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 Gambar 7 membentuk crt key dari csr key Gambar 8 isi file server.csr 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. Gambar 9 Isi direktori ssl Konfigurasi Apache untuk site www.asem.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. Gambar 10 Isi direktori ssl 2. Enable-kan modul mod_ssl dengan perintah: $ sudo a2enmod ssl 4 Pratikum Keamanan Data
  • 5. Laporan Pratikum Gambar 11 mengakftifkan modul ssl 3. Restart apache. Tujuannya agar module ssl berjalan pada apache. Proses ini harusnya berjalan tanpa error. $ sudo /etc/init.d/apache2 restart Gambar 12 Merestart service apache2 4. Copy file default ke file ke file www.asem.com $ cd /etc/apache2/sites-available/ $ cp default www.asem.com Gambar 13 Mengcopy default untuk www.asem.com 5. Edit file www.asem.com dengan gedit atau pico $ sudo gedit etc/apache2/sites-available/www.asem.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.asem.com:443 Ubah DocumentRoot untuk menunjuk ke web direktori dari website asem. DocumentRoot /var/www/asem Ubah <Directory /var/www/> untuk menunjuk ke direktori asem <Directory /var/www/asem> Gambar 14 Mengubah port, server name, dan directory root www.asem.com Masukkan baris ini sebelum baris ErrorLog /var/log/apache2/error.log. Tujuannya agar virtual host tahu dimana key dan sertifikat SSL disimpan. SSLEngine On 5 Pratikum Keamanan Data
  • 6. Laporan Pratikum SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key Gambar 15 Menambahkan SSL pada default dari www.asem.com 6. Simpan file www.asem.com 7. Pada directory /var/www/, copy file index.html ke /var/www/asem/ $ sudo cp /var/www/index.html /var/www/asem/index.html Gambar 16 Mengcopy html index untuk index file www.asem.com 8. Enable-kan website www.asem.com dengan: $ sudo a2ensite www.asem.com Gambar 17 Mengaktifkan website www.asem.com 9. Edit file /etc/hosts untuk melakukan resolusi domain www.asem.com website ke 127.0.0.1. Cari baris 127.0.0.1 lalu tambahkan baris ini : 127.0.0.1 localhost asem www.asem.com 6 Pratikum Keamanan Data
  • 7. Laporan Pratikum Gambar 18 Menambahkan konfigurasi resolv domain 7 Pratikum Keamanan Data
  • 8. Laporan Pratikum 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] Gambar 19 merestart service apache2 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: 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. Gambar 20 Konfigurasi exsepsi https certificate 8 Pratikum Keamanan Data
  • 9. Laporan Pratikum 5. Akhirnya muncul halaman web yang kita buat. Perhatikan bahwa awal dari URL adalah https, bukan http! Capture screenshoot sebagai laporan. Gambar 21 Hasil buka https://www.asem.com 6. Perhatikan pula bahwa pada pojok kiri bawah tampak tanda gembok yang menunjukkan bahwa web server tersebut tersertifikasi. Apakah tanda ini muncul di website www.asem.com? Ya, muncul tanda gembok 7. Double klik tanda kunci tersebut. Klik tombol view certificate pada tanda kunci tersebut. Sampai kapan periode validasi certifikat ini berakhir. Gambar 22 properties certificate dari www.asem.com Tanggal 05/06/2014, expire dalam 1 tahun 9 Pratikum Keamanan Data
  • 10. Laporan Pratikum 8. Klik pada tab Detail. Siapa yang mengeluarkan sertifikat tersebut? Gambar 23 Detail properties certificate issuer Pengguna email munir@student.eepis-its.edu pada website www.asem.com departemen IT eepis Surabaya di jawa timur 9. Bagaimana certificate ini digunakan untuk komunikasi web browser dan web server? Teknologi SSL menggunakan konsep teknologi kriptografi kunci publik untuk bisa mencapai komunikasi yang aman ini antara server dan pengunjungnya. Saat server dan pengakses saling bertukar data yang disamarkan dan untuk membacanya digunakan sandi dan kunci yang hanya dimiliki kedua pihak yang berkomunikasi tersebut, sehingga pihak lain yang mencoba menyadap data yang dikirim tersebut tidak akan bisa membacanya karena sandi dan kunci yang dibutuhkan tersebut hanya dimiliki oleh kedua pihak yang berkomunikasi tadi. Secara sederhana, komunikasi internet dengan SSL ini bisa dilihat dengan cara akses alamat URL-nya yang diawali dengan "https://" (misalnya https://www.asem.com ), sedangkan yang tanpa SSL alamatnya hanya http biasa (misalnya http://www.asem.com). Cara kerja ssl adalah sebagai berikut: 10 Pratikum Keamanan Data
  • 11. Laporan Pratikum Gambar 24 Bagan SSL handshake Penjelasan: 1. SSL atau TLS klien mengirimkan "client hello" pesan yang mencantumkan informasi kriptografi seperti SSL atau TLS versi dan, dalam rangka klien preferensi, ciphersuite didukung oleh klien. Pesan tersebut juga berisi string byte acak yang digunakan dalam perhitungan berikutnya. Protokol ini memungkinkan untuk “client hello " untuk memasukkan metode kompresi data yang didukung oleh klien. 2. SSL atau TLS server merespon dengan server "server hello" pesan yang berisi ciphersuite dipilih oleh server dari daftar yang disediakan oleh klien, ID sesi, dan satu lagi byte string acak. Server juga mengirimkan sertifikat digital. Jika server memerlukan sertifikat digital untuk otentikasi klien, server akan mengirimkan "permintaan sertifikat klien" yang berisi daftar jenis sertifikat didukung dan Nama Distinguished Otoritas Sertifikasi diterima (CA). 3. SSL atau TLS klien memverifikasi sertifikat digital server. 4. SSL atau TLS klien mengirimkan byte string acak yang memungkinkan baik klien dan server untuk menghitung kunci rahasia yang digunakan untuk mengenkripsi data pesan berikutnya. Acak byte string itu sendiri dienkripsi dengan kunci publik server. 5. Jika SSL atau TLS server dikirim “client certificate request ", klien mengirimkan byte string acak dienkripsi dengan kunci pribadi klien, bersama dengan sertifikat digital klien, atau "tidak ada peringatan sertifikat digital". Peringatan ini hanya peringatan, tetapi dengan beberapa implementasi jabat tangan gagal jika otentikasi klien adalah wajib. 6. SSL atau TLS Server memverifikasi sertifikat klien. 7. SSL atau TLS klien mengirimkan server pesan "finished", yang dienkripsi dengan kunci rahasia, yang menunjukkan bahwa bagian klien dari jabat tangan selesai. 8. SSL atau TLS server mengirimkan klien pesan "finished", yang dienkripsi dengan kunci rahasia, yang menunjukkan bahwa bagian server jabat tangan selesai. 9. Untuk durasi sesi SSL atau TLS, server dan klien sekarang dapat bertukar pesan yang simetris dienkripsi dengan kunci rahasia bersama. Pada implementasi nyata, berikut hasil capture handshake menggunakan wireshark: 11 Pratikum Keamanan Data
  • 12. Laporan Pratikum Gambar 25 Hasil protocol analysis dari ssl sebelum browser mendapat persetujuan user untuk meng- Confirm Security Exception Gambar 26 Hasil protocol analysis dari ssl sebelum browser mendapat persetujuan user untuk meng- Confirm Security Exception. SSL berjalan seperti pada Bagan SSL handshake 12 Pratikum Keamanan Data