Nav apraksta

root 389cf1b117 Merge branch 'master' of https://git.symbionet.de/andre/blacklister 4 gadi atpakaļ
README.md d21a104054 extend readme 4 gadi atpakaļ
action.php 7630efec66 add protection 4 gadi atpakaļ
admin.php 462b8bcb6e remove reporting 4 gadi atpakaļ
ban.sql a3db1874a0 aktueller db struktur dump 4 gadi atpakaļ
db.php 3603047484 split classes to files 4 gadi atpakaļ
index.php 462b8bcb6e remove reporting 4 gadi atpakaļ
list.php 462b8bcb6e remove reporting 4 gadi atpakaļ
stats.php 3e12b444ae add protection 4 gadi atpakaļ
token.php 17a9b4909e add admin view 4 gadi atpakaļ

README.md

blacklister

IP collector for blacklists

Installation

Abhängigkeiten

apt-get install libapache2-mod-php default-mysql-server php7.4-mysql git

Source Code

cd WEBROOT git clone https://git.symbionet.de/andre/blacklister.git .

Konfiguration

MySQL

create database DATABASE;
create user 'DBUSER'@localhost identified by 'DBPASS';
grant all privileges on DATABASE.* to 'DBUSER'@localhost;

db.php

Anpassung der Datanbank Zugansdaten in db.php
private $host = 'localhost';
private $user = 'DBUSER';
private $pass = 'DBPASS';
private $db = 'DATABASE';

Admin User anlegen

Token erzeugen

echo "<?php echo bin2hex(random_bytes(16)) . PHP_EOL; ?>" | php
ADMINTOKEN

Token in der Datenbank einpflegen

mysql
use DATABASE;
INSERT INTO clients values('ADMINTOKEN','admin','NAME O. BESCHREIBUNG');

Anwendung

Clients anlegen

Im Webinterface unter /admin.php mit dem Admin Token anmelden:
Role admin: Zugriffsrecht auf das admin Interface
Role reporter: kann IP Adressen eintragen und 3x von der Liste entfernen Role consumer: kann Blocklisten abfragen

IP Adressen reporten

IP Adressen melden kann z.B. als Aktion für fail2ban konfiguriert werden. Über eine REST API können die Adressen via GET Request reportet werden.
wget http(s)://URI/?token=REPORTERTOKEN&ip=IPADRESSE

Blockliste abfragen

Blocklisten werden via REST API ausgeliefert.
wget http(s)://URI/list.php?token=CONSUMERTOKEN