diff --git a/README.md b/README.md index effb500..621490c 100644 --- a/README.md +++ b/README.md @@ -1,88 +1,88 @@ # 🛡️ UFW AbuseIPDB Reporter -Narzędzie, które analizuje logi firewalla UFW i zgłasza złośliwe adresy IP do bazy danych [AbuseIPDB](https://www.abuseipdb.com). -Jeśli planujesz wprowadzić zmiany w którymkolwiek z plików tego repozytorium, utwórz najpierw jego publiczny fork. +A tool that analyzes UFW firewall logs and reports malicious IP addresses to the [AbuseIPDB](https://www.abuseipdb.com) database. +If you plan to make changes to any of the files in this repository, please create a public fork first.
[English] [Polish]
-- [⚙️ Jak to dokładniej działa?](#jak-to-dziala) -- [📋 Wymagania](#wymagania) - - [🛠️ Instalacja wymaganych pakietów](#instalacja-wymaganych-pakietow) - - [🌍 Wykonaj aktualizacje repozytoriów i oprogramowania](#wykonaj-aktualizacje-repozytoriow-i-oprogramowania) - - [🌌 Zainstaluj wymagane zależności](#zainstaluj-wymagane-zaleznosci) - - [🧪 Testowane systemy operacyjne](#testowane-systemy-operacyjne) -- [📥 Instalacja](#instalacja) -- [🖥️ Użycie](#uzycie) - - [🔍 Sprawdzenie statusu usługi](#sprawdzenie-statusu-uslugi) - - [📄 Przykładowe zgłoszenie](#przykladowe-zgloszenie) -- [🤝 Rozwój](#rozwoj) -- [🔑 Licencja MIT](#licencja-mit) +- [⚙️ How does it work in detail?](#how-it-works) +- [📋 Requirements](#requirements) + - [🛠️ Installing required packages](#installing-required-packages) + - [🌍 Perform repository and software updates](#perform-repository-and-software-updates) + - [🌌 Install required dependencies](#install-required-dependencies) + - [🧪 Tested operating systems](#tested-operating-systems) +- [📥 Installation](#installation) +- [🖥️ Usage](#usage) + - [🔍 Checking service status](#checking-service-status) + - [📄 Example report](#example-report) +- [🤝 Development](#development) +- [🔑 MIT License](#mit-license) -## ⚙️ Jak to dokładniej działa?
-1. **Monitorowanie logów UFW:** Narzędzie stale śledzi logi generowane przez firewall UFW, poszukując prób nieautoryzowanego dostępu lub innych podejrzanych działań. -2. **Analiza zgłoszonego adresu:** Po zidentyfikowaniu podejrzanego adresu IP, skrypt sprawdza, czy adres ten został już wcześniej zgłoszony. -3. **Zgłaszanie IP do AbuseIPDB:** Jeśli IP spełnia kryteria, adres jest zgłaszany do bazy danych AbuseIPDB wraz z informacjami o protokole, porcie źródłowym i docelowym itd. -4. **Cache zgłoszonych IP:** Narzędzie przechowuje listę zgłoszonych IP w pliku tymczasowym, aby zapobiec wielokrotnemu zgłaszaniu tego samego adresu IP w krótkim czasie. +## ⚙️ How does it work in detail?
+1. **Monitoring UFW logs:** The tool continuously monitors logs generated by the UFW firewall, looking for unauthorized access attempts or other suspicious activities. +2. **Analyzing the reported address:** After identifying a suspicious IP address, the script checks if the address has already been reported. +3. **Reporting IP to AbuseIPDB:** If the IP meets the criteria, the address is reported to the AbuseIPDB database with information about the protocol, source port, destination port, etc. +4. **Cache of reported IPs:** The tool stores a list of reported IPs in a temporary file to prevent multiple reports of the same IP address in a short period. -## 📋 Wymagania
-- **System operacyjny:** Linux z zainstalowanym i skonfigurowanym firewallem UFW. -- **Konto AbuseIPDB:** Wymagane jest konto w serwisie AbuseIPDB [z ważnym tokenem API](https://www.abuseipdb.com/account/api). Token API jest niezbędny. -- **Zainstalowane pakiety:** - - `wget` lub `curl`: Jedno z tych narzędzi jest wymagane do pobrania [skryptu instalacyjnego](install.sh) z repozytorium GitHub oraz do wysyłania zapytań do API AbuseIPDB. - - `jq`: Narzędzie do przetwarzania i parsowania danych w formacie JSON, zwracanych przez API AbuseIPDB. - - `openssl`: Używane do kodowania i dekodowania tokena API, aby zabezpieczyć dane uwierzytelniające. - - `tail`, `awk`, `grep`, `sed`: Standardowe narzędzia Unixowe wykorzystywane do przetwarzania tekstu i analizy logów. -- **Połączenie z Internetem:** Hm, wydaje, mi się, że jest to oczywiste, prawda? +## 📋 Requirements
+- **Operating System:** Linux with UFW firewall installed and configured. +- **AbuseIPDB Account:** An account on the AbuseIPDB service [with a valid API token](https://www.abuseipdb.com/account/api). The API token is required. +- **Installed packages:** + - `wget` or `curl`: One of these tools is required to download the [installation script](install.sh) from the GitHub repository and to send requests to the AbuseIPDB API. + - `jq`: A tool for processing and parsing JSON data returned by the AbuseIPDB API. + - `openssl`: Used to encode and decode the API token to secure authentication data. + - `tail`, `awk`, `grep`, `sed`: Standard Unix tools used for text processing and log analysis. +- **Internet connection:** Hm, I think it's obvious, right? -### 🛠️ Instalacja wymaganych pakietów
-#### 🌍 Wykonaj aktualizacje repozytoriów i oprogramowania (wysoko zalecane)
+### 🛠️ Installing required packages
+#### 🌍 Perform repository and software updates (highly recommended)
```bash sudo apt update && sudo apt upgrade -y ``` -#### 🌌 Zainstaluj wymagane zależności
+#### 🌌 Install required dependencies
```bash sudo apt install -y curl jq openssl ufw ``` -### 🧪 Testowane systemy operacyjne
+### 🧪 Tested operating systems
- Ubuntu Server 20.04/22.04 -Jeśli dystrybucja, na której uruchomiłeś narzędzie, nie znajduje się na tej liście, a skrypt działa poprawnie, utwórz nowy Issue. Dodam jej nazwę tu. +If the distribution you're running the tool on isn't listed here and the script works correctly, please create a new Issue. I'll add its name here. -## 📥 Instalacja
-Aby zainstalować to narzędzie, wykonaj poniższą komendę w terminalu (`sudo` jest wymagane): +## 📥 Installation
+To install this tool, run the following command in the terminal (`sudo` is required): ```bash sudo bash -c "$(curl -s https://raw.githubusercontent.com/sefinek24/UFW-AbuseIPDB-Reporter/main/install.sh)" ``` -Skrypt instalacyjny automatycznie pobierze i skonfiguruje narzędzie na Twoim serwerze. Podczas instalacji zostaniesz poproszony o podanie tokena API z AbuseIPDB. +The installation script will automatically download and configure the tool on your server. During installation, you will be asked to provide an AbuseIPDB API token. -## 🖥️ Użycie
-Po pomyślnej instalacji skrypt będzie działać cały czas w tle, monitorując logi UFW i automatycznie zgłaszając złośliwe adresy IP. -Narzędzie nie wymaga dodatkowych działań użytkownika po instalacji. Warto jednak od czasu do czasu sprawdzić jego działanie oraz aktualizować skrypt na bieżąco (wywołując polecenie instalacyjne). -Jeśli jednak chcesz mieć pewność, że wszystko działa prawidłowo, możesz pójść sobie wypić piwo. Po skończonym alkoholizowaniu się sprawdź, czy jest wszystko ok. +## 🖥️ 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). +If you want to be sure that everything is working properly, you can go and have a beer. After finishing your drink, check if everything is okay. -Serwery otwarte na świat są nieustannie skanowane przez boty, które zazwyczaj szukają podatności lub jakichkolwiek innych luk w zabezpieczeniach. -Więc nie zdziw się, jeśli następnego dnia liczba zgłoszeń na AbuseIPDB przekroczy tysiąc. +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. -### 🔍 Sprawdzenie statusu usługi
-Jeśli narzędzie zostało zainstalowane jako usługa systemowa, możesz sprawdzić jej status za pomocą poniższej komendy: +### 🔍 Checking service status
+If the tool was installed as a system service, you can check its status using the following command: ```bash sudo systemctl status abuseipdb-ufw.service ``` -Aby zobaczyć bieżące logi generowane przez proces, użyj polecenia: +To see the current logs generated by the process, use the command: ```bash journalctl -u abuseipdb-ufw.service -f ``` -### 📄 Przykładowe zgłoszenie
+### 📄 Example report
``` Blocked by UFW (TCP on port 848). Source port: 42764 @@ -96,8 +96,8 @@ https://github.com/sefinek24/UFW-AbuseIPDB-Reporter ``` -## 🤝 Rozwój
-Jeśli chcesz przyczynić się do rozwoju tego projektu, śmiało stwórz nowy [Pull request](https://github.com/sefinek24/UFW-AbuseIPDB-Reporter/pulls). Z pewnością to docenię! +## 🤝 Development
+If you want to contribute to the development of this project, feel free to create a new [Pull request](https://github.com/sefinek24/UFW-AbuseIPDB-Reporter/pulls). I will definitely appreciate it! -## 🔑 Licencja MIT
-Copyright 2024 © by [Sefinek](https://sefinek.net). Wszelkie prawa zastrzeżone. Zobacz plik [LICENSE](LICENSE), aby uzyskać więcej informacji. \ No newline at end of file +## 🔑 MIT License
+Copyright 2024 © by [Sefinek](https://sefinek.net). All rights reserved. See the [LICENSE](LICENSE) file for more information. \ No newline at end of file