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.

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.

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

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

vi /etc/fail2ban/filter.d/mssqld-auth.conf

Salin dan isi file baru tersebut dengan konten berikut.

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

vi /etc/fail2ban/jail.conf

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

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

service fail2ban restart

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

less /var/log/fail2ban.log

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

Selamat mencoba.

Leave a Reply