AbuseIPDB adalah layanan yang dibuat untuk membantu webmaster, administrator sistem, dan profesional TI dalam melawan hackers, spammers, dan aktivitas abuse lainnya di internet. Layanan ini memungkinkan Anda untuk melaporkan alamat IP yang terlibat dalam aktivitas yang mengganggu server dan jaringan.
AbuseIPDB juga menyediakan API gratis yang bisa diintegrasikan dengan layanan firewall seperti CSF dan Fail2Ban untuk mendapatkan daftar blacklist IP serta dapat digunakan untuk melaporkan IP secara otomatis.
Prequites
Install ConfigServer Security & Firewall (CSF) di server Anda.
Kemudian buat AbuseIPDB API key melalui https://www.abuseipdb.com/account/api. Jika belum memiliki akun, Anda bisa
register terlebih dahulu.
Integrating our Blacklist
Edit file /etc/csf/csf.blocklists
dan tambahkan baris berikut.
# AbuseIPDB blacklist
# Details: https://docs.abuseipdb.com/#blacklist-endpoint
ABUSEIPDB|86400|10000|https://api.abuseipdb.com/api/v2/blacklist?key=YOUR_API_KEY&plaintext
Penjelasan:
ABUSEIPDB
: Merupakan nama penyedia IP blacklist.86400
: Interval dalam detik saat daftar blacklist diperbarui.10000
: Jumlah IP yang akan diambil dari daftar blacklist.
Selanjutnya restart CSF+LFD untuk menerapkan perubahan.
csf -ra
Cek file log untuk memastikan blocklist berhasil ditambahkan.
# cat /var/log/lfd.log
Jun 20 18:34:30 testbed lfd[9475]: Retrieved and blocking blocklist ABUSEIPDB IP address ranges
Jun 20 18:34:30 testbed lfd[9475]: IPSET: loading set new_ABUSEIPDB with 9999 entries
Jun 20 18:34:30 testbed lfd[9475]: IPSET: switching set new_ABUSEIPDB to bl_ABUSEIPDB
Reporting to AbuseIPDB
Buat file /usr/local/csf/bin/abuseipdb_block.sh
kemudian tambahkan script untuk report ke AbuseIPDB.
#!/usr/bin/sh
# Set your AbuseIPDB API key here.
key="f4635bfa5be867bcd3543064934716df3506bf8dbfe9daaedd896331b465851f0e3049daa6add6d2"
# Choose the appropriate AbuseIPDB category ID depending on what LFD is scanning.
# https://www.abuseipdb.com/categories
categories="18,22"
# Rename arguments for readability.
ports=$2
inOut=$3
message=$6
logs=$7
trigger=$8
# Concatenate details to form a useful AbuseIPDB comment.
comment="${message}; Ports: ${ports}; Direction: ${inOut}; Trigger: ${trigger}; Logs: ${logs}"
curl https://api.abuseipdb.com/api/v2/report \
--data-urlencode "ip=$1" \
-d categories=$categories \
--data-urlencode "comment=$comment" \
-H "Key: $key" \
-H "Accept: application/json"
Kemudian beri permission supaya script dapat dieksekusi.
chmod 700 /usr/local/csf/bin/abuseipdb_block.sh
Selanjutnya edit file /etc/csf/csf.conf
lalu sesuaikan BLOCK_REPORT
dengan path script.
BLOCK_REPORT = "/usr/local/csf/bin/abuseipdb_block.sh"
Restart CSF+LFD untuk menerapkan perubahan.
csf -ra
Referensi: