Senin, 04 Mei 2015

Mikrotik : Mengamankan Mikrotik Dari Serangan FTP/SSH/TELNET Brute Force

Sudah menjadi hal yang lazim bahwa interface public dari router mikrotik adalah merupakan langganan dari serangan FTP/SSH/TELNET Brute Force. Jika ini dibiarkan saja, selain akan mengganggu anda karena log mikrotik yang muncul untuk memberi tahu bahwa interface mikrotik sedang coba diakses via ssh/telnet/ftp, juga menjadi sesuatu yang cukup beresiko disisi keamanan router anda. Untuk mengamankan interface public router mikrotik dari serangan ssh/telnet/ftp brute force, buatlah konfigurasi "firewall filter" di router mikrotik seperti berikut ini.

[adminUTIK@GW1] > ip firewall filter print    
Flags: X - disabled, I - invalid, D - dynamic
 .
 .

 3   ;;; drop ftp brute forcers
     chain=input action=drop protocol=tcp src-address-list=ftp_blacklist dst-port=21

 4   chain=output action=accept protocol=tcp content=530 login incorrect dst-limit=1/1m,9,dst-address/1m

 5   chain=output action=add-dst-to-address-list protocol=tcp address-list=ftp_blacklist address-list-timeout=3h content=530 Login incorrect

 6   ;;; drop ssh brute forcers
     chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22

 7   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist
     address-list-timeout=12w6d dst-port=22

 8   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3
     address-list-timeout=1m dst-port=22

 9   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2
     address-list-timeout=1m dst-port=22

10   chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22

11   ;;; drop telnet brute forcers
     chain=input action=drop protocol=tcp src-address-list=telnet_blacklist dst-port=23

12   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=telnet_stage3 address-list=telnet_blacklist
     address-list-timeout=8w4d dst-port=23

13   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=telnet_stage2 address-list=telnet_stage3
     address-list-timeout=1m dst-port=23

14   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=telnet_stage1 address-list=telnet_stage2
     address-list-timeout=1m dst-port=23

15   chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=telnet_stage1 address-list-timeout=1m dst-port=23

 .
 .

Perhatikan 5 baris rule berikut ini. Ini berfungsi untuk mengamankan interface mikrotik dari serangan ssh brute force.

[adminUTIK@GW1] > ip firewall filter print
.
.    
;;; drop ssh brute forcers
 6   chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22

 7   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist
     address-list-timeout=12w6d dst-port=22

 8   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3
     address-list-timeout=1m dst-port=22

 9   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2
     address-list-timeout=1m dst-port=22

10   chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22
.
.

Konsep yang digunakan diatas adalah setiap kali ada host/IP yang mengakses ke interface mikrotik melalui ssh (port 22) (akses pertama kali) (chain=input connection-state=new protocol=tcp dst-port=22), maka IP-nya akan secara otomatis dicatat sebagai ssh_stage1 dengan cara dimasukkan kedalam address list (action=add-src-to-address-list address-list=ssh_stage1). Usia IP ini berada didalam address list adalah selama 1 menit, setelah melewati 1 menit, maka IP tersebut akan secara otomatis dihapus dari daftar ssh_stage1 (address-list-timeout=1m). Kalau di-analogikan, ini sama seperti lampu hijau atau warning pertama.

10   chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22

Jika ternyata dalam interval 1 menit, IP yang sama tersebut mencoba mengakses lagi interface mikrotik, maka akan dicatat sebagai ssh_stage2. Dan usia IP ini berada di address list sebagai ssh_stage2 adalah juga selama 1 menit. Jika di-analogikan ini merupakan lampu kuning atau warning ke dua.

 9   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2
     address-list-timeout=1m dst-port=22

