Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision |
tachtler:fail2map [2016/11/25 06:31] – klaus | tachtler:fail2map [2017/07/28 16:13] – klaus |
---|
====== fail2map ====== | ====== fail2map ====== |
| |
[[tachtler:fail2map|{{:tachtler:index:fail2ban-48x48.png }}]] [[https://github.com/mvonthron/fail2map|fail2map]] ist die grafische Darstellung aller geblockten IP-Adressen von [[http://www.fail2ban.org|fail2ban]] über eine Website mit GEO Daten. Es werden auf einer Weltkarte alle geblockten IP-Adressen anhand deren verfügbarer GEO Daten, lokalisierten und dargestellt. | [[tachtler:fail2map|{{:tachtler:index:fail2ban-48x48.png }}]] [[https://github.com/tachtler/fail2map]] ist die grafische Darstellung aller geblockten IP-Adressen von [[http://www.fail2ban.org|fail2ban]] über eine Website mit GEO Daten. Es werden auf einer Weltkarte alle geblockten IP-Adressen anhand deren verfügbarer GEO Daten, lokalisierten und dargestellt. |
| |
[[http://www.fail2ban.org|fail2ban]] untersucht LOG-Dateien wie z.B. (/var/log/httpd/error.log) und schließt diejenigen IP-Adressen vom Zugriff aus, welche beim Zugriff bestimmt Schlüsselwörter innerhalb des Zugriffes und der Protokollierung innerhalb der LOG-Datei ausweisen. [[http://www.fail2ban.org|fail2ban]] nutzt zum Ausschluss von bestimmten IP-Adressen den Paketfilter [[tachtler:iptables|iptables]] und fügt hierzu gewisse Einträge, zum Regelwerk von [[tachtler:iptables|iptables]] für eine definierte Zeit hinzu. [[http://www.fail2ban.org|fail2ban]] kann gleichzeitig auch bestimmte Aktionen, wie Benachrichtigung per e-Mail auslösen. | [[http://www.fail2ban.org|fail2ban]] untersucht LOG-Dateien wie z.B. (/var/log/httpd/error.log) und schließt diejenigen IP-Adressen vom Zugriff aus, welche beim Zugriff bestimmt Schlüsselwörter innerhalb des Zugriffes und der Protokollierung innerhalb der LOG-Datei ausweisen. [[http://www.fail2ban.org|fail2ban]] nutzt zum Ausschluss von bestimmten IP-Adressen den Paketfilter [[tachtler:iptables|iptables]] und fügt hierzu gewisse Einträge, zum Regelwerk von [[tachtler:iptables|iptables]] für eine definierte Zeit hinzu. [[http://www.fail2ban.org|fail2ban]] kann gleichzeitig auch bestimmte Aktionen, wie Benachrichtigung per e-Mail auslösen. |
===== Voraussetzungen ===== | ===== Voraussetzungen ===== |
| |
Als Voraussetzung für die Installation von [[https://github.com/mvonthron/fail2map|fail2map]] sind folgende Komponenten erforderlich: | Als Voraussetzung für die Installation von [[https://github.com/tachtler/fail2map|fail2map]] sind folgende Komponenten erforderlich: |
* Lauffähiger Web-Server z.B. [[http://httpd.apache.org/|Apache HTTP Server]] | * Lauffähiger Web-Server z.B. [[http://httpd.apache.org/|Apache HTTP Server]] |
* Siehe auch den internen Link: [[tachtler:apache_http_server_centos_7|Apache HTTP Server CentOS 7]] | * Siehe auch den internen Link: [[tachtler:apache_http_server_centos_7|Apache HTTP Server CentOS 7]] |
===== Herunterladen ==== | ===== Herunterladen ==== |
| |
Mit nachfolgendem Befehl kann direkt von [[https://github.com/mvonthron/fail2map|fail2map]] eine gepackte Datei als Archiv direkt in das **temporäre Verzeichnis ''/tmp''** heruntergeladen werden: | Mit nachfolgendem Befehl kann direkt von [[https://github.com/tachtler/fail2map|fail2map]] eine gepackte Datei als Archiv direkt in das **temporäre Verzeichnis ''/tmp''** heruntergeladen werden: |
<code> | <code> |
# wget -P /tmp https://github.com/mvonthron/fail2map/archive/master.zip | # wget -P /tmp https://github.com/tachtler/fail2map/archive/master.zip |
--2016-11-25 05:49:48-- https://github.com/mvonthron/fail2map/archive/master.zip | --2016-11-25 05:49:48-- https://github.com/tachtler/fail2map/archive/master.zip |
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113 | Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113 |
Connecting to github.com (github.com)|192.30.253.112|:443... connected. | Connecting to github.com (github.com)|192.30.253.112|:443... connected. |
HTTP request sent, awaiting response... 302 Found | HTTP request sent, awaiting response... 302 Found |
Location: https://codeload.github.com/mvonthron/fail2map/zip/master [following] | Location: https://codeload.github.com/tachtler/fail2map/zip/master [following] |
--2016-11-25 05:49:49-- https://codeload.github.com/mvonthron/fail2map/zip/master | --2016-11-25 05:49:49-- https://codeload.github.com/tachtler/fail2map/zip/master |
Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120 | Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120 |
Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected. | Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected. |
===== Installation ===== | ===== Installation ===== |
| |
Nachdem [[https://github.com/mvonthron/fail2map|fail2map]] erfolgreich in das Verzeichnis ''/tmp'' heruntergeladen wurden, kann dies mit nachfolgendem Befehl entpackt werden: | Nachdem [[https://github.com/tachtler/fail2map|fail2map]] erfolgreich in das Verzeichnis ''/tmp'' heruntergeladen wurden, kann dies mit nachfolgendem Befehl entpackt werden: |
<code> | <code> |
# unzip /tmp/master.zip | # unzip /tmp/master.zip |
===== Konfiguration: fail2ban ===== | ===== Konfiguration: fail2ban ===== |
| |
Damit die Ereignisse welche zum blocken einer IP-Adresse durch [[http://www.fail2ban.org|fail2ban]] auch in die grafische Darstellung von [[https://github.com/mvonthron/fail2map|fail2map]] einfließen können, ist es erforderlich nachfolgende Änderungen bzw. Ergänzungen in der [[http://www.fail2ban.org|fail2ban]]-Konfiguration durchzuführen. | Damit die Ereignisse welche zum blocken einer IP-Adresse durch [[http://www.fail2ban.org|fail2ban]] auch in die grafische Darstellung von [[https://github.com/tachtler/fail2map|fail2map]] einfließen können, ist es erforderlich nachfolgende Änderungen bzw. Ergänzungen in der [[http://www.fail2ban.org|fail2ban]]-Konfiguration durchzuführen. |
| |
==== /etc/fail2ban/actions.d/fail2map-action.conf ==== | ==== /etc/fail2ban/actions.d/fail2map-action.conf ==== |
:!: **HINWEIS** - In oben genannter Konfigurationsdatei ''/etc/fail2ban/jail.local'' muss nur der Eintrag ''fail2map-action'' angehängt werden! | :!: **HINWEIS** - In oben genannter Konfigurationsdatei ''/etc/fail2ban/jail.local'' muss nur der Eintrag ''fail2map-action'' angehängt werden! |
| |
FIXME | ==== /var/www/fail2map/fail2map.py ==== |
| |
| Um eine andere GEO-Lokalisations API nutzen zu können, kann nachfolgender Eintrag in der Konfigurationsdatei ''/var/www/fail2map/fail2map.py'' wie folgt geändert werden: |
| |
| (**Nur relevanter Ausschnitt**) |
| |
| **__VORHER__**: - **Anbieter**: [[http://www.telize.com/|http://www.telize.com/]] |
| <code python> |
| ... |
| GEOIP_API = "http://www.telize.com/geoip/%s" |
| ... |
| </code> |
| |
| **__NACHHER__**: - **Anbieter**: [[http://ip-api.com/docs/|http://ip-api.com]] |
| <code python> |
| ... |
| # Tachtler |
| # default: GEOIP_API = "http://www.telize.com/geoip/%s" |
| GEOIP_API = "http://ip-api.com/json/%s" |
| ... |
| </code> |
| |
| :!: **WICHTIG** - Der Wechsel der API hat auch eine Änderung des Skripts - ''/var/www/fail2map/fail2map.py'' zur Folge. Die folgende Zeile (**Zeile 32**) muss, wie nachfolgende beschrieben, abgeändert werden: |
| |
| (**Nur relevanter Ausschnitt**) |
| <code python> |
| # Tachtler |
| # default: point["geometry"]["coordinates"] = [float(geo_value['longitude']), float(geo_value['latitude'])] |
| point["geometry"]["coordinates"] = [float(geo_value['lon']), float(geo_value['lat'])] |
| </code> |
| |
| :!: **WICHTIG** - Der Wechsel der API hat auch noch eine Änderung des Skripts - ''/var/www/fail2map/fail2map.py'' zur Folge. Die folgende Zeile (**Zeile 33**) muss, wie nachfolgende beschrieben, abgeändert werden: |
| |
| :!: **HINWEIS** - Die Änderungen erlaubt mehr als nur ASCII-Zeichen im Namen der Stadt und des Landes! |
| |
| (**Nur relevanter Ausschnitt**) |
| <code python> |
| # Tachtler |
| # default: point["properties"]["place"] = "{0}, {1}".format(geo_value.get('city', ''), geo_value.get('country', '')) |
| point["properties"]["place"] = "{0}, {1}".format(geo_value.get('city', '').encode('utf-8'), geo_value.get('country', '').encode('utf-8')) |
| </code> |
| |
| ==== /var/www/fail2map/js/maps.js ==== |
| |
| Falls gewünscht, kann auch die zur Anzeige verwendete "Weltkarte" angepasst werden. Hierzu muss in der Konfigurationsdatei ''/var/www/fail2map/js/maps.js'' nachfolgende Änderung durchgeführt werden: |
| |
| Siehe auch den nachfolgenden externen Link: (mit Beispielen) |
| * [[http://leaflet-extras.github.io/leaflet-providers/preview/|Leaflet Provider Demo]] |
| |
| <code ini> |
| ... |
| // list of tile providers can be seen here: http://leaflet-extras.github.io/leaflet-providers/preview/ |
| baseLayer = L.tileLayer.provider('Thunderforest.Landscape', { |
| // write options and credentials here |
| // id: 'MAPBOX_ID', |
| // accessToken: 'MAPBOX_TOKEN' |
| }).addTo(map); |
| ... |
| </code> |
| |
| ==== Neustart: fail2ban ==== |
| |
Nach Durchführung der vorhergehenden **Konfigurationsschritte**, muss ein Neustart von [[http://www.fail2ban.org|fail2ban]] durchgeführt werden, damit die Änderungen wirksam werden: | Nach Durchführung der vorhergehenden **Konfigurationsschritte**, muss ein Neustart von [[http://www.fail2ban.org|fail2ban]] durchgeführt werden, damit die Änderungen wirksam werden: |
</VirtualHost> | </VirtualHost> |
</code> | </code> |
| |
| ==== Neustart: Apache Webserver ==== |
| |
Nach Durchführung der vorhergehenden **Konfigurationsschritte**, sollte einem **Neustart** nichts im Wege stehen und die **Apache VHOST-Konfiguration** angezogen werden: | Nach Durchführung der vorhergehenden **Konfigurationsschritte**, sollte einem **Neustart** nichts im Wege stehen und die **Apache VHOST-Konfiguration** angezogen werden: |
| |
:!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !** | :!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !** |
| |
| ===== Erster Aufruf ===== |
| |
| Nachfolgender Aufruf zeigt die Ausgabe durch [[https://github.com/tachtler/fail2map|fail2map]]: |
| |
| {{:tachtler:fail2map:fail2map.png|Fail2Map}} |
| |