1.
Judul
Percobaan : Konfigurasi Keamanan Layanan
Web (SSL/TSL)
2.
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.
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 bermacammacam 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 preinstalled 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 opensource 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/.
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.
3. Tugas Pendahuluan
1.
Jelaskan proses
handshaking pada SSL/TLS
TLS
Handshake Protocol
TLS Handshake protocol mengijinkan
komunikasi yang telah ter-autentikasi untuk memulai koneksi antara klien dan
server. Protokol ini mengijinkan klien dan server untuk saling berbicara dengan
bahasa yang sama, mengijinkan kedua belah pihak untuk menyetujui sebuah
algoritma enkripsi dan kunci enkripsi
terlebih dahulu sebelum protokol aplikasi memulai pengiriman data. Jalanya
proses handshake pada TLS ini sama dengan proses yang terjadi pada SSL. TLS
menyediakan autentikasi ke server dan juga secara opsional ke klien. Meskipun
begitu, ada beberapa perubahan yang terjadi pada proses handshake tersebut.
2.
Jelaskan proses
pengiriman data pada SSL/TLS
Saat seseorang melakukan aktifitas
menggunakan internet, terjadi suatu hubungan antara komputer user tersebut dengan
server yang akan dimintai informasi yang diinginkan oleh user. Terkadang
informasi yang diminta oleh user tersebut bersifat penting, sensitif dan
rahasia supaya hanya user tersebut yang hanya bisa melakukan akses terhadap
informasi tersebut, contohnya saja transaksi jual beli melalui internet,
internet banking, login suatu akun, dll. Tetapi, sering kali ada third-party
(pihak ketiga) yang mencoba untuk menyadap proses pengiriman data dari user ke
server tersebut sehingga pihak ketiga tersebut dapat dengan mudah mengetahui
informasi yang bersifat rahasia itu. Akibatnya informasi penting tersebut dapat
disalahgunakan oleh pihak ketiga dan dapat menimbulkan kerugian bagi banyak
orang. untuk mencegah hal tersebut, maka dibuatlah suatu protocol jaringan komputer
yang dapat mengamankan proses pengiriman data dari client ke server yaitu SSL
(Secure Sockets Layer) dan TLS (Transport Layer Security).
SSL dan TLS adalah suatu protocol
jaringan komputer yang menyediakan keamanan dalam melakukan komunikasi melalui
internet. Kedua protocol ini bekerja dengan melakukan enkripsi simetris
terhadap data-data yang dikirim sehingga kerahasiaan dari data yang dikirimpun
dapat terjamin keamananya. Dengan begitu pihak ketiga akan kesulitan untuk
menyadapnya.
3.
Sebutkan software-software
yang dibutuhkan untuk menggunakan protocol https.
Salah
satu software yang digunakan utnuk protocol HTTP adalah Apache. Apace adalah
adalah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada
pada web server sebelumnya, yaitu web server NCSA. Sesuai namanya, web server
NCSA dibuat oleh National Center for Supercomputing Applications.
4.
Bagaimana penggunaan
TLS/SSL pada mail dan vpn ?
VPN adalah singkatan
dari Virtual Private Network, yaitu sebuah cara aman untuk mengakses local
area network yang berada diluar jangkauan, dengan menggunakan internet atau
jaringan umum lainnya untuk melakukan transmisi paket data secara pribadi, dan
terenkripsi. Sedangkan PPTP adalah singkatan dari Point-to-Point Tunneling
Protocol, dan merupakan sebuah metode dalam implementasi penggunaan VPN.
VPN biasanya digunakan untuk
menghubungkan kantor-kantor yang tersebar dibeberapa tempat dengan menggunakan
akses internet. Namun, VPN juga dapat digunakan untuk keperluan lain,
seperti anonimity (menyembunyikan identitas) atau mem-bypass firewall (termasuk
mem-bypass content filtering).
5.
Apa yang disebut CA ?
Sebutkan 5 buah CA yang anda tahu
Certificate
Authority (CA) adalah lembaga yang menerbitkan sertifikat digital (SSL) kepada
perusahaan, lembaga atau individu lain setelah melalui proses verifikasi. CA
harus menyimpan informasi tentang apa yang sudah diterbitkan dan informasi apa
yang digunakan untuk menerbitkannya, dan secara rutin diaudit untuk memastikan
semuanya sudah sesuai prosedur. Setiap CA memiliki Certification Practice
Statement (CPS) yang berisi prosedur yang harus dijalankan dalam memverifikasi
setiap permohonan sertifikat yang masuk. Saat ini dikenal beberapa CA,
diantaranya adalah Verisign yang sekarang diakuisisi oleh Symantec Corp, Comodo,
Entrust, GlobalSign dan lain sebagainya. CA yaitu Symantec Corp,
Comodo,Entrust,Global Sign
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.
Certificate
Management [Manajemen Sertifikat]
Gunakan halaman Manajemen Sertifikat untuk melihat rincian
tentang sertifikat Anda, mengubah, menghapus, atau meminta yang baru
1. Klik tab Security [Keamanan].
2. Klik link Certificate Management [Manajemen Sertifikat].
Menginstal Sertifikat
CATATAN: Produk ini mendukung format impor berikut untuk
sertifikat:
● .DER (biner)
● .CER (biner atau Base64)
● PEM (Base64)
● PFX (sertifikat identitas)
Untuk menginstal sertifikat,
lakukan langkah-langkah berikut:
1. Klik tombol Browse [Jelajah] di
samping field Choose File [Pilih File].
2. Temukan sertifikat untuk impor,
lalu klik tombol Open [Buka].
CATATAN: Sertifikat tipe
identitas, serta sertifikat tipe Otoritas Sertifikat, adalah tipe yang valid
untuk impor dan digunakan dengan produk ini.
3. Klik tombol Import [Impor].
CATATAN: Untuk
sertifikat PFX yang memerlukan kata sandi, ketikkan kata sandi untuk sertifikat
dalam field Certificate Password [Kata Sandi Sertifikat].
Certificates [Sertifikat]
Gunakan area Certificates
[Sertifikat] di halaman Certificate Management [Manajemen Sertifikat] untuk
mengelola sertifikat yang diimpor.
Untuk menghapus sertifikat, lakukan
langkah-langkah berikut:
1. Pilih sertifikat.
2. Klik tombol Remove...
[Hapus...].
3. Konfirmasi
operasi penghapusan di kotak dialog peringatan yang ditampilkan.
Untuk melihat rincian sertifikat, seperti kunci publik dan
nomor seri sertifikat, lakukan langkah-langkah berikut:
1. Pilih sertifikat.
2. Klik tombol View Details [Lihat
Rincian], yang menampilkan informasi sertifikat.
Untuk mengekspor sertifikat,
lakukan langkah-langkah berikut:
1. Pilih sertifikat.
2. Klik tombol Export...
[Ekspor...].
CATATAN: Apabila mengekspor sertifikat identitas, hanya kunci publik yang
diekspor.
Untuk menggunakan sertifikat
sebagai tanda tangan e-mail, ikuti langkah-langkah berikut:
-
Pilih sertifikat lalu klik tombol Use for E-mail
Signing [Gunakan untuk Tanda Tangan E-mail].
Certificate Validation [Validasi Sertifikat]
Gunakan tab Certificate Validation
[Validasi Sertifikat] untuk memvalidasi sertifikat server OCSP Kerberos.
Ikuti langkah-langkah ini untuk
mengkonfigurasi validasi sertifikat:
1. Pilih
kotak centang Perform OCSP Validation on the certificate trust chain [Lakukan Validasi
OCSP pada rantai kepercayaan sertifikat].
2. Masukkan URL untuk server OCSP
lalu klik tombol Add [Tambah].
CATATAN: Beberapa server OCSP dapat ditambahkan untuk
validasi sertifikat. URL untuk server OCSP dapat berupa nama domain atau alamat
IP yang benar-benar memenuhi syarat:
3. Bila perlu, pilih kotak centang Treat Unknown
certificate status as valid [Perlakukan status sertifikat yang Tidak Diketahui
sebagai valid].
4. Klik tombol Apply [Terapkan]
untuk menyimpan perubahan Anda.
CATATAN: Sertifikat
mungkin perlu diinstal pada tab sertifikat untuk server OCSP.
4. Percobaan
1. Menciptakan sertifikasi SSL dengan OpenSSL
1.
Install software yang dibutuhkan :
$ sudo apt-get install apache2
$ sudo apt-get install openssl
2.
Buat sertifikasi SSL untuk web server dan pasanga
public/private key untuk melakukan request sertifikat. Diperlukan domain name
untuk sertifikat yang akan kita buat. Contohnya nama www.kelompok3.com
3.
Masuk ke direktori /etc/ssl dimana anda menyimpan
semua private key, sertifikat signing request dan sertifikat. Lihat isi dari
direktori
4.
Membuat sepasang public/private key. Pertama-tama
kosongkan semua sertifikat yang ada dengan perintah rm * pada direktori /etc/ apache2/ssl
5.
Kemudian buat key dengan nama server.key yang
merupakan private key dengan perintah #openssl genrsa –des3 –ou server.key
1024. Key yang dibuat ini misalkan diberi nama server.key. Siapkan passphrase
dan isikan data pada saat diminta. Passphrase ini digunkan untuk validasi untuk
membuat file selanjutnya seperti csr dan crt
6.
Cek pada direktori ssl
Server.key berhasil dibuat. Lokasinya ada di /etc/apache2/ssl
7.
Generate file server.csr menggunakan private key di
atas dengan perintah :
openssl req –new -key server.key –out server.csr
file csr ini diberi nama server.csr. untuk membuat
file csr ini dibutuhkan validasi terlebih dahulu dengan menginputkan password
passphrase server.key
8.
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.
Generate file server.crt
Pada perintah diatas akan diminta memakkan passphrase untuk
mengenerate server.key.
10. Cek direktori ssl. Terdapat 3 file, server.key,server.crt dan server.crs
2.
Konfigurasi Apache untuk site www.kelompok3.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 $ sudo a2enmod ssl.
Kemudian restart apache. Tujuannya agar modul ssl
berjalan pada apache.
3.
Copy file default yang ada di
/etc/apache2/sites-available, beri nama file tersebut dengan nama www.kelompok3.com
kemudian edit file www.kelompok3.com
4.
Ubah port VirtualHost dari 80 ke 443. Tambahkan
server name dibawah server admin. Ubah DocumentRoot untuk menuju ke web
direktori dari website webku.
Ubah <Directory/var/www> untuk menuju ke
direktori webku.
Masukkan baris ini sebelum baris ErrorLog
/var/log/apache2/error.log. Tujuannya adalah agar virtual host tahu dimana key
dan sertifikat SSL disimpan kemudian simpan file www.kelompok3.com
5.
Pada direktori
/var/www/, copy file index.html ke /var/www/webku/
Kemudian
enable-kan website www.kelompok3.com
6.
Edit file
/etc/host untuk melakukan resolusi domain www.kelompok3.com website ke
127.0.0.1. cari baris 127.0.0.1 lalu tambahkan baris ini
3. 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
2. Buka
http:localhost pada browser untuk melakukan pengecekan terhadap localhost.
3. Buka URL
https://10.252.108.73/kelompok3 kemudian akan muncul tampilan seperti ini
Catatan :
pada alamat website menggunakan 10.252.108.73 karena kita menginstall dan
melakukan konfigurasinya pada virtual yang kita buat yaitu kelompok3 dimana
10.252.108.73 milik kelompok kami
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
Dibawah ini
adalah certificate status dari website sesuai dengan yang telah konfigurasi
sebelumnya
5. Setelah mendapat certificate maka web https://10.252.108.73/kelompok3.com
dapat diakses
6. Untuk
melihat sampai kapan periode validasi certifikat berakhir, kelompok kami
melalui Preferences -> Advanced ->View Certificates
Apabila
diperbesar maka akan seperti dibawah ini. Sertifikat kelompok3 valid hingga
05/16/2026
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.
(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.
(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.
Artinya Apache2 sudah berjalan sebagai proses. Untuk itu
coba cek no PID dan kill PID
tersebut.
tersebut.
$
sudo fuser -v 80/tcp
USER PID ACCESS COMMAND 80/tcp: root 1180 F.... apache2
$ sudo kill
TAMBAHAN
Pada saat menjalankan https (merestart apache2) kita masih diminta
memasukkan passphrase. Agar tidak diminta lagi maka ikuti langkah berikut :
1. Seperti terlihat. Pada saat kami mencoba merestart
apache2, kita masih dimintai passphrase.
2. Mula-mula
buat file script yang berisi passphrase kita. Kami membuat dengan nama
passwordnya.sh. Ketikkan perintah nano /etc/apache2/ssl/passwordnya.sh
3. Lalu beri
hak akses agar bisa diakses oleh semuanya dengan perintah chmod 777 /etc/apache2/ssl/passwordnya.sh
4. Lalu buka
apache2.conf dengan cara nano /etc/apache2/apache2.conf dan tambahkan baris
yang diblok
5. Lalu
restart apache2
TAMBAHAN
Pada saat menjalankan https (merestart apache2) kita masih diminta
memasukkan passphrase. Agar tidak diminta lagi maka ikuti langkah berikut :
1. Seperti terlihat. Pada saat kami mencoba merestart
apache2, kita masih dimintai passphrase.
2. Mula-mula
buat file script yang berisi passphrase kita. Kami membuat dengan nama
passwordnya.sh. Ketikkan perintah nano /etc/apache2/ssl/passwordnya.sh
3. Lalu beri
hak akses agar bisa diakses oleh semuanya dengan perintah chmod 777
/etc/apache2/ssl/passwordnya.sh
4. Lalu buka
apache2.conf dengan cara nano /etc/apache2/apache2.conf dan tambahkan baris
yang diblok
5. Lalu
restart apache2
0 comments