Documentos de Académico
Documentos de Profesional
Documentos de Cultura
59
Abstrak
Keamanan suatu sistem merupakan salah satu hal yang penting bagi seorang administrator. Setiap
sistem yang dionlinekan tidak luput dari serangan serangan pengguna internet yang ingin menyusup ke
sistem tersebut dengan menggunakan berbagai metode seperti brute force. Brute force masih menjadi
salah satu metode yang sering digunakan untuk membobol sistem keamanan komputer dengan melakukan
percobaan percobaan terhadap semua kemungkinan. Dengan menggunakan Port Knocking sebagai
metode autentikasi, seorang administrator dapat meningkatkan sistem keamanan komputer dari serangan
brute force yang ditujukan untuk berbagai layangan seperti SSH Server, FTP Server, dan MySQL Server.
Knockd bertugas sebagai port knocking daemon yang akan menerima autentikasi port knocking dari user
dan akan menulis ulang firewall agar user tersebut dapat melakukan koneksi kelayanan seperti SSH, FTP
dan MySQL server. IPTables dan Uncomplicated Firewall(ufw) digunakan untuk membangun firewall
akan menolak semua koneksi menuju layanan SSH, FTP, dan MySQL server. Jika user mencoba
mengakses layanan SSH, FTP atau MySQL tanpa melakukan autentikasi maka firewall akan menolak
koneksi tersebut, dan bila user melakukan autentikasi port knocking dengan mengirimkan paket SYN ke
port yang telah ditetapkan dalam port knocking daemon , maka port knocking daemon akan menulis
ulang firewall sehingga user dapat mengakases layanan SSH, FTP dan MySQL Server.
Kata kunci: Port Knocking, firewall, autentikasi, SYN, SSH Server, FTP Server, MySQLserver.
Abstract
Security of a system is one important thing for an administrator. Any system that can access from internet
never escape from internet users attack who want to infiltrate into the system using a variety of methods
such as brute force. Brute force is still one of the most frequent method used to break into computer
security systems by experimenting trial against all possibility. By using Port Knocking as an
authentication method, an administrator can increase the security of system from brute force attack that
aimed to variety of services such as SSH Server, FTP Server, and MySQL Server. Knockd served as a
port knocking daemon which will accept port knocking authentication from user and will rewrite the
firewalls rule so that user can connect to a service like SSH, FTP and MySQL server. IPTables and
Uncomplicated Firewall (ufw) is used to build a firewall will deny all connections to the SSH service,
FTP, and MySQL server from the user. If the user tries to access the SSH service, FTP or MySQL without
authentication then the firewall will refuse the connection, and when users perform port knocking
authentication by sending a SYN packet to the port specified in port knocking daemon, then port knocking
daemon will rewrite the firewall so that the user can connect to services of SSH, FTP and MySQL
Server.
Keywords: Port Knocking, firewall, authentication, SYN, SSH Server, FTP Server, MySQLserver.
Pendahuluan
Perkembangan internet yang pesat memberikan manfaat bagi banyak orang, salah
satunya bagi seorang administrator server. Seorang adminisitrator akan menyediakan suatu
layanan service remote login agar komputer server tersebut dapat diakses dari mana saja.
Dengan kata lain administrator menginstallkan service Secure Shell (SSH) agar bisa mengakses
komputer server dari tempat lain. Begitu juga dengan akses untuk mengupload file file ke
komputer server, administrator akan menginstallkan aplikasi file server pada komputer server.
Jurnal Teknik Elektro dan Komputer, Vol.2, No.1, April 2014, 59-67
60
DasarTeori
2.1
Menurut Lestari (2008), Secure Shell (SSH) pertama kali dikembangkan oleh Tatu Yi Nen
di Helsinki University of Technology yang merupakan sebuah protokol yang memfasilitasi
sistem koneksi yang aman diantara dua komputer yang menggunakan arsitektur klien/server,
serta memungkinkan seorang user login ke server secara remote.
Protokol SSH ini dikembangkan untuk menggantikan protokol telnet, rlogin, rsh,dan rcp.
Terdapat dua jenis protokol SSH yaitu SSH-1 dan SSH-2. Masing masing protokol tersebut
memiliki arsitektur yang berbeda dan menggunakan algoritma kriptografi yang berbeda pula.
OpenSSH adalah salah satu program yang digunakan untuk melakukan aktifitas remote
controll atau melakukan pengiriman file-file diantara komputer. Program OpenSSH bersifat
free, dan banyak digunakan untuk aktifitas remote login.
Komponen OpenSSH, sshd, akan melakukan listening terus menerus untuk klien yang
melakukan koneksi dengan program mereka. Ketika permintaan koneksi dari klien terjadi,
OpenSSH server akan membangun sebuah sesi remote controll yang benar tergantung pada
program yang digunakan oleh klien dalam melakukan koneksi setelah autentikasi terjadi.
OpenSSH server menggunakan berbagai macam metode autentikasi antaralain plain password,
public key, dan kerberoc tickets.
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
2.2
61
Menurut Rinaldi dalam Kamalasari (2012), File Transfer Protocol (FTP) merupakan
salah satu aplikasi TCP/IP yang banyak digunakan untuk memindahkan atau meng-copy file
dari komputer satu ke komputer lainnya. Aplikasi ini adalah aplikasi yang telah dikembangkan
sejak awal perkembangan Internet. Hal ini terlihat dari mulai didefinisikannya protokol ini sejak
Internet menggunakan RFC sebagai alat standarisasi. Kata FTP sendiri telah muncul di RFC
172 yang diterbitkan tahun 1971.
Operasi protokol FTP ini cukup sederhana, dengan menggunakan FTP klien, seorang
dapat melihat isi direktori, memindahkan file dari dan ke FTP Server, serta membuat dan
menghapus direktori di server tersebut. Dalam melakukan operasi yang berhubungan dengan
pengiriman isi file, FTP menggunakan koneksi TCP yang khusus untuk mengirim isi file.
Cara kerja protokol FTP:
Gambar 1
Pada Gambar 1, klien melakukan aktifitas FTP baik yang berupa program windows FTP
atau command line. User Protocol Interpreter selanjutnya akan melakukan hubungan control
connection ke Server menggunakan port 21. Perintah-perintah yang standar dikeluarkan oleh
interpreter ini kepada Server melalui hubungan control connection.
2.3
MySQL[8]
Menurut Setyoroni (2009), MySQL adalah salah satu perangkat lunak database relasi
(Relational Database Management System atau RDBMS) seperti halnya Oracle, Postgree SQL,
MS SQL, dan sebagainya. MySQL merupakan salah satu software yang banyak digunakan untuk
mengelola database dengan menjalankan SQL(Strucure Query Language).
MySQL itu sendiri mulai dikembangkan sejak tahun 1979 menggunakan tools database
UNIREG yang dibuat oleh Michale Monty Widenius untuk perusahaan TcX di Swedia.
Tahun 1996 MySQL dirilis dengan versi MySQL 3.11.1 setelah pada tahun sebelumnya TcX
mendapat desakan dari David Axmark dari Detro HB untuk merilis MySQL.
2.4
Firewall[1]
Menurut Hadi (2005), Firewall adalah sebuah software atau hardware atau kombinasi
keduanya maupun sistem itu sendiri untuk mencegah akses yang tidak berhak ke suatu jaringan
sehingga ada suatu mekanisme yang bertujuan untuk melindungi, baik dengan menyaring,
membatasi atau bahkan menolak suatu hubungan atau kegiatan (dari luar kedalam atau dari
dalam ke luar) suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan
ruang lingkupnya berdasarkan aturan-aturan yang ditetapkan.
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
62
Segmen tersebut dapat merupakan sebuah jaringan workstation, server, router, atau local
area network (LAN) maupun wireless. Sebuah firewall memiliki karakteristik antaralain sebagai
berikut:
1. Seluruh hubungan atau kegiatan dari dalam keluar harus melewati firewall. Hal ini dapat
dilakukan dengan cara membatasi akses ke jaringan lokal, kecuali yang melewati firewall.
2. Hanya kegiatan yang terdaftar atau dikenal yang dapat melewati firewall. Hal ini dapat
dilakukan dengan cara mengatur policy pada konfigurasi keamanan lokal.
3. Firewall itu sendiri haruslah kebal dan relatif kuat terhadap serangan, yaitu penggunaan
sistem yang dapat dipercaya dan dengan penggunaan sistem operasi yang relatif aman.
Ada berbagai macam program yang dapat dijadikan sebagai firewall, salah satunya adalah
IPTables. IPTables masih menjadi pilihan dalam membangun sebuah firewall karena fiturnya
yang banyak.
2.5
IPTables[7][9]
Gambar 2
Pada diagram gambar 2, lingkaran menggambarkan ketiga rantai atau chain. Pada saat
sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses penyaringan. Chain
akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket
tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan
dilewatkan melalui diagram tersebut.
Sebuah chain adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan jika
paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap
paket. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses
paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah
satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang
harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan
default ACCEPT.
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
2.6
63
Uncomplicated Firewall(UFW)[10]
Uncomplicated Firewall atau ufw merupakan salah satu aplikasi firewall yang dikembangkan
untuk memudahkan penggunaan IPTables dalam membangun firewall berbasis IPv4 dan IPv6.
Secara default, ufw tidak aktif sehingga perlu mengaktifkannya bila ingin menggunakannya
sebagai aplikasi pengatur firewall.
Ufw tidak diperuntukan untuk penggunaan firewall yang kompleks, melainkan mempermudah
user dalam menambahkan atau menghapus aturan aturan sederhana. Saat ini ufw masih
peruntukan untuk penggunaan hostbase firewall.
2.7
Sistem Operasi Ubuntu pertama kali ditemukan oleh Mark Shuttleworth. Sistem operasi ini
berbasi Linux dan merupakan turunan dari Sistem Operasi Debian. Ubuntu memiliki dua versi
yaitu versi desktop dan versi server (www.markshuttleworth.com).
Sampai saat ini, rilis ubuntu telah mencapai versi rilis 12.10 untuk versi desktop dan versi
server. Ada versi baru yang dimiliki ubuntu saat ini yaitu versi cloud yang digunakan untuk
Cloud Computing (www.ubuntu.com). Ubuntu merupakan salah satu sistem operasi yang paling
banyak digunakan karena lebih user friendly. Oleh sebab itu, ubuntu banyak dijadikan sebagai
base dalam pengembangan sistem operasi baru, seperti Backtrack, Linux Mint, dan BlankOn.
Alasan mengapa menggunakan Sistem Operasi Linux Ubuntu pada Pada Proyek Akhir ini
adalah karena Ubuntu merupakan salah satu Sistem Operasi yang familiar dan user friendly,
selain itu Ubuntu juga menjadi salah satu Sistem Operasi yang banyak digunakan untuk
membangun server selain Fedora dan RedHat.
2.8
Port Knocking[2][4][5]
Menurut Luberti (2009), Port Knocking adalah sebuah metode sederhana untuk memberikan
akses remote tanpa meninggalkan port dalam keadaan selalu terbuka. Hal ini akan memberikan
perlindungan kepada server dari port scannig dan serangan scripts kiddies.
Menurut Susanto, Richard (2007), Port Knocking memiliki metode buka port kepada suatu
klien bila klien itu meminta, dan tutup kembali bila klien telah selesai. Untuk menjalankan
metode ini, sebuah server haruslah memiliki firewall dan daemon untuk menjalankan metode
port knocking yang berjalan di server tersebut.
Dengan metode tersebut, user dituntut untuk memberikan autentikasi ke server agar firewall
menulis ulang rulenya sehingga user diberi izin untuk mengakses port yang dimaksud. Dan
setelah selesai, user mengirimkan autentikasi kembali untuk menutup port agar firewall
menghapus rulenya yang ditulis sebelumnya untuk membuka port.
Menurut Krzywinski (2009), pola kerja metode port knocking ini memiliki beberapa tahap,
sebagai berikut:
Pada tahap pertama, klien melakukan koneksi ke komputer server ke salah satu port di
komputer server, misal port 22, namun koneksi tersebut di blok oleh firewall komputer server
Ditahap kedua, klien melakukan koneksi ke port port sequences yang telah didefinisikan
dalam file konfigurasi daemin port knocking ke komputer server dengan mengirimkan paket
SYN didalamnya. Selama fase ini, klien tidak akan mendapatkan respon apa apa.
Pada tahap ketiga, Daemon Port knocking mencatat adanya percobaan koneksi dan kemudian
melakukan autentikasi terhadap percobaan tersebut. Apabila autentikasi sesuai dengan yang
didefinisikan pada daemon port knocking dalam hal ini adalah port sequences yang
didefinisikan, maka daemon port knocking akan melakukan overwrite terhadap rule yang telah
didefinisikan didalam firewall agar membuka port yang ingin dituju oleh klien.
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
64
Ditahap keempat, setelah melakukan autentikasi klien telah bisa melakukan koneksi ke port
yang dituju menggunakan aplikasi seperti pada umumnya.
Setelah selesai, klien memutuskan koneksi dengan port dan kemudian mengirimkan paket SYN
kembali agar daemon port knocking menulis ulang rule pada firewall agar tidak bisa dilakukan
koneksi kembali ke port 22.
3
PERANCANGAN
3.1
Topology Jaringan
Dalam perancangan topologi jaringan pada Proyek Akhir ini, menggunakan dua buah komputer
sebagai klien. Kemudian menggunakan dua buah komputer sebagai server. Komputer-komputer
server berbeda jaringan dari klien. Antara komputer server dan klien dihubungkan dengan
switch dan PC router dengan sistem operasi Ubuntu.
Gambar 3
3.2
Topologi jaringan
Perancangan Software
Dalam Proyek Akhir ini menggunakan dua buah komputer sebagai Server. Server yang
dibangun adalah DNS, FTP, SSH, dan MySQL Server. Untuk FTP Server menggunakan aplikasi
vsftpd. Untuk SSH Server menggunakan aplikasi OpenSSH. Sedangkan untuk MySQL server
menggunakan aplikasi mysql-server-5.5.
Perancangan untuk PC Router sebagai dhcp server menggunakan aplikasi dhcp3-server, dan
juga menggunakan aplikasi openssh, vsftpd, dan mysql-server untuk autentikasi port knocking
pada sisi router.
Sedangkan komputer klien menggunakan filezilla klien, putty(windows)
client(linux) dan mysql workbench(windows) dan mysql client(linux).
4
dan openssh
Pada komputer dilakukan pengujian terhadap keamanan autentikasi pada layanan SSH, FTP dan
MySQL yang menggunakan autentikasi standar, dan menggunakan tambahan autentikasi port
knocking dengan hasil pada tabel 1.
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
Tabel 1
65
Tabel Analisa Autentikasi Port Knocking untuk Layanan SSH, FTP, dan MySQL Server
No
1.
Layanan
SSH
Autentikasi
Standar
Hydra
Hydra berhasil
menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan SSH
Metasploit Framework
Metasploit Framework
berhasil menemukan user
dan password yang dapat
digunakan untuk
mengakses layanan SSH
2.
FTP
Standar
Hydra berhasil
menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan FTP
Metasploit Framework
berhasil menemukan user
dan password yang dapat
digunakan untuk
mengakses layanan FTP
3.
MySQL
Standar
4.
SSH
Standar+Port
Knocking
(Iptables)
Hydra berhasil
menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan
MySQL
Hydra tidak berhasil
menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan SSH
Metasploit Framework
berhasil menemukan user
dan password yang dapat
digunakan untuk
mengakses layanan
MySQL
Metasploit Framework
tidak berhasil menemukan
user dan password yang
dapat digunakan untuk
mengakses layanan SSH
5.
FTP
Standar+Port
Knocking
(Iptables)
Metasploit Framework
tidak berhasil menemukan
user dan password yang
dapat digunakan untuk
mengakses layanan FTP
6.
MySQL
Standar+Port
Knocking
(Iptables)
Metasploit Framework
tidak berhasil menemukan
user dan password yang
dapat digunakan untuk
mengakses layanan
MySQL
7.
SSH
Standar+Port
Hydra tidak berhasil
Knocking(ufw) menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan SSH
Metasploit Framework
tidak berhasil menemukan
user dan password yang
dapat digunakan untuk
mengakses layanan SSH
8.
FTP
Standar+Port
Hydra tidak berhasil
Knocking(ufw) menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan FTP
Metasploit Framework
tidak berhasil menemukan
user dan password yang
dapat digunakan untuk
mengakses layanan FTP
9.
MySQL
Standar+Port
Hydra tidak berhasil
Knocking(ufw) menemukan user dan
password yang dapat
digunakan untuk
mengakses layanan
MySQL
Metasploit Framework
tidak berhasil menemukan
user dan password yang
dapat digunakan untuk
mengakses layanan
MySQL
Nmap/Zenmap
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh SSH
dengan status OPEN. Port
untuk autentikasi port
knocking tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh FTP
dengan status OPEN. Port
untuk autentikasi port
knocking tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh MySQL
dengan status OPEN. Port
untuk autentikasi port
knocking tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh SSH
dengan status OPEN
FILTERED. Port untuk
autentikasi port knocking
tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh FTP
dengan status OPEN
FILTERED. Port untuk
autentikasi port knocking
tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh MySQL
dengan status OPEN
FILTERED. Port untuk
autentikasi port knocking
tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh SSH
dengan status Closed. Port
untuk autentikasi port
knocking tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh FTP
dengan status Closed. Port
untuk autentikasi port
knocking tidak terdeteksi
Nmap/Zenmap dapat
mendeteksi port yang
digunakan oleh MySQL
dengan status Closed. Port
untuk autentikasi port
knocking tidak terdeteksi
Kemudian juga dilakukan pengujian terhadap komputer server dan pc router yang menerapkan
autentikasi port knocking. Dari hasil pengujian pada komputer server dan pc router yang
menerapkan autentikasi port knocking didapat hasil sebagai berikut:
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
66
1.
Komputer klien dengan sistem opersi windows dan linux tidak dapat melakukan koneksi ke
layanan SSH, FTP, dan MySQL tanpa melakukan autentikasi port knocking.
2.
Komputer klien dengan sistem opersi windows dan linux dapat melakukan autentikasi port
knocking.
3. Autentikasi port knocking dari kedua komputer klien tercatat pada komputer server, bukan
pada pc router. Ini karena yang melakukan proses listening port knocking tidak hanya
komputer server namun juga pc router. Sedangkan host target port knocking adalah
komputer server sehingga tidak terdapat autentikasi port knocking pada pc router.
4. Komputer klien dengan sistem opersi windows dan linux tetap tidak bisa mengakses
layanan SSH,FTP, dan MySQL Server pada komputer server karena koneksi dari komputer
klien tetap diblok oleh pc router.
5
5.1
Kesimpulan
1.
2.
3.
4.
5.
5.2
1.
Aspek keamanan saat proses autentikasi port knocking dilakukan, agar packet data yang
dikirim tidak dapat dibaca oleh user lain yang berada dalam satu jaringan.
2. Adanya celah keamanan bila user tidak melakukan proses penutupan akses ke layanan pada
penggunaan firewall IPTables dan rentang waktu setelah autentikasi ke layanan pada
penggunaan firewall UFW.
Daftar Pustaka
[1]
[2]
[3]
[4]
[5]
Analisa Port Knocking Pada Sistem Operasi Linux Ubuntu Server 12.04 LTS
67
[1] Rinaldi, Rudy. (2012) Analisa Kinerja Fail2Ban dan Denyhost Dalam Mengamankan
Server Dari Serangan Brute Force.Tugas Akhir, Program Studi Teknik Informatika,
Politeknik Caltext Riau, Pekanbaru.
[2] Russell, Rusty. (September 1999), Linux iptables HOWTO.
[3] Setyoroni, Dwi Apri. (), Modul Pemrograman Basis Data Lanjut MySQL. STMIK Duta
Bangsa, Surakarta.
[4] Syarif, Muhar. (2007-2008), Implementasi IPTables sebagai Filtering Firewall. Teknik