Jika ternyata dalam interval 1 menit sejak dimasukkan ke address list ssh_stage2 IP tersebut mencoba mengakses lagi interface mikrotik melalui port ssh, maka IP tersebut akan dimasukkan kedalam daftar IP ssh_stage3 selama 1 menit. Ini adalah peringatan terakhir atau lampu merah, artinya IP tersebut jangan lagi mencoba masuk ke interface mikrotik melalui ssh selama 1 menit kedepan, karena kalau tidak maka Ip tersebut akan di blacklist.

 8   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3
     address-list-timeout=1m dst-port=22

Ternyata jika IP tersebut masih juga mencoba mengakses interface mikrotik dalam range 1 menit setelah terdaftar sebagai IP ssh_stage3, maka dengan sangat terpaksa IP tersebut akan dimasukkan kedalam daftar ssh_blacklist selama 60 hari atau 3 bulan. :D.

 7   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist
     address-list-timeout=12w6d dst-port=22

Lalu setelah IP tersebut masuk kedalam daftar IP ssh_blacklist apa yang akan terjadi ? Yang terjadi adalah IP tersebut tidak akan bisa lagi mengakses interface mikrotik melalui port ssh selama 3 bulan.

 6   ;;; drop ssh brute forcers
     chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22

Hmm..., sekarang anda sudah faham bukan ? mudah-mudahan saja. He..he..
Lalu apa yang dapat anda simpulkan dari penjelasan diatas ?. Hemm. Kesimpulannya adalah bahwa setiap host / IP hanya boleh mengkases interface-interface mikrotik, termasuk interface public nya maksimum 3 kali dalam range 0 - 3 menit. Jika dalam range 0 - 3 menit ada host / IP yang mencoba mengakses interface mikrotik sebanyak 4 kali atau lebih banyak, maka IP tersebut akan didaftarkan sebagai IP ssh_blacklist. Dan kalau sudah terdaftar sebagai IP ssh_blacklist maka akan berada disitu selama 3 bulan, dan konsekuensinya adalah selama 3 bulan tersebut tidak akan bisa mengakses mikrotik melalui ssh. Smart bukan !!! he..he..
Anda tahu sendiri bukan, bahwa hacker menggunakan tools ssh brute force yang akan mencoba masuk ke interface-interface mikrotik dengan banyak kombinasi username dan password yang berbeda dalam range beberapa detik saja. Bahkan dalam 1 detik anda bisa menjumpai 4 atau 5 kali percobaan masuk ke interface mikrotik melalui ssh dengan kombinasi username dan password yang berbeda. Karena pada prinsipnya serangan brute force adalah mencoba login sebanyak-banyaknya dengan kombinasi username dan password yang tersedia didalam kamusnya agar kemungkinan berhasil semakin besar. Jika anda memiliki daftar kombinasi username dan password yang berbeda sebanyak 1000 baris, berapa lama anda dapat menyelesaikannya untuk mencobanya satu persatu terhadap host / server yang menjadi target serangan brute force (misal router mikrotik yang menjadi target serangan) ?. Jika anda ketik manual, dan 1 kombinasi username dan password membutuhkan waktu rata-rata 1 menit, maka untuk menuntaskan kesemuanya (1000 baris) anda membutuhkan waktu 1000 menit atau 16,667 jam. Apakah anda mampu ? Saya rasa tidak ada yang mau membuang-buang waktunya melakukan hal ini yang belum tentu ada kombinasi username dan password yang cocok dengan host targetnya. Maka salah satu jalan terbaik adalah menggunakan tools brute force yang dapat membantu anda untuk memasukkan kombinasi 1000 username dan password ini dalam waktu hanya beberapa menit saja.

Baiklah, penjelasan konsep cara mengamankan interface mikrotik dari serangan ssh brute force telah selesai. Ide yang sama digunakan untuk mengamankan mikrotik dari serangan telnet brute force. Yang agak berbeda adalah cara mengamankan dari ftp brute force.
Sekian dulu tutorial kali ini. Terima kasih.

Tidak ada komentar:

Posting Komentar