A tool (with a simple installer) that monitors UFW firewall logs in real time and reports IP addresses to the AbuseIPDB database.
Find a file
2024-12-25 01:03:26 +01:00
.github Create FUNDING.yml 2024-10-31 21:11:19 +01:00
.idea Node.js version (not finished yet) 2024-12-19 14:58:18 +01:00
services Fix 2024-12-25 00:42:06 +01:00
utils srcIp === getServerIP() 2024-12-25 00:14:15 +01:00
.gitignore Node.js version (not finished yet) 2024-12-19 14:58:18 +01:00
default.config.js Fix 2024-12-25 00:40:19 +01:00
ecosystem.config.js Update README.md etc 2024-12-19 15:55:58 +01:00
eslint.config.mjs Update README.md etc 2024-12-19 15:55:58 +01:00
index.js Fixes 2024-12-25 01:03:26 +01:00
LICENSE Change to GPL-3.0 2024-10-27 13:49:17 +01:00
package-lock.json 0.1.0 2024-12-19 15:28:49 +01:00
package.json Quality fixes 2024-12-24 23:47:58 +01:00
README.md Update README.md etc 2024-12-19 16:02:11 +01:00

🛡️ UFW AbuseIPDB Reporter

A utility designed to analyze UFW firewall logs and report malicious IP addresses to the AbuseIPDB database.
To prevent redundant reporting of the same IP address within a short period, the tool uses a temporary cache file to track previously reported IPs.

If you like this repository or find it useful, I would greatly appreciate it if you could give it a star . Thanks a lot!
See also this: sefinek/Cloudflare-WAF-To-AbuseIPDB

Important

If you'd like to make changes to any files in this repository, please start by creating a public fork.

📋 Requirements

📥 Installation

cd ~
git clone https://github.com/sefinek/UFW-AbuseIPDB-Reporter.git
cd UFW-AbuseIPDB-Reporter
npm install
cp default.config.js config.js
sudo chmod 644 /var/log/ufw.log
node .
^C
npm uninstall corepack -g
npm install pm2 -g
sudo mkdir /var/log/ufw-abuseipdb
sudo chown $USER:$USER /var/log/ufw-abuseipdb -R
pm2 start
pm2 startup
[Paste the command generated by pm2 startup]
pm2 save

🖥️ Usage

After successful installation, the script will run continuously in the background, monitoring UFW logs and automatically reporting malicious IP addresses. The tool requires no additional user action after installation. However, it's worth occasionally checking its operation and updating the script regularly (by running the installation command).

Servers open to the world are constantly scanned by bots, usually looking for vulnerabilities or other security gaps. So don't be surprised if the next day, the number of reports to AbuseIPDB exceeds a thousand.

🔍 Checking logs

pm2 logs ufw-abuseipdb

📄 Example report

Blocked by UFW on vserver1 [80/tcp]
Source port: 23639
TTL: 247
Packet length: 40
TOS: 0x00

This report (for 45.156.129.52) was generated by:
https://github.com/sefinek/UFW-AbuseIPDB-Reporter

🤝 Development

If you want to contribute to the development of this project, feel free to create a new Pull request. I will definitely appreciate it!

🔑 GPL-3.0 License

Copyright 2024 © by Sefinek. All rights reserved. See the LICENSE file for more information.