DEV Community

Cover image for Cara membuat jail fail2ban untuk Microsoft SQL Server (MSSQL)
Erol Joudy
Erol Joudy

Posted on • Originally published at blog.erol.dev

Cara membuat jail fail2ban untuk Microsoft SQL Server (MSSQL)

Pada artikel ini akan ditunjukkan bagaimana cara meminimalisir potensi brute-attack yang seringkali terjadi pada server yang menjalankan MSSQL. Hal ini bisa terlihat dari errorlog file mssql, berlokasi di /var/opt/mssql/log/errorlog, dengan adanya baris log seperti ini.

Login failed for user 'sa'. Reason: Password did not match that for the login provided.
Enter fullscreen mode Exit fullscreen mode

Untuk mengatasinya, bisa dibuat sebuah jail pada fail2ban yang akan memblokir nomor IP nakal, yang terdeteksi melakukan brute-attack lewat port MSSQL. Berikut ini adalah bagaimana caranya.

Pastikan fail2ban sudah terinstall pada sistem, cara untuk mengeceknya dengan menjalankan perintah ini,

service fail2ban status
Enter fullscreen mode Exit fullscreen mode

Apabila sudah terinstall, buat file baru bernama mssqld-auth.conf dengan perintah ini,

vi /etc/fail2ban/filter.d/mssqld-auth.conf
Enter fullscreen mode Exit fullscreen mode

Salin dan isi file baru tersebut dengan konten berikut.

Simpan file tersebut, dan selanjutnya buka file jail.conf dengan perintah ini,

vi /etc/fail2ban/jail.conf
Enter fullscreen mode Exit fullscreen mode

Pada bagian akhir file, tambahkan konten berikut.

[mssqld]
enabled = true
logpath = /var/opt/mssql/log/errorlog
maxfailures = 3
findtime = 600
bantime = 1800
filter = mssqld-auth
port = 1433
action = iptables-allports
backend = polling
Enter fullscreen mode Exit fullscreen mode

Simpan perubahan pada file, dan setelah itu restart fail2ban dengan perintah ini.

service fail2ban restart
Enter fullscreen mode Exit fullscreen mode

Untuk mengecek apakah konfigurasinya sudah benar dan berjalan dengan baik, silahkan monitor file log milik fail2ban. Jalankan perintah ini.

less /var/log/fail2ban.log
Enter fullscreen mode Exit fullscreen mode

Konfigurasi bisa dikatakan berfungsi dengan baik, bilamana terlihat baris seperti ini.

2019-11-08 11:19:45,405 fail2ban.filter         [30857]: INFO    [mssqld] Found 118.189.62.255
2019-11-08 11:19:45,428 fail2ban.filter         [30857]: INFO    [mssqld] Found 118.189.62.255
2019-11-08 11:19:46,076 fail2ban.actions        [30857]: NOTICE  [mssqld] Ban 118.189.62.255
2019-11-08 11:23:22,670 fail2ban.filter         [30857]: INFO    [mssqld] Found 27.64.134.184
2019-11-08 11:23:24,106 fail2ban.filter         [30857]: INFO    [mssqld] Found 27.64.134.184
2019-11-08 11:23:24,322 fail2ban.filter         [30857]: INFO    [mssqld] Found 27.64.134.184
2019-11-08 11:23:24,440 fail2ban.actions        [30857]: NOTICE  [mssqld] Ban 27.64.134.184
Enter fullscreen mode Exit fullscreen mode

Selamat mencoba.

Top comments (0)