Brak opisu

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

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