MEMBANGUN SISTEM KEAMANAN KOMPUTER UNTUK MENGHADAPI SERANGAN BRUTE FORCE DENGAN MENGGUNAKAN FAIL2BAN Suroto, S.Kom, M.Ak. , John Friadi Skom, MSi Jurusan Sistem Informasi, Fakultas Teknik, Universitas Batam Jl. Kampus Abulyatama No. 05, Batam Center, 29464 Email :
[email protected] ,
[email protected]
Abstract Infrastructure of computer network allows it to provide information quickly. However this while opening the potential for security holes. The asset information needs to be protected. This is the reason for computer security or information in an organization. A example of the computer security attack is Brute Force Attack. The technique of attack most widely used to crack passwords, keys, or a combination code. This study aims to create a security system for preventing and thwarting Brute Force attack. The system is made by using a package fail2ban program, running on a Linux platform. The way it works is if detected no failed login attempts, the system will automatically disconnect the connection between the target computer to the attacker's computer. The results showed that the application of fail2ban can prevent and thwart the Brute Force attack on our server or host protection. Keywords : computer security, brute force, NDLC, Fail2Ban, computer attack
Serangan brute force dapat terjadi pada berbagai server yang menyediakan layanan-layanan, seperti mail, web, ftp, ssh, dns dan lain lain. Tidak terbatas pada server, namun juga router atau peralatan jaringan lain yang menggunakan otentikasi password, dapat menjadi target dari serangan ini. Melihat tren ancaman keamanan dan teknologi serangan, pertahanan yang kuat memerlukan strategi yang fleksibel agar bisa beradaptasi dengan perubahan lingkungan, penggunaan teknologi keamanan yang tepat, dan kewaspadaan yang terus menerus. Usaha peningkatan keamanan perlu diterapkan untuk mencegah serangan Brute Force. Suatu organisasi, seperti perusahaan, kampus, sekolah, atau lembaga lain, harus mengembangkan infrastruktur dan membangun sistem keamanan untuk memberikan perlindungan terhadap ancaman-ancaman keamanan informasi & komputer. Salah satu usaha untuk mencegah dan menggagalkan serangan Brute Force yaitu menerapkan sebuah sistem keamanan yang secara otomatis akan memutuskan koneksi antara server dengan komputer penyerang, apabila dideteksi ada usaha-usaha login gagal. Mekanisme pencegahan terhadap serangan ini dapat dilakukan dengan menggunakan perangkat lunak open source, Fail2Ban.
1. Pendahuluan Kondisi masyarakat yang berbasis informasi menyebabkan nilai informasi menjadi sangat penting. Hal ini menuntut kemampuan untuk menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi sebuah organisasi. Infrastruktur jaringan komputer, memungkinkan untuk menyediakan informasi secara cepat. Namun ini sekaligus membuka potensi adanya lubang keamanan (security hole). Inilah yang menjadi alasan perlunya keamanan komputer atau keamanan informasi bagi sebuah organisasi. Menurut Charles P. Pfleeger, keamanan komputer adalah tindakan pencegahan dari serangan pengguna komputer atau pengakses jaringan yang tidak bertanggung jawab. Salah satu contoh serangan terhadap komputer adalah Brute Force Attack. Brute Force Attack merupakan sebuah teknik serangan terhadap sebuah sistem komputer yang menggunakan percobaan terhadap semua kunci yang mungkin. Teknik serangan ini yang paling banyak digunakan untuk memecahkan password, kunci, kode atau kombinasi. Cara kerja metode ini sangat sederhana yaitu mencoba semua kombinasi yang mungkin. Dengan kata lain, ini adalah serangan untuk menemukan password dan atau user ID, yang biasanya digunakan untuk masuk ke sistem komputer, peralatan jaringan atau aplikasi.
13
juga perlu diperhatikan. (d) Keamanan dalam Operasi ; keamanan ini terkait prosedur dalam operasi / kegiatan dalam penggunaan layanan jaringan komputer. Misal, bagaimana backup data dilakukan ?. Apakah semua pengguna mendapatkan akses internet ? Serangan terhadap keamanan komputer dikelompokan dalam beberapa jenis, yaitu ; (a) Hijacking Hijacking adalah kegiatan penyusupan dan mengambil alih sumber daya ICT (Information and Communication Technology) (IDSIIRTI, 2012). Tindakan ini dilakukan oleh seseorang, yang dikenal sebagai hacker. Hacking adalah tindakan memperoleh akses ke komputer atau jaringan komputer untuk mendapatkan atau mengubah informasi tanpa otorisasi yang sah (UN-APCICT, 2009).
2. Tinjauan Pustaka 2.1. Keamanan Komputer Perkembangan Teknologi Informasi (TI) menyebabkan perubahan cara pandang manusia terhadap suatu informasi. Informasi dipandang sebagai isi (content) yang dibawa oleh proses komunikasi. Komunikasi antar perangkat memerlukan infrastruktur jaringan komputer yang baik. Informasi yang tersimpan dalam jaringan komputer harus dijaga keamanannya. Sehingga informasi terjamin kesahihan dan validitasnya. Disinilah perlunya sebuah keamanan komputer atau keamanan jaringan atau keamanan informasi. Keamanan komputer adalah tindakan pencegahan dari serangan pengguna komputer atau pengakses jaringan yang tidak bertanggung jawab ( Charles P. Pfleeger, 2006). Keamanan jaringan didesain untuk melindungi asset berharga ( informasi ) dari threat atau serangan dan kelemahan sistem ( vulnerabilities ) dalam organisasi apapun (Charles P. Pfleeger, 2011). Dalam desain keamanan memerlukan analisa resiko terhadap aset dan respon yang diperlukan. Beberapa hal yang menjadi penyebab kejahatan komputer semakin meningkat : (a) Aplikasi bisnis berbasis web / TI (b) Desentralisasi atau penyebaran server-server. (c) Transisi dari single vendor ke multi vendor (d) Meningkatnya kemampuan pemakai (user) (e) Semakin kompleksnya sistem yang digunakan, semakin besarnya source code program yang dibuat. (f) Komputer dan informasi terhubung dengan jaringan public / internet
(b) Interruption Interruption merupakan tindakan dari attacker yang dapat menimbulkan gangguan dan dapat mematikan infrastruktur jaringan. (c) Modification Modification merupakan jenis serangan yang bertujuan untuk mengubah informasi atau data, pengubahan konten lain yang dapat merusak, penyebaran konten tersebut dan penyesatan informasi. (d) Fabrication Fabrication merupakan jenis serangan yang dilakukan dengan cara membuat file / konten yang bersifat merusak dan menyebarkan ke target serangan. Setiap jenis serangan tersebut dapat menggunakan teknik atau cara yang berbeda-beda. Umumnya beberapa teknik / cara yang dipakai adalah: DoS (Denial of Service, DNS/route poison, scam, SPAM, phishing, identity theft, malware (virus, Trojan, botnet, rootkit, backdoor).
Keamanan komputer meliputi (Robert C. Newman, 2009) : (a) Keamanan Fisik (Hardware) ; ini terkait dengan keamanan pada perangkat keras komputer ataupun peralatan jaringan lainnya. Keamanan pada area ini bertujuan membatasi akses seseorang ke fisik perangkat tersebut. Selain itu juga, bertujuan agar fisik perangkat keras tidak rusak / terganggu dari lingkungan luar. Ancaman-ancaman yang dapat terjadi , yaitu : - Wiretapping - Kenaikan Suhu Komputer - Tegangan Yang Tidak stabil - Kerusakan Akibat Listrik Statis (b) Keamanan User ; ini keamanan terkait pengguna. Misal, bagaimana pengguna menggunakan user id dan password untuk mengakses aplikasi atau email. Bagaimana pengguna menyimpan user id dan password. Apakah user id dan password ditulis di kertas ataukah diingat ?. (c) Keamanan Data, Media & Teknik Komunikasi Data; ini terkait keamanan pada data / informasi. Bagaimana programmer membuat sebuah program aplikasi yang aman ? Bagaimana analis sistem membuat database yang aman. Disamping itu, keamanan jaringan yang terdiri dari server-server, router dan peralatan lainnya
Teknologi deteksi Teknologi deteksi digunakan untuk mendeteksi dan melacak kondisi abnormal dan gangguan dalam jaringan atau sistem penting. Teknologi deteksi antara lain: 1) Antivirus – Peranti lunak antivirus merupakan program komputer untuk mengidentifikasi, menetralisir atau mengeliminasi kode berbahaya, seperti worm, serangan phishing, rootkits, Trojan horse dan malware lainnya. 2) Intrusion Detection System (IDS) - IDS mengumpulkan dan menganalisis informasi dari berbagai area dalam sebuah komputer atau jaringan untuk mengidentifikasi kemungkinan penerobosan keamanan. Fungsi deteksi gangguan termasuk analisis pola kegiatan abnormal dan kemampuan untuk mengenali pola penyerangan. 3) Intrusion Prevention System (IPS) – IPS mengidentifikasi potensi ancaman dan bereaksi sebelum
14
mereka digunakan untuk menyerang. IPS memonitor lalu lintas jaringan dan mengambil tindakan segera berdasarkan aturan-aturan yang telah ditetapkan oleh administrator jaringan. Sebagai contoh, IPS dapat memblok lalu lintas jaringan dari alamat IP yang mencurigakan.
3. Metodologi Penelitian 3.1 Waktu dan Tempat Penelitian Penulis melakukan penelitian ini pada Universitas Batam. Waktu penelitian yang dilakukan oleh penulis di mulai dari bulan Januari 2015 sampai dengan bulan Desember 2015.
2.2. Serangan Brute Force Serangan Brute Force (Brute Force Attack) menurut wikipedia berarti Serangan brutal. Brute-force attack adalah sebuah teknik serangan terhadap sebuah sistem keamanan komputer yang menggunakan percobaan terhadap semua kunci yang mungkin. Istilah ini dipopulerkan oleh Kenneth Thompson, dengan mottonya: “When in doubt, use brute-force” (jika ragu, gunakan brute-force). Teknik ini yang paling banyak digunakan untuk memecahkan password, kunci, kode atau kombinasi. Cara kerja metode ini sangat sederhana yaitu mencoba semua kombinasi yang mungkin. Sebuah password dapat dibongkar dengan menggunakan program yang disebut sebagai password cracker. Program password cracker adalah program yang mencoba membuka sebuah password yang telah terenkripsi dengan menggunakan sebuah algoritma tertentu dengan cara mencoba semua kemungkinan (Stallings William, 2008). Teknik ini sederhana, tapi efektivitasnya luar biasa, dan tidak ada satu pun sistem yang aman dari serangan ini, meski teknik ini memakan waktu yang sangat lama, khususnya untuk password yang rumit.
3.2 Metode Penelitian Metode yang digunakan dalam penelitian adalah Model Desain dan Implementasi Network Development Life Cycle (NDLC). Menurut James E. Goldman (2005:205), NDLC merupakan suatu pendekatan proses dalam komunikasi data yang menggambarkan siklus yang awal dan akhirnya dalam membangun sebuah jaringan komputer yang mencakup sejumlah tahapan. Tahapan tersebut dapat dilihat pada gambar 3.1.
2.3. Fail2ban Fail2ban merupakan paket program untuk mendeteksi usaha login yang gagal dan kemudian memblokir alamat IP host asal (Fail2ban.org, 2014). Fail2ban melakukan scanning terhadap file log (misalnya /var/log /apache/error_log) dan melarang IP yang menunjukkan tanda-tanda berbahaya . Kondisi bahaya yang dimaksud adalah seperti terlalu banyak kegagalan password, mencari eksploitasi, dan lain-lain. Secara umum fail2ban kemudian digunakan untuk memperbarui aturan-aturan firewall untuk drop (menolak) alamat IP tertentu dalam kurun waktu tertentu. Disamping itu fail2ban dapat dikonfigurasi untuk mengirim email notifikasi jika ada serangan yang berhasil digagalkan. Fail2ban dilengkapi dengan filter untuk berbagai layanan, seperti apache, mail, ssh, dan lain-lain (fail2ban.org). Fail2ban dapat mengamankan berbagai server atau service yang ada. Diantaranya adalah Web server yang menjalankan Apache. Selain itu, FTP server yang menjalankan salah satu program, yaitu ProFTP, wuFTP, vsFTP dan pureFTP. Contoh server lainnya, yakni Mail Server ( IMAP & POP3 server serta SMTP server). Beberapa program yang berfungsi sebagai mail server yaitu postfix, couriersmtp, courierauth dan dovecot.
Gambar 3.1. Model NDLC 3.3 Metode Pengumpulan Data Adapun metode pengumpulan data yang penulis gunakan adalah sebagai berikut: a. Observasi Dimana Penulis mengadakan penelitian dengan cara mengadakan pengamatan langsung aktivitas sehari-hari pada objek dan melakukan pencatatan atas fakta fakta yang ada, baik secara langsung maupun tidak langsung dengan tujuan agar dapat mengetahui apa saja yang dianggap penting untuk dijadikan bahan masukan. b. Studi Kepustakaan Studi kepustakaan dilakukan berdasarkan pengetahuan penulis, serta membaca buku-buku, dokumentasi dan tutorial di internet, yang ada hubunganya dengan penelitian . 3.4. Alat dan Bahan Dalam pelaksanaan penelitian ini membutuhkan peralatan, meliputi : a. Peralatan Hardware
15
1. Komputer sebagai Server 2. Notebook / PC sebagai Client & sekaligus sebagai attacker 3. Modem Internet 4. Switch LAN 4 port – 10/100 Mbps Ethernet
v) Apache Sedangkan komputer client (alamat IP: 192.168.80.199), berfungsi sebagai attacker (penyerang). Sistem operasi yang digunakan adalah Kali Linux. Pada komputer attacker ini terdapat beberapa tool program, diantaranya: browser, telnet dan mail. Program Telnet digunakan untuk komunikasi interaktif dua arah berorientasi teks, dengan cara menggunakan koneksi virtual terminal. Program mail digunakan untuk membaca email.
b. Peralatan Software 1. Linux Ubuntu Server 12.0 & Kali Linux, sebagai Sistem operasi 2. Fail2ban, sebagai tool untuk pencegahan serangan brute-force 3. Dovecot + Postfix, sebagai server IMAP dan POP3 serta SMTP 4. OpenSSH Server, sebagai server remote shell 5. vsFTP, sebagai File Transfer Protocol (FTP) server. 6. Apache, sebagai web server. 7. Hydra , sebagai tool brute-force. 8. Browser Mozilla Firefox
4.2. Instalasi Perangkat Lunak 4.2.1. Sistem Operasi Server Sistem operasi yang terpasang di server adalah Ubuntu 12.04 LTS server. Komputer ini sebagai host target serangan nantinya dalam eksperimen ini. Sistem operasi ini berbasis Command Line Interface (CLI). Maksudnya adalah semua perintah diketik dalam baris-baris text 4.2.2. vsftpd Tahap selanjutnya adalah instalasi software untuk keperluan transfer file, yaitu vsftpd. Perintah yang digunakan dalam command line ( via terminal ) adalah sebagai berikut: #sudo apt-get install vsftpd
4. Hasil & Pembahasan 4.1. Desain Arsitektur Jaringan Pada penelitian ini penulis merancang dan membuat jaringan kecil. Jaringan kecil ini sebagai pemodelan jaringan sesungguhnya. Diagram jaringan pada penelitian ini dapat dilihat dalam gambar di bawah ini.
Setelah vsftpd didownload dan terpasang di server, kita dapat menyesuaikan konfigurasi . Caranya adalah dengan meng-edit file konfigurasinya, yaitu file vsftpd.conf. File berada di direktori /etc/. Perintah yang digunakan untuk mengedit file tersebut adalah : #sudo nano /etc/vsftpd.conf Perubahan konfigurasi pertama yaitu mengubah parameter anonymous_enable=YES menjadi NO. anonymous_enable=NO Setelah itu, uncomment opsi local_enable, ubah ke YES dan tambahkan opsi write_enable untuk mengijinkan user menulis ke direktori. local_enable=YES write_enable=YES
Gambar 4.1. Desain Arsitektur Jaringan Infrastruktur jaringan yang sederhana seperti diatas hanya untuk model simulasi saja. Meskipun demikian, konfigurasi paket program Fail2ban dapat diterapkan dalam jaringan skala kecil hingga besar. Program Fail2ban tidak tergantung pada tipe atau model jaringan. Hal terpenting adalah komputer atau server mana yang akan diamankan, maka disitulah Fail2ban harus diinstall. Pada simulasi ini (gambar 4.1 ), sebuah komputer sebagai server (alamat IP: 192.168.80.170) dengan sistem operasi Ubuntu Server 12 dan telah diinstal beberapa paket program agar memiliki beberapa layanan (services). Paket Program tersebut adalah : i) vsftpd ii) postfix iii) dovecot iv) OpenSSH Server.
Terakhir, uncomment opsi chroot_local_user. Ketika baris ini di-set ke YES, maka semua local user akan berada dalam chroot mereka dan akan ditolak (denied access) untuk akses ke file/ direktori lain di server. chroot_local_user=YES Simpan dan keluar file. Terdapat isu atau masalah kecil ketika ftp klien mencoba untuk login ke ftp server. Muncul sebuah error "refusing to run with writable root inside chroot". Solusi untuk mengatasi problem ini adalah melakukan langkah-langkah sebagai berikut:
16
i) membuat direktori baru di direktori /home user. mkdir /home/user/files ii) mengubah kepemilikan direktori/file : chown user:user home/user/files
protocols = imap pop3 mail_location = maildir:~/Maildir dimana : protocols : parameter ini menunjukkan protokol yang akan disediakan untuk user dalam mengakses emailnya. mail_location : parameter ini menunjukkan format dan lokasi mailbox setiap user.
iii) kemudian restart service vsftpd : sudo service vsftpd restart Secara umum, kita dapat menjangkau server FTP melalui sebuah browser dengan cara mengetikan nama domain atau alamat IP server tersebut. Kemudian login dengan menggunakan ID atau username yang cocok. Pada penelitian ini, telah dibuat sebuah user ftp, yaitu user1 dan password, user1.
Langkah berikutnya adalah mengkonfigurasi sebuah file yang berfungsi untuk menangani proses authentikasi. File ini berada di /etc/dovecot/conf.d/10auth.conf. Kita gunakan perintah berikut ini untuk meng-edit. #sudo nano /etc/dovecot/conf.d/10-auth.conf
4.2.3. Postfix Software Postfix berfungsi untuk pengiriman atau pengantaran mail ( mail delivery). Postfix dapat diinstall dengan mudah menggunakan perintah berikut : #sudo apt-get install postfix
Baris berikut harus diubah : auth_mechanisms = plain login
Selama instalasi kita akan melihat atau bertemu dengan kotak dialog tentang tipe /model instalasi dari Postfix. Kita pilih, “Internet Site”. Kemudian diteruskan dengan nama domain. Nama domain, kita isikan “domain.com”.
auth_mechanisms : parameter ini merupakan cara atau mode yang mana client akan diauthentikasi dengan Dovecot. Langkah berikutnya, menentukan lokasi dari mail atau message. File berada di /etc/dovecot/conf.d/10mail.conf. #sudo nano /etc/dovecot/conf.d/10-mail.conf
Setelah Postfix terinstal, kita perlu melakukan konfigurasi. Konfigurasi dilakukan dengan cara mengedit file /etc/postfix/main.cf. #sudo nano /etc/postfix/main.cf
Tambahkan baris parameter berikut . mail_location = maildir:~/Maildir
Terdapat beberapa perubahan pada baris entries di file main.cf ini. myhostname = example.com
Berikutnya, pengubahan file konfigurasi untuk mengatur unix socket untuk postfix smtp-auth. File berada di /etc/dovecot/conf.d/10-master.conf. #sudo nano /etc/dovecot/conf.d/10-master.conf
Secara default, baris myhostname bernilai example.com. Kita sesuaikan dengan kondisi penelitian ini. Baris ini diubah menjadi : myhostname = mail.domain.com
Comment out (berikan tanda komentar) pada baris-baris di bawah ini. #unix_listener auth-userdb { #mode = 0600 #user = #group = #}
Selanjutnya, kita tambahkan baris ini: home_mailbox = Mailbox/ Langkah terakhir , yaitu reload service Postfix #sudo /etc/init.d/postfix reload
Sekarang kita edit / tambahkan baris-baris ini dalam file yang sama. # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } Langkah berikutnya, kita perlu mengkonfigurasi file pop3.conf. Konfigurasi ini akan mengijinkan program email client versi lama untuk terhubung secara baik. File konfigurasi berada di /etc/dovecot/conf.d/20-pop3.conf.
4.2.4. Dovecot Pertama, kita perlu untuk download paket Dovecot. Perintah berikut ini akan menginstall paket tersebut: #sudo apt-get install dovecot Langkah berikutnya, adalah mengkonfigurasi Dovecot dalam file config di /etc/dovecot/dovecot.conf . #sudo nano /etc/dovecot/dovecot.conf Baris perintah di bawah ini akan perlu di uncomment dan diubah sesuai kebutuhan dalam penelitian ini.
17
#sudo nano /etc/dovecot/conf.d/20-pop3.conf
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth
Kita perlu menambahkan bari-baris berikut: pop3_uidl_format = %08Xu%08Xv pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
Simpan perubahan dan restart service Postfix. #sudo service postfix restart
Langkah berikutnya, kita akan menambahkan atau membuat satu contoh mailbox untuk user1, misalnya. Mailbox diperlukan oleh user untuk mengirim dan menerima pesan email. Pada penelitian ini , kita akan membuat dua account user, yaitu user suroto dan user1. Perintah untuk membuat user baru tersebut adalah : #useradd -m suroto #passwd suroto
4.2.5. OpenSSH Server Instalasi paket software OpenSSH Server dapat dilakukan dengan cara sebagai berikut : #sudo apt-get install openssh-server Setelah proses instalasi selesai , maka kita perlu melakukan konfigurasi pada file sshd_config di direktori /etc/ssh . Kita lakukan backup file tersebut, sebelum konfigurasi. Perintah yang digunakan adalah 'cp' .
password untuk user suroto , kita isikan 'suroto'. Jadi nama user dan passwordnya adalah sama. #useradd -m user1 #passwd user1
#sudo cp /etc/ssh/sshd_config.originil
/etc/ssh/sshd_config
#sudo chmod a-w /etc/ssh/sshd_config.originil Kemudian kita perlu membuat direktori mail untuk setiap user. Misalkan, nama direktorinya adalah Maildir. #sudo mkdir /home/suroto/Maildir
Sedangkan perintah 'chmod' di atas digunakan untuk membuat file memiliki atribut read only saja. Setelah selesai backup file sshd_config, kita edit file ini. #sudo nano /etc/ssh/sshd_config
Selanjutnya, kita perlu mengubah kepemilikan (ownership) dari mailbox / direktori Maildir. #sudo chown suroto:suroto /home/suroto/Maildir #sudo chmod -R 700 /home/suroto/Maildir
Disarankan untuk menonaktifkan forwarding jika kita juga menggunakan kunci SSH. Untuk menonaktifkan forwarding, kita edit baris berikut di file sshd_config : AllowTcpForwarding yes X11Forwarding yes
Pengubahan ownership dan permissions juga diterapkan pada account user1. #sudo chown user1:user1 /home/user1/Maildir #sudo chmod -R 700 /home/user1/Maildir
dan ganti menjadi : AllowTcpForwarding no X11Forwarding no Selanjutnya, baris berikut diedit: PermitRootLogin yes dan diganti PermitRootLogin no
Langkah terakhir, service Dovecot harus di-start. #sudo service dovecot start
Selanjutnya, kita perlu mengatur Postfix dan melakukan perubahan dalam file main.cf . Konfigurasi bagian ini untuk mengijinkan email client terhubung ke server SMTP . Kita buka file /etc/postfix/main.cf : #sudo nano /etc/postfix/main.cf
Kita simpan perubahan dan restart service OpenSSH . #sudo /etc/init.d/sshd restart
4.2.6. Apache Kemudian kita tambahkan baris perintah sebagai berikut; smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions= permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination broken_sasl_auth_clients = yes
Instalasi apache menggunakan perintah berikut : #sudo apt-get update #sudo apt-get install apache2 Berikutnya, tahap konfigurasi modul Authentication. Disini, kita berasumsi bahwa ada sebuah direktori /var/www/rahasia/ akan dilindungi dengan password.
18
i) Pertama, kita buat sebuah file password ( format teks ). File ini ditempatkan di sebuah direktori yang tidak dapat diakses dari web. Semua file web disimpan di direktori /var/www/. Sedangkan file password akan disimpan di /etc/apache2/ . Misalnya, nama file password adalah secretpass. Perintah htpasswd digunakan untuk membuat file tersebut. htpasswd -c /etc/apache2/secretpass suroto
konfigurasi firewall saat itu, seperti tampilan berikut:
Perintah htpasswd akan meminta kita untuk memasukkan password, dan meminta masukan password kedua untuk konfirmasi. # htpasswd -c /etc/apache2/secretpass suroto New password: suroto Re-type new password: suroto Adding password for user suroto
Chain OUTPUT (policy ACCEPT) target prot opt source destination
#iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination
Hasil output iptables menunjukkan bahwa semua chain dalam keadaan kosong. Ini artinya, tiada filtering sama sekali, sehingga semua paket data dari host manapun boleh lewat. 4.3.1 Ujicoba Saat Fail2ban Non Aktif Program fail2ban harus dinon-aktifkan, sehingga kondisi ini sama seperti kondisi sebelum fail2ban diimplementasikan.
ii) Berikutnya, langkah mengkonfigurasi server agar me-request sebuah password dan memberitahukan server, user-user mana yang diijinkan akses. Kita edit file /etc/apache2/site-available/default. #nano /etc/apache2/site-available/default
i). Ujicoba 1: Test Serangan terhadap FTP Server Pada ujicoba ini kita akan berusaha login dengan account / password-password yang sengaja salah sebanyak 3 kali atau lebih. Tahap ujicoba (cara 1) dari sisi klien sebagai berikut : 1) Dari komputer penyerang / klien , buka program browser. 2) Kemudian pada URL, diketik alamat URL, yaitu ftp://192.168.80.170., dan tekan enter. 3) Masukkan username dan password yang salah. 4) Respon yang muncul di layar komputer adalah ada pesan error “login incorrect” 5) Ulangi lagi langkah ke 3, hingga 4 kali atau lebih.
Pada directive
, tambahkan baris berikut ini: AuthType Basic AuthName "Restricted Files" # (Following line optional) AuthBasicProvider file AuthUserFile /etc/apache2/secretpass Require user suroto iii) Berikutnya, kita membuat direktori rahasia di /var/www/ dan membuat satu file teks untuk testing saja. #mkdir /var/www/rahasia #nano /var/www/rahasia/filetes.txt
Ujicoba dapat juga dilakukan menggunakan metode brute-force), kita menggunakan program hydra. Dari terminal komputer penyerang, kita ketikan perintah berikut ;
Kita ketik / isikan saja satu kalimat sembarang,
hydra -l user1 -P /root/Desktop/daftarpass.txt -t 192.168.80.170 ftp.
misal : “ Ini hanya file untuk testing saja”. iv) Berikutnya, kita restart service apache. #service apache2 restart
ii). Ujicoba 2: Test terhadap SMTP server Caranya, dengan memberikan perintah (pada terminal) sebagai berikut:
4.3. Simulasi & Implementasi Pada tahap ini dilakukan serangkaian ujicoba serangan komputer dari komputer client ke komputer server. Tahap simulasi atau ujicoba ini dibagi dalam dua kondisi, yaitu saat fail2ban dinon-aktifkan dan saat fail2ban aktif. Adapun nama server adalah test-svr. Sedangkan hostname client adalah kali. Sebelum kita mulai ujicoba, kita akan lihat dulu kondisi awal firewall. Perintah 'iptables -L' digunakan untuk melihat
hydra -s 587 -V -l user1 -P /root/Desktop/daftarpass.txt -t 192.168.80.170 smtp iii). Ujicoba 3: Test terhadap HTTP server Ujicoba ketiga ini bertujuan untuk melakukan serangan Brute-Force ke service HTTP, tepatnya pada direktori /rahasia (yang telah terproteksi password ). hydra -V -d -l suroto -P /root/Desktop/daftarpass.txt -t
19
16 m /rahasia 192.168.80.170 http-head
James F. Kurose, Keith W. Ross. 2013, Computer Networking : a top-down approach 6th edition. New York: Pearson Education, Inc Joseph Migga Kizza, 2014, Computer Communications and Networks : Guide To Computer Network Security 3th edition. London: Springer Inc Netcraft.com, 2014, diakses 22 April 2014, http://netcraft.com/June_2013_Web_ Server_Survey. Robert C. Newman, 2009, Computer Security: Protecting Digital Resources. Canada: Jones and Bartlett Publishers Stallings William, 2008, Computer Security: Principles and Practice. New York: Pearson Education UNIAPCIT, 2009, Keamanan Jaringan dan Keamanan Informasi dan Privasi - Edisi Terjemahan. Korea, Scandinavian Publishing Co., Ltd. Wikipedia, 2014, diakses 21 April 2014, http://en.wikipedia.org/wiki/Brute-force_attack. William R. Cheswick and Steven M. Bellovin. 2003 Firewalls and Internet Security: Repelling the Wily Hacker First Edition. Addison-Wesleyx
iv). Ujicoba 4: Test terhadap SSH Server Ujicoba keempat ini bertujuan untuk melakukan serangan Brute-Force ke service SSH . Percobaan keempat ini dilakukan dengan cara memberikan perintah sebagai berikut: hydra -s 22 -V -l user1 -P /root/Desktop/daftarpass.txt -t 192.168.80.170 ssh .
4.3.2 Ujicoba Saat Fail2ban Aktif Pada tahap ujicoba ini, semua test serangan-serangan yang pernah dilakukan sebelumnya, akan diulangi lagi. Namun, dengan kondisi berbeda, yakni Fail2ban dalam keadaan aktif. 4.4 Hasil Implementasi & Pengujian Implementasi Fail2Ban dan pengujian terhadap implementasinya memberikan beberapa hasil sebagai berikut : 1. Implementasi fail2ban mengubah setting firewall iptables . Entries rule dalam iptables bertambah untuk peningkatan tingkat keamanan. 2. Ketika Fail2Ban tidak diimplementasikan, serangan Brute-force terhadap server yang memiliki berbagai service, dapat dilakukan oleh attacker. 3. Ketika Fail2Ban diimplementasikan, serangan Brute-Force terhadap server yang memiliki berbagai service, tidak dapat dilakukan oleh attacker. 5. Kesimpulan dan Saran Kesimpulan yang dapat diambil dari penelitian ini adalah, serangan Brute Force dapat dicegah dengan menggunakan Fail2Ban . Saran yang dapat disampaikan untuk penelitian selanjutnya, adalah penambahan keamanan pada service lain, seperti DNS, SMB dan lain-lain. Sehingga Fail2Ban dapat mencegah serangan Brute Force pada service tersebut.
Daftar Pustaka Charles P. Pfleeger, 2015, Security In Computing, 5th edition. New York: Prentice Hall Charles P. Pfleeger, 2011, Analyzing Computer Security: A Threat / Vulnerability / Countermeasure Approach. New York: Prentice Hall Fail2ban.org, 2014, diakses 22 april 2014, http://www.fail2ban.org/wiki/index.php/Main_Page
20