Wednesday, 8 June 2016

LAPORAN PRAKTIKUM | Keamanan Data | KONFIGURASI KEAMANAN LAYANAN WEB (SSL dan TLS) | Politeknik Elektronika Negeri Surabaya

DasarTeori 

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



Gambar 12.1 SSL/TLS handshaking pada https
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 

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


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.

Tugas Pendahuluan

1. Jelaskan proses handshaking pada SSL/TLS 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 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. Berikut ini adalah langkah-langkah dalam pengiriman data pada SSL Menegosiasikan cipher (metode kriptografi yang dipakai, termasuk didalamnya panjang key, hash function, otentikasi ,dll) Mengirim data yang telah terinkripsi dengan Amazon publik key Mengirim data yang telah terinkripsi dengan client publik key Dekripsi/decoding data dari Amazon dengan publik key client 3. Sebutkan software-software yang dibutuhkan untuk menggunakan protocol https. Apache 2.2.11: Apache2 ini adalah web server yang akan kita gunakan. Anda dapat mengecek informasinya lewat http://httpd.apache.org/. 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/. 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 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 Verisign (termasuk anak perusahaannya, Thawte dan GeoTrust), Comodo, Entrust, GlobalSign dan lainnya. 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.

Percobaan SSL/TLS
Menciptakan sertifikat SSL dengan OpenSSL

1. Menginstall software-software yang dibutuhkan : $ sudo apt-get install apache2 $ sudo apt-get install openssl

H:\ssh ssl\install apache.png

H:\ssh ssl\install ssl.png


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.webkelompok4.com

LAPORAN PRAKTIKUM - SNORT Politeknik Elektronika Negeri Surabaya

LAPORAN PRAKTIKUM - HOST-BASED IDS Politeknik Elektronika Negeri Surabaya

LAPORAN PRAKTIKUM - NETWORK SCANNER & NETWORK PROBING Politeknik Elektronika Negeri Surabaya

LAPORAN PRAKTIKUM | Admin Jaringan | SSH dan TELNET | Politeknik Elektronika Negeri Surabaya

Dasar Teori

1. Telnet
Telnet kepanjangan dari telecommunication network protocol. Telnet adalah salah satu dari aplikais internet yang paling tua. Telnet memungkinkan kita untuk menghubungkan “terminal” kita dengan host remote yang berada diluar jaringan. Pada masa ARPANET sebelum workstation grafis atau personal komuputer ditemukan, setiap orang menggunakan terminal yang terhubung dengan mainframe atau minicomputer melalui koneksi serial. Setiap terminal memiliki keyboard sebagai masukan dan monitor untuk keluaran, tanpa memiliki CPU sendiri, semua proses dijalankan di mainframe atau minicomputer.
Telnet biasanya digunakan untuk “remote login” dari PC ke PC lain dalam jaringan. Remote login semacam ini memungkinkan anda untuk menggunakan aplikasi yang berada dalam sistem remote. Remote login semacam ini hanya menyediakan koneksi text only, biasanya dalam bentuk command line propmt. Client mengambil karakter yang dimasukkan dari keyboard, mengirimkannya ke server dan mencetak output yang dikirim oleh server.

2. SSH
Secure shelll (ssh)  adalah suatu protokol yang memfasilitasi sistem komunikasi yang aman diantara dua sistem yang menggunakan arsitektur client/server, serta memungkinkan seorang user untuk login ke server secara remote. Berbeda dengan telnet dan ftp yang menggunakan plain text, SSh meng-enkripsi data selama proses komunikasi sehingga menyilitkan penyusup yang mencoba mendapatkan password yang tidak dienkripsi. Fungsi utama aplikasi ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang bisa diperoleh adalah akses pada mode teks maupun mode grafis/X apabila konfigurasinya mengijinkan.
SSH dirancang untuk menggantikan service-service di sistem unix/linux yang menggunakan sistemplain-text seperti telnet, ftp, rlogin, rsh, rcp, rexec,dll). Untuk menggantikan fungsi ftp dapat digunakan sftp (secure ftp), sedangkan untuk menggantikan rcp (remote copy) dapat digunakan scp (secure copy).
Implementasi SSH yang banyak diapakai saat ini adalah OpenSSH, aplikasi ini telah dimasukkan kedalam berbagai macam distribusi linux.

Tugas Pendahuluan

1. Apa kegunaan utama telnet ?
Fungsi utama dari telnet adalah mengakses komputer (host/server) dari jauh/Remote login. Sehingga memungkinkan kita untuk masuk sebagai pengguna komputer jarak jauh dan menjalankan program komputer layanan yang ada di komputer tersebut.

2. Jelaskan perbedaan antara telnet dan ssh 
Protokol SSH mendukung otentikasi terhadap remote host, yang dengan demikian meminimalkan ancaman pemalsuan identitas client lewat IP address spoofing maupun manipulasi DNS. Aplikasi seperti Telnet tidak menggunakan enkripsi sedangkan SSH dilengkapi dengan enkripsi.

3. Jelaskan cara instalasi dan konfigurasi telnet
Untuk melakukan instalasi telnet kita gunakan command “ # apt-get install telnetd ”
Jika package linux belum diupdate maka lakukan perintah update “ # apt-get-update ”, setelah selesai melakukan update lakukan instalasi lagi
Selama instalasi kita bisa pilih instalasi lewat standalone atau inetd, jika standalone maka telnet akan berjalan sendiri sebagai daemon, apabila memilih inetd maka telnet berjalan lewatt daemon xinetd.
Jika memilih standalone maka langsung lakukan restart service dengan perintah “/etc/init.d/openbsd-inetd retsart “
Jika memilih inetd maka masuk ke konfigurasi /etc/inetd.conf dan aktifkan telnetd dengan menghilangkan tanda uncomment pada bagian “ #telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd/usr/sbin/in.telnetd ” baru kemudian lakukan restart service. 
Lakukan ujicoba dengan perintah “ # telnet server-tujuan ” contoh “ telnet 192.168.51.15 ”

