|
|
@@ -1,2 +1,48 @@
|
|
|
-# blacklister
|
|
|
+# 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
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|