So analysieren Sie die Apache-Protokolldatei mit GoAccess

So analysieren Sie die Apache-Protokolldatei mit GoAccess Fügen Sie mit GoAccess eine terminal- und webbasierte Apache access.log-Ansicht hinzu.

Im Namen der Sicherheit geht es uns umso besser, je mehr Informationen wir über unsere Systeme haben. Manchmal stehen diese Informationen nicht in direktem Zusammenhang mit der Sicherheit, manchmal auch nicht. Ein typisches Beispiel: Der Apache-Webserver. Es gibt eine Datei mit dem Namen access.log, die wichtige Informationen darüber anzeigt, was mit dem Webserver geschieht.

In der Datei Apache access.log werden Informationen zu Ereignissen gespeichert, die auf dem Apache-Webserver auftreten. Zu diesen Informationen können die IP-Adresse des Besuchers, angezeigte Seiten, Statuscodes, verwendete Browser und mehr gehören.

Das Durchsuchen von textbasierten Protokolldateien kann jedoch umständlich sein, insbesondere wenn sich Ihre Verwaltungsaufgaben ständig häufen. Was machst du zu diesem Zweck? Sie können sich jederzeit an ein Tool wie GoAccess wenden.

GoAccess ist sowohl ein terminal- als auch ein webbasiertes Echtzeit-Dashboard zum Lesen der Datei Apache access.log. Ich werde Sie durch den Prozess der Installation von GoAccess unter Ubuntu Server 19.10 unter Apache 2 führen.

Windows 10-Sicherheit: Ein Leitfaden für Führungskräfte (TechRepublic Premium)

Was du brauchen wirst

Die einzigen Dinge, die Sie benötigen, um GoAccess auf Ihrem System auszuführen, sind die folgenden:

  • Eine laufende Instanz von Ubuntu Server mit installiertem Apache 2

  • Ein Benutzerkonto mit Sudo-Zugriff

So installieren Sie Abhängigkeiten

Als erstes müssen die erforderlichen Abhängigkeiten installiert werden. Öffnen Sie dazu ein Terminalfenster und geben Sie den folgenden Befehl ein:

 sudo apt-get install libncursesw5-dev gcc macht libgeoip-dev libtokyocabinet-dev build-essential -y 

Danach können Sie GoAccess installieren.

So installieren Sie GoAccess

Laden Sie zum Installieren von GoAccess die erforderliche TAR-Datei mit dem folgenden Befehl herunter:

 wget http://tar.goaccess.io/goaccess-1.3.tar.gz 

Extrahieren Sie die Datei mit dem Befehl:

 tar xvzf goaccess-1.3.tar.gz 

Wechseln Sie mit dem folgenden Befehl in das neu erstellte Verzeichnis:

 cd goaccess-1.3 

Installieren Sie mit den folgenden Befehlen:

 sudo ./configure --enable-utf8 --enable-geoip = Legacy-Sudo make sudo make install 

So führen Sie GoAccess aus

Jetzt führen wir GoAccess im Terminal aus. Geben Sie dazu den folgenden Befehl ein:

 sudo goaccess /var/log/apache2/access.log --log-format = KOMBINIERT 

In GoAccess sollten jetzt Echtzeitdaten aus Ihrer access.log-Datei im Terminal angezeigt werden ( Abbildung A ).

Abbildung A.

The Goaccess real-time display.

" data-credit="" rel="noopener noreferrer nofollow">

Die Goaccess-Echtzeitanzeige.

Sie können durch die untere Hälfte des Bildschirms scrollen, um die verschiedenen Abschnitte der Protokolldatei anzuzeigen. Scrollen Sie beispielsweise nach unten, um die Liste der Besucher-Hostnamen und IPs anzuzeigen ( Abbildung B ).

Abbildung B.

Hostnames and IPs listed.

" data-credit="" rel="noopener noreferrer nofollow">

Hostnamen und IPs aufgelistet.

Um GoAccess zu verlassen, drücken Sie Q auf Ihrer Tastatur.

So zeigen Sie das Web-Dashboard an

Jetzt führen wir GoAccess so aus, dass das webbasierte Dashboard angezeigt wird. Abgesehen davon, dass das webbasierte Dashboard weitaus hübscher und leichter zu lesen ist, besteht der Hauptunterschied zwischen beiden darin, dass das Terminal-Dashboard in Echtzeit ausgeführt wird, während das Web-Dashboard aus dem vom Befehl generierten Bericht gelesen wird. Geben Sie dazu den folgenden Befehl ein:

 sudo goaccess /var/log/apache2/access.log --log-format = COMBINED -a -o /var/www/html/report.html 

Sie sollten Ihre Terminal-Eingabeaufforderung zurückerhalten. Öffnen Sie einen Webbrowser und verweisen Sie auf http: //SERVER_IP/report.html (wobei SERVER_IP die IP-Adresse des Servers ist, auf dem GoAccess und Apache gehostet werden). Sie sollten die Informationen in einem benutzerfreundlichen Format sehen ( Abbildung C ).

Abbildung C.

The static web-based dashboard.

" data-credit="" rel="noopener noreferrer nofollow">

Das statische webbasierte Dashboard.

So erhalten Sie Pseudo-Echtzeit-Updates

Um aktualisierte Statistiken auf Ihrem Server zu erhalten, müssen Sie den Befehl goaccess ein zweites Mal ausführen. Die einzige Möglichkeit, regelmäßige Updates zu erhalten, besteht darin, ein Bash-Skript zu erstellen und es jede Minute oder so als Cronjob ausführen zu lassen. Erstellen Sie dazu ein Bash-Skript mit folgendem Inhalt:

 ! # / bin / bash sudo goaccess /var/log/apache2/access.log --log-format = COMBINED -a -o /var/www/html/report.html 

Speichern Sie diese Datei im Home-Verzeichnis Ihres Benutzers. Erstellen Sie als Nächstes einen Crontab-Eintrag mit dem folgenden Befehl:

 sudo crontab -e 

Der Cron-Eintrag (um den Befehl jede Minute auszuführen) könnte folgendermaßen aussehen:

 * * * * * /home/USERNAME/goaccess.sh 

Wobei USERNAME der Name eines Benutzers auf Ihrem System ist.

Mit diesem Crontab-Eintrag wird jede Minute die Datei report.html mit den neuen Daten aktualisiert.

Sie haben jetzt die Möglichkeit, den Inhalt Ihres Apache access.log einfach anzuzeigen. Behalten Sie jeden Aspekt Ihres Webservers im Auge, damit Sie ein bisschen mehr Sicherheit genießen können.

Cybersecurity Insider Newsletter

Stärken Sie die IT-Sicherheitsabwehr Ihres Unternehmens, indem Sie sich über die neuesten Nachrichten, Lösungen und Best Practices zur Cybersicherheit auf dem Laufenden halten. Lieferung dienstags und donnerstags

Heute anmelden

© Copyright 2021 | pepebotifarra.com