TUGAS NETWORK SECURITY
NIM : 130030175
NAMA : I PUTU ARY KRISNA WINATA
MATKUL : NETWORK SECURITY
KELAS : BB133
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER
(STMIK) STIKOM BALI
SSH
Pengertian SSH
Pada awalnya SSH dikembangkan oleh Tatu Yl nen di Helsinki University of Technology. SSH
memberikan alternatif yang secure terhadap remote session tradisional dan file transfer protocol
seperti telnet dan relogin.Protokol SSH mendukung otentikasi terhadap remote host, yang
dengan demikian meminimalkan ancaman pemalsuan identitas client lewat IP address spoofing
maupun manipulasi DNS. Selain itu SSH mendukung beberapa protocol enkripsi secret key
(DES,TripleDES,IDEA, dan Blowfish) untuk membantu memastikan privacy dari keseluruhan
komunikasi, yang dimulai dengan username/password awal.SSH menyediakan suatu virtual
private connection pada application layer, mencakup interactive logon protocol (ssh dan sshd)
serta fasilitas untuk secure transfer file (scd). Setelah meng-instal SSH, sangat dianjurkan untuk
mendisable telnet dan rlogin. Implementasi SSH pada linux diantaranya adalah OpenSSH.
SSH merupakan paket program yang digunakan sebagai pengganti yang aman untuk rlogin, rsh
dan rcp. Ia menggunakan public-key cryptography untuk mengenkripsi komunikasi antara dua
host, demikian pula untuk autentikasi pemakai. Ia dapat digunakan untuk login secara aman ke
remote host atau menyalin data antar host, sementara mencegah man-in-themiddle attacks
(pembajakan sesi) dan DNS spoofing atau dapat dikatakan Secure Shell adalah program yang
melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin
secara remote, dan memindahkan file dari satu mesin ke mesin lainnya.
SSH adalah program yang memungkinkan anda untuk login ke sistem remote dan memiliki
koneksi yang terenkripsi. SSH merupakan paket program yang digunakan sebagai pengganti
yang aman untuk rlogin, rsh dan rcp. Ia menggunakan public-key cryptography untuk
mengenkripsi komunikasi antara dua host, demikian pula untuk autentikasi pemakai.
SSH sangat murah, bahkan gratis untuk penggunaan non-komersial dan biaya sedikit untuk
penggunaan komersial. SSH tersedia dua versi SSH-1 dan SSH-2.
SSH-2 adalah versi terbaru dan paling aman dan SSH-1 masih sangat popular (dapat
ditemukan sebagai lisensi GPL untuk semua platform). Dan memiliki beberapa keterbatasan
dalam fitur dan memiliki beberapa masalah keamanan yang berbahaya, misalnya
menggunakan CRC untuk perlindungan integritas tidak aman. SSH memiliki ketersediaan tinggi
dan berjalan pada hampir seluruh platform. SSH-2 guna mendukung banyak algoritma enkripsi
seperti 3DES, IDEA, Blowfish, Twofish dan Cast. SSH VPN dalam bentuk yang paling
sebuah session SSH. Meskipun memiliki keterbatasan, mudah untuk melakukan setup,
kebutuhan non-administratif akses dan bekerja dengan andal.
Anda dapat pula menggunakan SSH dari stasiun kerja Windows anda ke server SSH Linux.
Terdapat beberapa implementasi client Windows yang tersedia gratis dan juga implementasi
komersil dari DataFellows.
Cara Kerja SSH :
Misalkan suatu client mencoba mengakses suatu linux server melalui SSH. SH daemon yang
berjalan baik pada linux server maupun SSH client telah mempunyai pasangan public/private
key yang masing-masing menjadi identitas SSH bagi keduanya. Langkah-langkah koneksinya
Langkah 1 : Client bind pada local port nomor besar dan melakukan koneksi ke port 22 pada
server. Langkah 2 : Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini
penting karena SSH v.1 dan v.2 tidak kompatibel.
Langkah 3 : Client meminta public key dan host key milik server.
Langkah 4 : Client dan server menyetujui algoritma enkripsi yang akan dipakai (misalnya
TripleDES atau IDEA).
Langkah 5 : Client membentuk suatu session key yang didapat dari client dan
mengenkripsinyamenggunakan public key milik server.
Langkah 6 : Server men-decrypt session ky yang didapat dari client, meng-re-encrypt-nya
dengan public key milik client, dan mengirimkannya kembali ke client untuk verivikasi.
Langkah 7 : Pemakai mengotentikasi dirinya ke server di dalam aliran data terenkripsi dalam
session key tersebut.
Sampai disini koneksi telah terbentuk, dan client dapat selanjutnya bekerja secara interaktif
pada server atau mentransfer file ke atau dari server. Langkah ketujuh diatas dapat
dilaksanakan dengan berbagai cara (username/password, kerberos, RSA dan lain-lain).
Bila server di-setup untuk menerima sertifikat, maka server akan membandingkan sertifikat
yang diterimanya dengan basisdata trusted authorities dan akan menerima atau menolak
koneksi yang diminta. Bila kondisi ditolak, suatu pesan kegagalan akan dikirimkan ke client. Bila
koneksi diterima, atau bila server tidak di-setup untuk menerima sertifikat, maka server akan
men-decode session key yang didapat dari client dengan privete key milik server dan
mengirimkan pesan berhasil ke client yang dengan demikian membuka suatu secure data
chanel.
Dasar-dasar SSH. :
Menurut OpenSSH page OpenSSH adalah versi FREE dan SSH sebagai tool untuk melakukan
konektivitas pada jaringan. Jika anda menggunakan telnet, rlogin, dan ftp mungkin tanpa anda
sadari bahwa password yang terkirim tanpa melalui enkripsi. Sedangkan dengan menggunakan
OpenSSH melakukan enkripsi kepada semua trafik (termasuk password), secara efektif untuk
menghindari hal-halyang tidak diinginkan. Secara tambahan, Open SSH memiliki tunneling
Open SSH sangatlah pas untuk bisa menggantikan rlogin dan telnet dengan program SSH, rcp
dengan SCP dan ftp dengan sftp. Juga termasuk sshd (paket server-side), dan juga tool lain
seperti ssh-add, ssh-agent, ssh-keysign, sshkeyscan, ssh-keygen dan sftp-server.
Suatu contoh dalam SSH Client, anda asumsikan memiliki account di server : namaserver.com
(ip address) dan mesin tersebut menjalankan ssh server. Account Anda pada server di refer
pada username dan password Anda misal password 123. Untuk dapat masuk menggunakan
ssh, anda dapat dengan melakukan perintah :
ssh -l username : namaserver.com atau jika Anda belum memiliki namaserver, dengan
menggunakan ip address :
ssh -l username xxx.xxx.xxx.xxx (x merepresentasikan ip address) alternatif jika tidak
menggunakan parameter -l : ssh [email protected] atau ssh
Dengan melakukan perintah tersebut Anda lalu akan diminta memasukkan password. SCP
Client Selain itu kita juga bisa melakukan copy file. Misal Anda akan melakukan transfer file
yang bernama file.txt pada mesin yang berbeda :
scp /home/username/file.txt [email protected]:~/home/username/
Pertama kita menuliskan perintah scp, selanjutnya kita menentukan letak file yang ingin kita
copy berada “/home/username/file.txt”. Lalu seperti menggunakan ssh
selanjutnya kita menentukan username dan namaserver, terakhir menentukan letak file yang
ingin kita tuju “:~/home/username/”.
Jika kita ingin mengcopy isi folder dengan menambahkan parameter -r seperti ini :
scp -r /home/username/direktori [email protected]:~/home/username/
Jika mengubah port dari SSH, standarnya port ssh adalah 22, dengan mengubahnya, maka
saat anda melakukan koneksi dari client anda harus menspesifikasikan port tersebut, misal :
ssh -l username xxx.xxx.xxx.xxx 44
Pada port tersebut telah di buka. Juga buka file konfigurasi untuk opsi lebih lanjut yang dapat
diubah : /etc/ssh/ssh_config (untuk client) dan atau /etc/ssh/sshd_config (untuk server). Jika
merubah apapun yang ada di sshd_config, jangan lupa untuk merestart kembali ssh server
Public Key Cryptografi
SSH menggunakan metode public-key cryptography untuk mengenkripsi komunikasi antara dua
host, demikian pula untuk autentikasi pemakai. Dengan metode ini, kita akan memerlukan 2
buah kunci berbeda yang digunakan baik untuk melakukan enkripsi dan dekripsi. Dua buah
kunci tersebut masing-masing disebut public key (dipublikasikan ke publik/orang lain) dan
private key (dirahasiakan/hanya pemiliknya yang tahu). Masing-masing kunci di atas dapat
digunakan untuk melakukan enkripsi dan dekripsi.
SSH dapat digunakan untuk login secara aman ke remote host atau menyalin data antar host,
sementara mencegah man-in-themiddle attacks (pembajakan sesi) dan DNS spoofing atau
dapat dikatakan Secure Shell adalah program yang melakukan loging terhadap komputer lain
dalam jaringan, mengeksekusi perintah lewat mesin secara remote, dan memindahkan file dari
satu mesin ke mesin lainnya. SSH merupakan produk serbaguna yang dirancang untuk
melakukan banyak hal, yang kebanyakan berupa penciptaan tunnel antar host.
SSL
Pengertian SSL
Gambar : Sertifikat SSL Browser
Cara Kerja SSL :
Cara kerja SSL dengan cara, ketika web browser menghubungkan ke website menggunakan SSL, web browser akan meminta web server mengidentifikasi web browser tersebut. Setelah web server terhubung dengan web browser, web server akan mengirimkan salinan dari SSL ke web browser kemudian web browser menguji apakah sertifikat SSL terpercaya atau tidak, kemudian web browser mengirimkan hasil pengujiannya ke web server. Web server kemudian merespon browser dengan mengirimkan data digital untuk memulai enkripsi session SSL apabila sertifikat SSL terpercaya. Apabila SSL terpercaya maka server dan browser akan saling bertukar informasi yang dienkripsi. Pertanda jika SSL terpercaya adalah url web akan diawali dengan https:// bukan lagi http://.
Jika website anda sudah anda daftarkan dengan sertifikat SSL maka semua data yang diinputkan oleh user website anda akan dienkripsi sehingga tidak terlihat data aslinya oleh orang lain walaupun menggunakan aplikasi hacking. Misalnya ketika user anda ingin
HTTPS
Pengertian HTTPS
Hypertext Transfer Protocol Secure (HTTPS) memiliki arti yang sama seperti HTTP. akan tetapi
HTTPS memiliki kelebihan di bidang fungsi keamanan (secure). HTTPS ditemukan
oleh Netscape Communications Corporation. HTTPS menggunakan Secure Socket Layer
(SSL) atau Transport Layer Security (TLS) sebagai sublayer bawah lapisan aplikasi HTTP
biasa.
Enkripsi HTTP dan deskripsi dari halaman yang diminta oleh pengguna dan halaman yang
dikembalikan oleh server web. Kedua protokol tersebut memberikan perlindungan yang
memadai dari serangan penyadap. Secara umum, menggunakan port HTTPS adalah port 443.
Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web
dan perangkat lunak server dan didukung oleh algoritma enkripsi yang sebenarnya. Oleh
karena itu, penggunaan halaman web HTTPS, dan URL yang digunakan dimulai dengan ‘https: //www.facebook.com/’
Https dapat menjamin keamanan di server Authentication peramban yaitu memungkinkan
pengguna memiliki keyakinan bahwa mereka sedang berbicara secara langsung dengan
server.Https server aplikasi juga mampu menjaga kerahasiaan data dan integritas data.
Cara kerja HTTPS :
Https bukan protokol yang terpisah, tetapi mengacu pada kombinasi Sockets interaksi HTTP
lapisan yang normal dienkripsi melalui SSL Secure atau Transport Layer Security (TLS)
mekanisme transportasi. Hal ini memastikan perlindungan yang wajar dari penyadap dan
asalkan dilaksanakan dengan benar dan otoritas tingkat melakukan pekerjaan mereka dengan
Default port TCP https: URL adalah 443 untuk HTTP tanpa jaminan, defaultnya adalah 80.
Untuk menyiapkan web-server untuk https koneksi sebagai administrator dan penerima harus
membuat sertifikat kunci publik untuk server web.
Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL atau SuSE
gensslcert. Web browser pada umumnya mendistribusikan proses penandatanganan otoritas
sertifikat utama, kemudian merekapuna akan dapat memverifikasi sertifikat yang telah
ditandatangani.
Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar
metode enkripsi dukungan. Menanggapi, klien memilih metode sambungan, dan klien dan
sertifikat server otentikasi pertukaran untuk identitas mereka. Setelah ini dilakukan, kedua belah
pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan kunci
yang sama, dan koneksi ditutup.
Untuk menjadi host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds
informasi kunci untuk memverifikasi identitas pemilik kunci. Sebagian besar sertifikat diverifikasi
oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.
STUNEL
Pengertian STUNEL
Stunnel adalah aplikasi open source yang dirancang untuk dapat bekerja sebagai pembungkus
SSL untuk koneksi yang tidak terenkripsi antara komputer klien dan komputer server. Stunnel
biasanya digunakan untuk melindungi protokol POP3, IMAP yang rentan terhadap serangan
sniffing tanpa perlu mengubah kode program mail itu sendiri. Stunnel menggunakan SSL library
terpisah, misalnya OpenSSL untuk menegosiasikan koneksi Secure Socket Layer (SSL) antara
dua komputer yang akan berkomunikasi. Sehingga sebelum dikirimkan ke jaringan, paket data
tersebut dilakukan enkripsi terlebih dahulu. Untuk melakukan hal ini Stunnel harus dipasang
dan dikonfigurasi baik pada kedua komputer server maupun komputer klien. Pada pengujian ini,
penulis memasang Stunnel pada komputer server dan komputer klien untuk melindungi HTTP
web browser komputer klien. Diharapkan informasi yang dilewatkan terjamin kerahasiaannya
walaupun penyerang berhasil melakukan ARP poisoning dan membangkitkan koneksi antar
server dan klien melalui komputer penyerang.
Cara kerja STUNNEL :
Pengimplementasian solusi ini diharapkan mampu memberikan perlindungan pada level
aplikasi (Application layer). Stunnel dapat melakukan enkripsi paket data yang tidak terenkripsi
sebelumnya, sehingga ketika dilewatkan pada jaringan yang tidak terjamin keamanannya,
kerahasiaan informasi yang terkandung di dalam paket data tersebut tetap terjaga. Stunnel
merupakan solusi lain yang dapat dilakukan apabila solusi yang pertama yaitu Static ARP table
entry tidak memungkinkan untuk diimplementasikan. Hal tersebut mungkin saja dikarenakan
klien tidak mengetahui, baik itu alamat IP ataupun alamat MAC yang akan dilakukan mapping
secara statis, atau akan sangat merepotkan apabila setiap kali klien berpindah dari satu
jaringan ke jaringan lain harus men-set statis pasangan alamat IP – MAC gateway jaringan
tersebut untuk dimasukkan ke ARP cache komputer lokal.
PGP
Pengertian PGP :
Pretty Good Privacy (PGP) konsep dapat diterapkan untuk meningkatkan tingkat keamanan
untuk file digital. Dengan peningkatan keamanan, penyusup akan harus berurusan dengan lebih
hambatan untuk mendapatkan isi file. Program keamanan tidak mendirikan sebuah nomor port
yang tepat antara klien dan server karena alasan bahwa ini . Aksi juga bisa menjadi hambatan
penyusup harus memiliki dorongan menebak nomor port yang benar sebelum gangguan dan
modifikasi dapat dibuat. Selanjutnya, file digital menjadi lebih aman dengan menerapkan
kriptografi dan kompresi proses. Kombinasi kriptografi dan kompresi untuk program keamanan
terutama didasarkan pada Konsep PGP. Penyusup harus memerlukan jangka waktu yang lebih,
metode tambahan dan akses khusus kunci karena kesulitan ketika mencoba untuk mengakses
file konten sebagai akibat dari kriptografi dan kompresi.
Selain itu, metode penyampaian file dengan format ekstensi kompresi <.zip> dibandingkan
dengan menggunakan file yang dienkripsi dengan ekstensi <.enc> bisa menjadi salah satu cara
untuk menyamar tampilan file rahasia oleh penyusup. Penyusup mungkin menganggap bahwa
file kompresi adalah file normal yang tidak mengandung rahasia atau privasi data atau
informasi. Secara keseluruhan, konsep PGP dapat dikumpulkan dengan metode keamanan
lainnya atau ditingkatkan untuk selanjutnya oleh petugas keamanan jaringan dan programer
untuk berpotensi meningkatkan computer tingkat keamanan dari setiap organisasi
masing-masing.
Cara Kerja PGP :
PGP bekerja dengan menggabungkan beberapa bagian yang terbaik dari key konvensional dan
public key cryptography, jadi PGP ini adalah sebuah a hybrid cryptosystem. Ketika seorang pengguna mengenkrip sebuah plaintext dengan menggunakan PGP, maka awal PGP akan mengkompress plaintet ini. Data yang dikompress menghebat waktu dan media transmisi dan lebih penting adalah keamanan kriptograpik yang kuat. Kebanyakan teknik analisis sandi
mengeksplotasi pola yang ditemukab dalam plaintext untuk men-crack chipernya. Kompressi mengurangi pola-pola ini dalam plaintext, dengan cara demikian perbaikan yang lebih baik untuk menghambat analisa kode-kode.
PGP membuat sebuah session key, dimana sebuah kunci rahasia pada saat itu. Kunci adalah
sebuah bilangan acak yang dihasilkan dari gerakan acak dari mouse dan tombol yang anda
tekan. Session Key ini berkerja dengan sangat aman, algoritma enkripsi konvesional yang cepat
Proses deskripsi bekerja sebaliknya, Penerima menerima pesan lalu membuka pesan tersebut
dengan kunci privatnya, namun pesan tersebut masih terenkripsi dengan session key. Dengan
Menggunakan PGP, penerima mendekrip chipertext yang terenkripsi secara konvensional.
Kombinasi dari 2 metode enkripsi menggabungkan kehandalan dari enkripsi kunci publik
dengan kecepatan pada enkripsi konvensional. Enkripsi Konvensional kuarang lebih 1000x
lebih cepat dari enkripsi kunci publik. Jadi enkripsi kunci publik memberikan sebuah solusi pada
distribusi kunci dan masalah transmisi data. Dengan menggunakan keduanya, perfoma dan
distribusi kunci dapat ditingkatkan tanpa mengorbankan sesuatu dalam keamanan.
GPG
Enkripsi data dengan menggunakan cara manual harus dilakukan huruf demi huruf
tentunya merepotkan apalagi dengan algoritma yang rumit. Guna mengatasi hal tersebut
kriptografi modern sudah mulai diterapakan dengan basis komputer. Salah satu perangkat
lunak yang dapat digunakan yaitu GnuPG. Selain sifatnya yang free, perangkat lunak ini
juga praktis dalam proses pengenkripsian data. Data yang sudah diubah menjadi chipertext
selanjutnya dapat dikirim melalu email atau media lainnya.
Syarat pertama dalam menggunakan GnuPG adalah membuat pasangan kunci privat dan
publik. Lakukan dengan cara:
wisanggeni:/home/widhi# gpg --gen-key
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection?
Langkah pertama ini adalah pemilihan algoritma, anda bisa memilih option 1 atau 4,
option 2 hanya signature tanpa enkripsi. Kita ambil default option
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 1024
Requested keysize is 1024 bits
Langkah kedua ini adalah pemilihan tingkat enkripsi yang kita pakai. Kita ambil default
1024bit.
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 0
Langkah ketiga adalah pengisian sampai berapa lama kunci yang kita buat berlaku. Anda
bisa memilih option di atas, kita tidak menentukan jangka waktu berlakunya kunci maka
kita pilih 0
Langkah keempat adalah mengisi infomasi identitas kita. Bagian comment bisa anda isi
atau tidak, menunjukkan informasi tambahan misalnya institusi tempat anda
sekolah/bekerja.
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
Real name: Agustinus Widyartono
Email address: [email protected]
Comment:
You selected this USER-ID:
"Agustinus Widyartono <[email protected]>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
Enter passphrase:
Passphrase adalah password kunci privat yang sedang dibuat. Berguna untuk melindungi
kunci privat jika diketahui orang lain.
Pada saat GnuPG membuat kunci dibutuhkan entropi sistem yang sangat banyak untuk
membuat kombinasi kunci yang aman. Untuk menambah entropi di sistem gerakan mouse
atau mengetik di keyboard secara cepat dan random.
public and secret key created and signed.
Terakhir adalah pesan dari GnuPG bahwa kunci privat dan publik telah selesai dibuat dan
ditandatangani.
Mengekspor kunci publik dan disimpan menjadi sebuah file teks biasa.
wisanggeni:/home/widhi# gpg -a --export > widhipub-key.asc
Kini anda sudah bisa mempublikasikan kunci publik (misalnya dipublikasikan di
homepage personal) atau dikirim melalui email ke rekan anda yang menggunakan PGP,
juga anda bisa mengirimkannya ke keyserver wwwkeys.pgp.net. Mengimport kunci publik
rekan anda. Misalnya anda mendapat kunci publik dalam sebuah file teks bernama
gpgpub-firman.asc
$ gpg --import gpgpub-firman.asc
gpg: key 49B688BF: public key imported
gpg: /home/jay/.gnupg/trustdb.gpg: trustdb created
gpg: Total number processed: 1
gpg: imported: 1
Kini kita dapat berkorespondensi dengan aman dengan rekan kita yang juga telah
file teks, kemudian kita encrypt dan dikirim melalui email. Penerima akan membuka email
dan menyimpannya ke dalam file dan di-decrypt untuk bisa melihat pesan kita. Misalnya
pesan kita tulis dalam file pesan.txt untuk dikirim ke rekan kita.
$ gpg -a -o surat.gpg -e -r [email protected] surat.txt
Isi pesan yang sudah di enkrpsi
---BEGIN PGP MESSAGE---
Anda tinggal mengirimkan file pesan.gpg melalui email. Rekan anda setelah menyimpan
ke dalam file bisa men-decrypt dengan cara:
$ gpg -a -d surat.gpg
You need a passphrase to unlock the secret key for
user: "Agustinus Widyartono <[email protected]>"
1024-bit ELG-E key, ID 268A9543, created 2009-06-05 (main key ID F8925570)
gpg: encrypted with 1024-bit ELG-E key, ID 268A9543, created 2009-06-05
"Agustinus Widyartono <[email protected]>"
Apa kabar, ini pesan yang sangat rahasia loh, jangan disebar-luaskan ya. Bisa-bisa
ditangkap.
Selain pesan yang diencrypt anda juga bisa menambahkan tandatangan (signature)
DAFTAR PUSTAKA
http://jurnal.unpand.ac.id/index.php/dinsain/article/view/57/0
http://www.dosenpendidikan.com/100-pengertian-dan-cara-kerja-protokol-jaringan-komputer/
http://www.programindo.com/2015/05/pengertian-ssl-secure-socket-layer-dan.html#0
http://www.dosenpendidikan.com/pengertian-dan-perbedaan-http-dengan-https-menurut-para-ahli/
http://digilib.itb.ac.id/files/disk1/686/jbptitbpp-gdl-muhammadri-34252-5-2009ta-4.pdf
http://ccsenet.org/journal/index.php/cis/article/viewFile/10037/7936