MENINGKATKAN KEAMANAN PORT SSH DENGAN METODE...
Transcript of MENINGKATKAN KEAMANAN PORT SSH DENGAN METODE...
MENINGKATKAN KEAMANAN PORT SSH DENGAN METODE PORT KNOCKING MENGGUNAKAN SHOREWALL
PADA SISTEM OPERASI LINUX
NASKAH PUBLIKASI
diajukan oleh
Edy Haryanto 09.11.3317
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA YOGYAKARTA
2013
i
INCREASE SSH PORT SECURITY WITH PORT KNOCKING METHOD USING SHOREWALL ON LINUX OPERATING SYSTEM
MENINGKATKAN KEAMANAN PORT SSH DENGAN METODE PORT KNOCKING
MENGGUNAKAN SHOREWALL PADA SISTEM OPERASI LINUX
Edy Haryanto
Melwin Syafrizal Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
Remote logins are generally provided by linux system administrator on server computer that they manage is SSH. SSH can simplify their work in administering the system they run wherever they are. SSH service is ussually to be one of attacks target by hackers because these services are generally provided by linux system administrator on their servers. Hackers will do a port scan on the server to determine the port number of the SSH service running and then perform an attack on these port. Although SSH remote login service is the most secure today because not only encrypted sessions but also authentication is required to access this service, but this service can still be attacked with brute-force attack techniques. Brute-force attack is attempted attack that tries to automatically log in using a username and password combination list that already exists. Based on the description above, SSH service need an additional security system so that service is not easily tracked or accessed by others and resistant against a brute-force attack. The solution can be applied is using the knock on the door (port knocking). The main purpose of port knocking is to prevent an attacker from scanner systems such as SSH to perform port scanning. If an attacker sends a wrong connection sequence, the protected ports will not show up or open. Keyword : Port SSH Security, Port Knocking, Port Scanning, Brute-Force Attack, Linux Operating System.f
ii
1. Pendahuluan
SSH merupakan service remote login yang cukup aman, bukan hanya sesi yang
terenkripsi tapi juga adanya fasilitas otentikasi, sehingga untuk mengakses service ini
dibutuhkan login, tapi service ini masih bisa diserang dengan teknik brute-force attack.
Brute-force attack adalah suatu upaya serangan yang mencoba melakukan login secara
otomatis dengan cara mencoba satu-persatu kemungkinan username dan password
menggunakan daftar kombinasi user dan password yang sudah ada.
Salah satu kasus penyerangan service SSH terjadi seperti yang dijelaskan pada
situs http://www.shellperson.com, bahwa pada tanggal 10 april 2010 servernya telah
berhasil dibobol melalui service SSH dengan cara melancarkan serangan brute-force
attack. Serangan brute-force attack ini teridentifikasi ketika sang admin melihat log
otentikasi. penyerang meninggalkan jejak berupa ribuan percobaan login yang tercatat di
file /var/log.auth.log.1 seperti yang dijelaskan pada website tersebut.
Hal ini yang melatar belakangi mengapa “Meningkatkan Keamana Port SSH
dengan Metode Port knocking Menggunakan Shorewall pada Sistem Operasi Linux”
diangkat sebagai judul skripsi karena berdasarkan pengamatan penulis jika penyerang
mengirimkan ketukan koneksi yang salah maka port SSH yang dilindungi oleh port
knocking tadi tidak akan muncul atau terbuka.
2. Landasan Teori 2.1 Tinjauan Pustaka
Artikel yang ditulis oleh Henry Saptono yang berjudul “Metode Port knocking
dengan Ip Tables untuk Membuka Port SSH” pada majalah InfoLinux edisi 05/2011
membahas tentang implementasi port knocking menggunakan ip tables untuk
mengamankan port SSH menggunakan sistem operasi Ubuntu 10.04. Pada implementasi
port knocking tersebut juga dilengkapi dengan fitur limit per-ip connection rate untuk
membatasi jumlah percobaan koneksi per satuan waktu, yaitu 3 kali percobaan koneksi
dalam interval waktu 10 detik.
Fitur limit per ip connection rate yang diimplementasikan masih belum sempurna,
karena ketika terjadi percobaan koneksi melebihi interval yang telah ditentukan, koneksi
tersebut masih tetap diterima.
Berdasarkan artikel diatas penelitian ini akan membahas tentang implementasi
port knocking menggunakan shorewall dan akan menyempurnakan fitur limit per ip
connection rate sehingga percobaan koneksi akan diterima hanya ketika pengguna
melakukan percobaan koneksi sebanyak yang sudah ditentukan, tidak kurang dan tidak
lebih, dan juga tambahan fitur dimana pengguna yang sudah berhasil melakukan koneksi
kemudian mengahiri sesi koneksinya, pengguna tersebut tidak akan bisa melakukan
1
koneksi kembali sebelum melakukan percobaan koneksi pada port yang sudah
ditentukan.
2.2 Tinjauan Umum
Salah satu service remote login yang umumnya disediakan oleh para
administrator linux untuk mempermudah administrasi sistem pada servernya adalah SSH.
Namum service ini sering menjadi sasaran serangan para hacker jahat guna mendapat
akses shell pada server.
Umunya para hacker akan melakukan scanning port guna mengetahui port yang
terbuka dan service yang berjalan pada port tersebut. Setelah mengetahui pada port
berapa service SSH berjalan, para hacker akan melancarkan serangan brute-force attack
pada port tersebut guna mendapatkan password yang valid. Dengan password tersebut,
hacker melakukan login dan mendapatkan akses full terhadap komputer korban dan
dapat melakukan hal-hal yang merugikan seperti gambar 3.1 dibawah ini.
Gambar 2.1 Serangan Bute-Force Attack pada Service SSH
2
Setelah melihat kenyataan tersebut maka sangat diperlukannya sistem
keamanan tambahan untuk menanggulangi serangan yang terjadi. Oleh karena itu
penulis akan membangun serta mengimplementasikan port knocking pada port SSH
guna memberikan keamanan ekstra. 2.3 Service SSH
SSH yang merupakan singkatan dari Secure Shell adalah protokol jaringan yang
memungkinkan pertukaran data melalui saluran aman antara dua perangkat jaringan
yang banyak digunakan pada sistem berbasis linux dan unix.
SSH dirancang sebagai pengganti telnet dan remote shell tak aman lainnya,
yang mengirim informasi, terutama kata sandi, dalam bentuk teks sederhana yang
membuatnya mudah untuk dicegat.
SSH menggunakan metode public-key cryptography untuk mengenkripsi
komunikasi antara dua host, demikian pula untuk otentikasi pemakai. Dengan metode ini,
kita akan memerlukan 2 buah kunci berbeda yang digunakan baik untuk melakukan
enkripsi dan deskripsi. Dua buah kunci tersebut masing-masing disebut public key
(dipublikasikan ke publik/orang lain) dan private key (dirahasiakan/hanya pemiliknya yang
tahu).
Ada dua pilihan Software SSH server untuk mengimplementasikan protokol SSH
pada sistem operasi linux 1
1. SSH
Program SSH original bersifat komersial atau berbayar, biasanya
diimplementasikan pada perusahaan atau organisasi dan tersedia di situs
http://www.SSH.com.
2. OpenSSH
OpenSSH adalah implementasi open soruce dari SSH yang dikembangkan oleh
OpenBSD projek. Situs resminya terdapat di http://www.openSSH.com. OpenSSH adalah
server SSH yang paling popular dan sering digunakan di sistem berbasis linux. 2.4 Brute-Force Attack
Brute-force attack adalah sebuah teknik serangan terhadap sebuah sistem
keamanan komputer yang menggunakan percobaan terhadap semua kunci yang
mungkin untuk memecahkan password, kunci, kode, atau sebuah kombinasi.
Dalam proses penebakan password, Brute-force attack dapat diimplementasikan
dengan metode sebagai berikut :
1 Smith W, Roderick. 2003. FreeBSD: The Complete Reference. United Kingdom: The Dryden Press.
3
1. Brute Force Attack
Metode ini diimplementasikan dengan cara menentukan range of character
set dan mengkomputasikan setiap kemungkinan kombinasi karakter yang
ada. Metode ini umumnya menggunakan kombinasi karakter yang terdiri
dari huruf saja, huruf angka, huruf angka atau special character atau setiap
karakter pada table ASCII.
2. Brute Force Attack with Dictionary
Metode Dictionary Attack atau biasa disebut serangan kamus ini
diimplementasikan dengan mengkomputasi secara berangsur-angsur
setiap kata tunggal atau modifikasi kata dari sebuah kamus dan dicocokan
dengan password pengguna tertentu.
Gambar 2.1 Serangan Bute-Force Attack pada Service SSH
2.5 NMAP
Nmap merupakan utilitas berlisensi open source yang berfungsi untuk discovery
jaringan dan audit keamanan. Nmap menggunakan raw IP paket untuk menentukan
apakah host tersedia pada jaringan, service apa (nama service dan versi) yang berjalan
di host, apa sistem operasi (versi OS) yang host jalankan, jenis firewall yang sedang
dijalankan dan banyak karakteristik lainnya. Nmap dirancang untuk memindai jaringan
besar secara cepat, tetapi bekerja baik juga untuk host tunggal.
4
Nmap mengirimkan paket SYN kepada target pada proses port scanning untuk
menemukan port mana yang terbuka. Jika port korban berbuka, maka nmap akan
mendapatkan paket balasan berupa paket SYN dan ACK, bila port tertutup maka nmap
akan menerima pake RST seperti gambar 2.2 berikut :
Gambar 2.3 Nmap Port Scanning
2.6 THC-Hydra
Hydra adalah sebuah proyek software yang dikembangkan oleh “The Hacker’s
Choice” (THC) yang menggunakan serangan kamus untuk menguji password yang lemah
atau sederhana pada suatu remote host yang menjalankan berbagai layanan yang
berbeda. Tool ini dirancang sebagai utilitas proof-of-concep untuk menunjukan
kemudahan dalam pembobolan password yang lemah. Thc-Hydra berlisensi General
Publick Licence versi 3.0 dengan ketentuan tambahan bahwa perangakat lunak ini tidak
boleh digunakan untuk tujuan illegal, dan setiap layanan komersial atau program yang
menggunakan Hydra harus memberikan kredit kepada THC.
5
2.7 Shorewall
Shorewall (Shoreline Firewall) merupakan tool firewall berbasis open source
pada sistem operasi linux. Shorewall didirikan berdasarkan sistem Netfilter
(iptables/ipchains) yang dibangun ke dalam kernel linux, sehingga lebih mudah untuk
mengelola skema konfigurasi yang lebih kompleks. Dengan mendeskripsikan rule
firewall/gateway pada file konfigurasi, shorewall akan menjalankan rule tersebut dengan
bantuan iptables, iptables-restore, utilitas ip, konfigurasi netfilter, dan subsistem jaringan
linux.
Shorewall bukanlah demon karena tidak berjalan secara terus menerus,
melainkan sebuah rules konfigurasi pada kernel yang mengizinkan atau tidak
mengizinkan sebuah trafik melewati sistem.
Shorewall dikonfigurasi melalui file-file konfigurasi plain-tex (text mode) karena
tidak memiliki GUI (graphical user interface), walaupun modul Webmin tersedia secara
terpisah. Sebuah utilitas monitoring juga dikemas dalam Shorewall yang berfungsi untuk
memantau status sistem.
2.8 Port Knocking
Port knocking adalah sebuah metode membuka port secara eksternal melalui
firewall dengan cara melakukan usaha koneksi pada suatu port yang tertutup dengan
urutan upaya koneksi yang telah ditentukan. Dengan kata lain port knocking adalah
sebuah metode untuk membangun sebuah komunikasi host-to-host dengan perangkat
komputer yang tidak membuka port komunikasi apapun secara bebas.
Port knocking diimplementasikan dengan mengkonfigurasi Sebuah program kecil
yang disebut daemon guna memonitor log firewall untuk permintaan koneksi dan
menentukan apakah klien terdaftar pada alamat IP yang disetujui dan telah melakukan
urutan ketukan yang benar. Jika jawabannya adalah ya, firewall akan membuka port
yang terkait secara dinamis.
Tujuan utama dari port knocking adalah mencegah penyerang dari pemindai
sistem seperti SSH dengan melakukan port scanning. Jika penyerang mengirimkan
urutan ketukan yang salah, port yang dilindungi tidak akan muncul atau terbuka seperti
pada gambar 2.3 dan 2.4 berikut :
6
Gambar 2.4 Port knocking Blok koneksi
Gambar 2.5 Port knocking izinkan Koneksi
3. Analisis 3.1 Analisis Port Scanning
Hacker pada umumnya akan mencari informasi tentang korbannya terlebih
dahulu sebelum melakukan serangan, mencari celah-celah yang mungkin bisa dimasuki
7
dan mencari kelemahan-kelemahan yang mungkin untuk diekploitasi melalui proses
scanning. Tool scanning yang sering digunakan salah satunya adalah nmap.
Gambar 3.1 Nmap Port Scanning
3.2 Analisis serangan Brute-Force Attack
Langkah selanjutnya setelah mengetahui port SSH yang terbuka adalah
melancarkan serangan brute-force attack. banyak tool yang bisa digunakan, salah
satunya adalah hydra.
Gambar 3.2 Hydra Login Cracker
8
Gambar 3.3 Hydra Finish Attacking
3.3 Konfigurasi Topologi Jaringan 1. Forward ip publick Speedy dengan ip 110.136.181.131 menuju ip private
server dengan ip 192.168.1.2
2. Konfigurasi ip address static server menjadi 192.168.1.2 dengan mengedit
file “/etc/network/interfaces”
3. Ganti default port SSH yang berada pada port 22 menjadi 33 dengan
mengedit file “/etc/ssh/sshd-config”.
4. Konfigurasi port forwarding dari ip publick Speedy menuju ip private server
dengan cara login sebagai admin pada modem ADSL Speedy kemudian pilih
menu Advance Setup -> NAT kemudian pilih Virtual Sverver kemudian
forward layanan-layanan yang diinginkan
3.4 Instalasi dan Konfigurasi Shorewall 1. Instalasi shorewall mengunakan Advance Paket Tool (APT) secara online
dengan perintah “sudo apt-get install shorewall”
2. Salin file konfigurasi daras shorewall dari direktori
“/usr/share/doc/shorewall/default-config” menuju “/etc/shorewall”
9
3. Definisikan zona jaringan yang digunakan dengan ipv4 dengan mengedit file
“/etc/shorewall/zones”
4. Mendefinisikan “eth0” sebagai perangkat jaringan yang digunakan dengan
cara mengedit file “/etc/shorewall/interfaces”
5. Definisikan kebijakan default firewall dimana semua koneksi dari luar menuju
server ditolak dan koneksi dari server ke luar diizinkan dengan cara mengedit
file /etc/shorewall/policy
6. Mendefinisikan nama Actions shorewall dengan nama “portknock”
7. buat file kosong dengan nama file “action.portknock” dimana ekstensi
portknock adalah nama yang sesuai dengan nama action yang sudah
didefinisikan pada file /etc/shorewall/actions
8. buat file /etc/shorewall/portknock dan isikan dengan skrip port knocking
seperti yang sudah dijelaskan pada bab 4.
9. Definisikan port dan rule spesifik untuk implementasi port knocking 10. Setelah semua konfigurasi dilaukan, jalankan shorewall
4. Hasil Penelitian dan Pembahasan 4.1 Pengujian Port Scanning
Pengujian port scanning dilakukan untuk menguji sistem port knocking dari
pemindai sistem menggunakan tool nmap, zenmap, dan knocker. Ketiga tools tersebut
tidak dapat menemukan port SSH yang berjalan sehingga dapat disimpulkan metode port
knocking ini dapat mencegah penyerang dari pemindai sistem sehingga tidak mudah
dilacak.
Gambar 4.1 Nmap pada Sistem Port knocking
10
Gambar 4.2 Zenmap pada Sistem Port knocking
Gambar 4.3 Knocker pada Sistem Port knocking
4.2 Pengujian Brute-Force Attack
Pengujian serangan brute-force attack dilakukan pada service SSH yang berjalan
di port 33 menggunakan hydra. Tools ini tidak dapat melakukan serangan terhadap
service SSH karena port SSH tersebut dilindungi port knocking.
11
Gambar 4.4 Brute Force Sistem Port knocking
4.3 Pengujian Koneksi
Pengujian koneksi dilakukan untuk mengetahui apakah sistem port knocking
berjalan lancar seperti rule yang sudah ditetapkan.
4.3.1 Pengujian Koneksi Langsung
Pengujian pertama dilakukan dengan cara langsung melakukan percobaan
koneksi SSH ke server. Koneksi ditolak karena dibutuhkan sebuah urutan
ketukan rah
4.3.2 Pengujian Koneksi Dengan Ketukan yang Salah
Penyempurnaan sistem yang dilakukan pada bahasan ini adalah dimana bila
ketukan yang dilakukan client melebihi atau kurang dari jumlah ketukan yang
telah ditetapkan, maka client tidak diizinkan melakukan koneksi SSH, misalnya
client melakukan ketukan sebanyak 4 kali sedangkan aturan portk knocking
hanya mengizinkan ketukan sebanyak 3 kali sehingga koneksi client tidak
diizinkan
12
4.3.3 Pegujian Koneksi dengan Aturan Pengujian kedua dilakukan dengan percobaan koneksi SSH menggunakan
aturan yang sudah ditentukan, yaitu melakukan percobaan koneksi menuju port
1234 dengan percobaan koneksi sebanyak 3 kali dalam interval waktu 10 detik
sehingga Koneksi diizinkan.
4.3.4 Pengujian Koneksi Kembali
Implementasi port knocking pada bahasan ini terdapat sebuah fitur dimana bila
klien yang sudah berhasil melakukan koneksi SSH ke server dan mengahiri
sesi koneksinya, klien tersebut tidak dapat melakukan koneksi SSH kembali
sebelum melakukan penghapusan list.
5. Kesimpulan
Berdasarkan hasil penelitian metode port knocking menggunakan shorewall yang
telah dijelaskan dan diuraikan pada bab-bab sebelumnya dalam skripsi ini, dapat
disimpulkan bahwa :
1. Service SSH mempunyai tingkat keamanan yang lumayan tinggi, tapi tetap
saja service ini masih rentan terhadap serangan brute-force attack dan
pemindai sistem sehingga dibutuhkan keamanan tambahan untuk service ini.
2. Port knocking dapat mencegah penyerang dari pemindai sistem seperti
service SSH dengan melakukan port scanning, sehingga service SSH tidak
mudah dilacak dan diakses orang lain.
3. Metode port knocking menggunakan shorewall ini dapat meningkatkan
keaman service SSH dari serangan brute-force attack.
4. Kelebihan penerapan port knocking menggunakan shorewall adalah tidak
perlu lagi menggunakan demon yang berjalan secara terus menerus.
5. Metode port knocking untuk meningkatkan keaman port SSH dapat dibangun
menggunakan software free atau gratis yaitu shorewall tanpa harus
mengeluarkan biaya mahal dalam implementasinya terhadap sistem.
13
14
DAFTAR PUSTAKA
Anonim. 2007. SSH Tutorial for Linux. http://support.suso.com/supki/
SSH_Tutorial_for_Linux. diakses tanggal 20 desember 2012
Anonim. 2008. Presentation: Nmap and Asynchronous Programing,
http://blogger.popcnt.org/2008/08/presentation-nmap-and asynchronous.html,
diakses 20 januari 2013
Anonim. 2008. Add Port Knocking to SSH for Exstra Security.
http://www.marksanborn.net/linux/add-port-knocking-to-ssh-for-extra-security
Hauser, V. 2012. Comparation of Features and Services Coverage.
http://www.thc.org/thc-hydra/network_password_cracker_comparison.html, diakses
tanggal 8 desember 2012.
Saptono, Henry. 2011. Metode Port Knocking dengan Shorewall untuk Membuka Port
SSH. Jakarta: InfoLinux
Saptono, Henry. 2011. Metode Port knocking dengan Iptables untuk Membuka Port
SSH. Jakarta: InfoLinux.
Smith W, Roderick. 2003. FreeBSD: The Complete Reference. United Kingdom: The
Dryden Press.
Thomas M. Estep. 2009. Port knocking and Other Uses of ‘Recent Match’.
http://www.shorewall.net/PortKnocking.html, diakses 2 desember 2012
Thomas M. Estep. 2009. Standalone Firewall. http://www.shorewall.net/ standalone.html,
diakses 19 januari 2013