Add README.md
This commit is contained in:
parent
18723f08fb
commit
0db9b490d5
1 changed files with 103 additions and 0 deletions
103
README.md
Normal file
103
README.md
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
# 🛡️ 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.
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
[<a href="README.md">English</a>]
|
||||||
|
[<a href="README_PL.md">Polish</a>]
|
||||||
|
</div>
|
||||||
|
|
||||||
|
- [⚙️ 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)
|
||||||
|
|
||||||
|
## ⚙️ Jak to dokładniej działa?<div id="jak-to-dziala"></div>
|
||||||
|
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.
|
||||||
|
|
||||||
|
## 📋 Wymagania<div id="wymagania"></div>
|
||||||
|
- **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?
|
||||||
|
|
||||||
|
|
||||||
|
### 🛠️ Instalacja wymaganych pakietów<div id="instalacja-wymaganych-pakietow"></div>
|
||||||
|
#### 🌍 Wykonaj aktualizacje repozytoriów i oprogramowania (wysoko zalecane)<div id="wykonaj-aktualizacje-repozytoriow-i-oprogramowania"></div>
|
||||||
|
```bash
|
||||||
|
sudo apt update && sudo apt upgrade -y
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 🌌 Zainstaluj wymagane zależności<div id="zainstaluj-wymagane-zaleznosci"></div>
|
||||||
|
```bash
|
||||||
|
sudo apt install -y curl jq openssl ufw
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🧪 Testowane systemy operacyjne<div id="testowane-systemy-operacyjne"></div>
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
|
||||||
|
## 📥 Instalacja<div id="instalacja"></div>
|
||||||
|
Aby zainstalować to narzędzie, wykonaj poniższą komendę w terminalu (`sudo` jest wymagane):
|
||||||
|
```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.
|
||||||
|
|
||||||
|
|
||||||
|
## 🖥️ Użycie<div id="uzycie"></div>
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
### 🔍 Sprawdzenie statusu usługi<div id="sprawdzenie-statusu-uslugi"></div>
|
||||||
|
Jeśli narzędzie zostało zainstalowane jako usługa systemowa, możesz sprawdzić jej status za pomocą poniższej komendy:
|
||||||
|
```bash
|
||||||
|
sudo systemctl status abuseipdb-ufw.service
|
||||||
|
```
|
||||||
|
|
||||||
|
Aby zobaczyć bieżące logi generowane przez proces, użyj polecenia:
|
||||||
|
```bash
|
||||||
|
journalctl -u abuseipdb-ufw.service -f
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📄 Przykładowe zgłoszenie<div id="przykladowe-zgloszenie"></div>
|
||||||
|
```
|
||||||
|
Blocked by UFW (TCP on port 848).
|
||||||
|
Source port: 42764
|
||||||
|
TTL: 236
|
||||||
|
Packet length: 40
|
||||||
|
TOS: 0x00
|
||||||
|
Timestamp: 2024-08-20 09:06:48 [Europe/Warsaw]
|
||||||
|
|
||||||
|
This report (for 83.222.190.122) was generated by:
|
||||||
|
https://github.com/sefinek24/UFW-AbuseIPDB-Reporter
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 🤝 Rozwój<div id="rozwoj"></div>
|
||||||
|
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ę!
|
||||||
|
|
||||||
|
## 🔑 Licencja MIT<div id="licencja-mit"></div>
|
||||||
|
Copyright 2024 © by [Sefinek](https://sefinek.net). Wszelkie prawa zastrzeżone. Zobacz plik [LICENSE](LICENSE), aby uzyskać więcej informacji.
|
||||||
Loading…
Add table
Reference in a new issue