4. Jelaskan cara instalasi dan konfigurasi ssh
Untuk melakukan instalasi ssh kita gunakan command “ # apt-get install ssh ”
Untuk konfigurasi ssh kita dapat melakukan perubahan terhadap file sshd_config yang merupakan file konfigurasi utama pada ssh server dengan command “ # nano /etc/ssh/sshd_config ” port default yang kita dapat adalah 20.
Setiap setelah melakukan perubahan pada file sshd_config / melakukan konfigurasi, restart service ssh dengan command “ # /etc/inti.d/ssh restart ” 
Kemudian coba lakukan login dari remote komputer “ # ssh username@192.168.x.x ”

5. Jelaskan cara konfigurasi ssh tanpa password
Buat ssh keygen , “ssh-keygen ”
Salin public keys ke komputer tujuan , “ ssh-copy-id –i ~/.ssh/id_rsa.pub server tujuan ” contoh “ ssh-copy-id –i ~/.ssh/id_rsa.pub aaa@192.168.52.15 ”
Lakukan ujicoba koneksi ssh , “ ssh server-tujuan ” contoh “ ssh aaa@192.168.52.15 “ 

Percobaan : Installasi dan Konfigurasi Telnet
1. Install Virtual Box dan OS ubuntu Debian Wheezy
2. Setting virtual box 














Penjelasan : Sebelum melakukan praktikum 1 tentang telnet dan ssh server kita harus mengubah :
- Setting di network virtual box yang semula attached to NAT menjadi attached to Bridged Adapter
- Pada kolom name di isi dengan Realtek PCIe GBE Family Controller karena menggunakan kabel LAN.
3. Install ssh dengan menggunakan perintah apt-get install ssh









4. Install telnetd dengan menggunakan perintah apt-get install telnetd
- Sebelum melakukan install telnetd kita harus mengubah file dengan perintah nano /etc/apt/sources.list














Penjelasan : Mengatur repositori ke http://kambing.ui.ac.id
- Mengubah default gateway















Penjelasan : default gateway yang semula adalah 10.252.108.1 di rubah menjadi 10.252.108.9
Dengan melakukan perintah :
- route delete default gw 10.252.108.1
- route add default gw 10.252.108.9
Untuk mengecek apakah sudah terganti default gatewaynya dengan melakukan perintah route –n pada terminal.Ini digunakan agar terkoneksi dengan internet dan bisa mengakses repositori kambing.ui.ac.id.

- Setelah selesai lakukan perintah apt-get update dan di lanjutkan perintah apt-get install telnetd



















5. Menjalankan telnet melalui komputer lain yang terhubung

















6. Melakukan login dari remote komputer dengan memasukkan user dan password dengan menggunakan ssh










7. SSH tanpa password
- Buat ssh keygen

















Jika ingin pengaturan default cukup tekan enter.

- Membuat user baru di komputer lain dengan nama alifiarizky29













- Kopikan public user ke komputer lain 















- Login ssh ke komputer tujuan















Penjelasan : Ketika login tidak akan memasukkan password langsung masuk.

- Ketika sudah melakukan percobaan praktikum di atas ubah settingan di network virtual box yang semula attached to Bridged Adapter menjadi attached to NAT

Kesimpulan 

Dari percobaan di atas, ketika akan melakukan install telnetd terdapat masalah dengan server kebo.pens.ac.id sehingga harus mengganti repositorinya ke kambing.ui.ac.id. Dapat diketahui dengan menggunakan ssh ataupun telnet kita bisa login secara remote ke user lain. Akan tetapi dengan menggunakan ssh lebih aman daripada menggunakan telnet. Misalnya, terdapat authentication jika menggunakan ssh sebelum melakukan remote.

Pertanyaan 
·         Jelaskan perbedaan rlogin, rexec, rsh, rcp, ftp, telnet dengan ssh, sftp
Berbeda dengan telnet dan ftp yang menggunakan plain text, SSH meng-enkripsi data selama proses komunikasi sehingga menyulitkan penyusup/intruder yang mencoba mendapatkan password yang tidak dienkripsi. SSH dirancang untuk menggantikan service-service di sistem unix/linux yang menggunakan sistemplain-text seperti telnet, ftp, rlogin, rsh, rcp, rexec,dll). Untuk menggantikan fungsi ftp dapat digunakan sftp (secure ftp), sedangkan untuk menggantikan rcp (remote copy) dapat digunakan scp (secure copy).
Sehingga secure shell memiliki kelebihan yang membedakannya dengan telnet , ftp dan perintah remote lainnya , yaitu :
·         Telnet atau perintah remote lainnya
o   Kurang aman
o   Data dikirim dalam bentuk teks
o   Port 23
o   Menggunakan bandwidth lebih kecil
o   Sudah mulai tidak digunakan
·         Secure Shell
o   Lebih aman
o   Data dienkripsi
o   Port 22
o   Menggunakan bandwidth lebih besar
o   Banyak digunakan karena lebih aman
o   Berikut ini merupakan prinsip kerja ssh yang juga menggantikan perintah remote lainnya :
§  Login ke shell pada remote host (menggantikan telnet dan rlogin)
§  Mengeksekusi satu perintah pada remote host (menggantikan rsh)


§  Dikombinasi dengan sftp sebagai alternatif untuk FTP transfer file


Laporan praktikum download ....