Mencegah Serangan Brute Force

Di mesin Linux, atifitas gambling yang dilakukan aplikasi brute force akan terbaca di log system Linux, biasanya ada di /var/log/messages. Jalankan perintah :

root@aceslack:~# tail -f /var/log/messages

untuk membaca file log secara realtime. Contoh log mesin yang kena brute force bisa dilihat di sini.

Banyak cara untuk mecegah mesin Linux tembus serangan brute force :

Edit file /etc/hosts.allow dan /etc/hosts.deny

Format yang digunakan oleh kedua file ini adalah sebagai berikut :More…

NAMA_SERVICE:IP_ADDRESS_ATAU_HOST

Untuk menolak semua service dari host manapun, tambahkan rule berikut pada file /etc/hosts.deny :

ALL:ALL

Untuk mengijinkan service sshd dari ip 192.168.1.10, tambahkan rule berikut pada file /etc/hosts.allow :

sshd:192.168.1.10

Edit file /etc/ssh/sshd_config

Merubah default port ssh 22 menjadi 8881. Hati-hati dengan penggunaan port, jangan sampai bentrok dengan port yang digunakan oleh service lain. Daftar port yang diatur oleh IANA bisa dilihat di sini.

Port 8881

Memaksa agar sshd berjalan di versi 2.

Protocol 2

Bila mesin yang diamankan memiliki beberapa NIC dan akses ssh hanya diijinkan dari NIC yang memiliki IP 192.168.1.1.

ListenAddress 192.168.1.1

Membatasi waktu login selama 1 menit. Bila dalam 1 menit tidak melakukan login maka service ssh akan terputus.

LoginGraceTime 1m

Tidak mengijinkan login dengan user root.

PermitRootLogin no

Membatasi sebanyak 3 kali gagal login, setelah 3 kali gagal login maka service ssh akan terputus.

MaxAuthTries 3

Hanya mengijinkan login dengan user 1ndONEsia.

AllowUsers 1ndONEsia

Pasang aplikasi pengamanan tambahan
Download paket sshdfilter-1.5.5.tar.gz dari link ini.

root@aceslack:~# wget http://www.csc.liv.ac.uk/~greg/sshdfilter-1.5.5.tar.gz

Ekstrak sshdfilter-1.5.5.tar.gz.

root@aceslack:~# tar -zxvf sshdfilter-1.5.5.tar.gz

Masuk ke direktori sshdfilter.

root@aceslack:~# cd sshdfilter-1.5.5

Ga ada salahnya untuk baca file INSTALL.

root@aceslack:~# more INSTALL

Buat file konfigurasi sshdfilter.

File konfigurasi sshdfilter adalah gabungan dari file etc/sshdfilterrc dengan salah satu file yang ada di dalam direktori patterns. Di dalam direktori patterns ada beberapa file, mana yang harus dipilih???
Sesuai dengan apa yang ditulis di file INSTALL :

rh7390 – RedHat 7.3, RedHat 9.0, Fedora Core 2.0 or CentOS 4.3
rhFC30 – RedHat Fedora Core 3.0, Fedora Core 4.0, Red Hat Enterprise Linux ES release 4, or CentOS 3.x
deb31 – Debian 3.1 (sarge) or Debian (sid, but see README.debian)
su10rc1 – SuSe 10.0 RC 1, Gentoo and Slackware
dbear – Dropbear, a light weight sshd daemon

maka pemilihan file yang ada di direktori patterns disesuaikan dengan distro yang digunakan. Saat ini aku pake Slackware, so aku pilih file su10rc1.partconf. Gabungkan file etc/sshdfilterrc dengan patterns/su10rc1.partconf menjadi sebuah file /etc/sshdfilterrc :

root@aceslack:~# cat etc/sshdfilterrc patterns/su10rc1.partconf > /etc/sshdfilterrc

Edit file konfigurasi.

Edit konfigurasi sshdfilter di file /etc/sshdfilterrc sesuai dengan kebutuhan.
Bikin rule firewall.

Buat chain baru dengan nama SSHD :

root@aceslack:~# iptables -N SSHD

Menambah rule untuk menangani setiap ada request ke port 22 :

root@aceslack:~# iptables -I INPUT -p tcp -m tcp –dport 22 -j SSHD

Menambah rule baru di baris terbawah untuk mengijinkan setiap request ke port 22 dari blok ip 192.168.1.0/24 :

root@aceslack:~# iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 –dport 22 -j ACCEPT

Save rule firewall.

Save rule-rule yang dibuat disebuah file. Misalkan rule-rule firewall-nya disimpan di /etc/wall_aceslack :

root@aceslack:~# iptables-save > /etc/wall_aceslack

Autorun rule firewall.

Agar secara otomatis rule-rule tadi dijalankan saat booting, tambahkan perintah berikut di dalam file /etc/rc.d/rc.local :

iptables-restore < /etc/wall_aceslack Copy file sshdfilter.pl. Copy file sshdfilter.pl, dan simpan dengan nama file sshdfilter di direktori /usr/sbin : root@aceslack:~# cp source/sshdfilter.pl /usr/sbin/sshdfilter Copy file man. root@aceslack:~# cp man/sshdfilter.1 /usr/share/man/man1 root@aceslack:~# cp man/sshdfilterrc.5 /usr/share/man/man5 dengan begitu, saat diketikkan perintah : root@aceslack:~# cp man sshdfilter maka akan ditampilkan manual dari sshdfilter yang sangat membantu bila kita tersesat ;)) Edit file startup sshd. Script startup sshd pada Slackware ada di file rc.sshd. Edit file tersebut, ubah lokasi path file script sshd menjadi lokasi path file script sshdfilter. ...CUT... fi /usr/sbin/sshd } ...CUT... ubah menjadi ...CUT... fi /usr/sbin/sshdfilter } ...CUT... dengan begitu, selanjutnya script rc.sshd tidak lagi menjalankan /usr/sbin/sshd, namun script tersebut akan menjalankan /usr/sbin/sshdfilter. Restart service sshd. Dengan me-restart service sshd maka script rc.sshd yang baru akan di-load : root@aceslack:~# /etc/rc.d/rc.sshd restart Cek service. Cek apakah service sshdfilter-nya sudah berjalan : root@aceslack:~# pstree | grep ssh |-sshdfilter-+-sshd | `-sshdfilter Selesai, mesin telah dijaga ketat oleh SSHDFILTER. Banyak aplikasi pengamanan yang dapat digunakan untuk mengamankan service ssh, salah satunya adalah SSHDFILTER. sumber : http://idhamm.blogspot.com/2009/08/mencegah-serangan-brute-force-by-onnie.html