Für alle Webmaster/innen stellt sich die Frage der Sicherheit beim Betrieb eines eigenen Servers egal ob auf einem Open Source Betriebssystem wie eine Linux Distribution oder einem kommerziellen Betriebssystem. Das keine Sicherheitslücken “offen” sind und von Angreifern ausgenutzt werden können, dafür sorgt das regelmäßige installieren von relevanten Sicherheitsupdates. Doch was tun gegen Spammer welche sich z.B. in Internet Communities und Foren einloggen und z.B. über private Nachrichten Systeme Werbemails und SPAM Nachrichten verbreiten?
Aktivitäten einfach loggen
Es hat sich in der Praxis für viele Webmaster als praktisch gezeigt, dass nicht nur durch Tracking Services sondern per PHP Skript essentielle Visitor Daten in ein Audit.log gespeichert werden um im Bedarfsfall eindeutig zu belegen, welcher Benutzer sich mit welcher IP Adresse wann auf eine Internet Seite zugegriffen hat. Als Basis Beispiel dient hier das Apache Server Access_log (Zugriffs Protokolldatei, Standard des Apache Webservers).
Aufbau eines Security Log Skripts
Vorab ist der Aufbau so eines Skripts relativ einfach und logisch. Anbei copy/paste fertig ein Beispiel Code:
<?php
// location of the text file that will log all the ip adresses
$file = ‘audit.log’;
// ip address of the visitor
$ipadress = $_SERVER['REMOTE_ADDR'];
// date of the visit that will be formated this way: 29/May/2011 12:20:03
$date = date(‘d/F/Y h:i:s’);
// name of the page that was visited
$webpage = $_SERVER['SCRIPT_NAME'];
// in case of using php auth function username will be logged
$PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER'];
// shows the referer url from which visitors came from
$HTTP_REFERER = $_SERVER['HTTP_REFERER'];
// visitor’s browser information
$browser = $_SERVER['HTTP_USER_AGENT'];
// Opening the text file and writing the visitor’s data
$fp = fopen($file, ‘a’);
fwrite($fp, $ipadress.’ – ['.$date.'] ‘.$webpage.’ ‘.$PHP_AUTH_USER.’ ‘.$HTTP_REFERER.’ ‘.$browser.”\r\n”);
?>
Diesen Code fügt man in eine neue PHP Datei ein die wir nennen: audit.php
Integration von audit.php in deine Webseite
Beim Implementieren der Audit.php Routine in Deine Webseite ist es wichtig, dass Du dies in eine Datei einbindest welche immer aufgerufen wird, wenn die Internet Seite geladen wird. Logischerweise bietet sich eine Header.php oder eine Footer.php (Namen sind nur beispielhaft, es ist die Kopf- bzw. Fußdatei einer Webseite gemeint) an.
In unserem Beispiel binden wird die Audit.php in die Header.php ein und das macht man wie folgt:
Screenshot aus Header.php – der Code wird am Ende der Datei eingefügt:
Copy/paste fertig:
<?
include “audit.php”;
?>
Im letzten Schritt muss man noch eine Text Datei auf seinem Webserver erstellen und die wird audit.log genannt. Bei Linux unbedingt 777 (volle Schreibrechte) auf diese Datei setzen und vergeben. Nur so kann diese auch vom Skript “beschrieben” werden mit den Daten:
Ratgeberin Tipp: Ihr könnt das obige Skript übrigens noch mit verschiedenen Variablen ergänzen welche PHP 5.x standardmäßig verwendet wenn es um User Infos geht. Eine tolle Seite mit Variables findet ihr hier:
http://www.php.net/manual/de/reserved.variables.server.php
Nutzen & Fazit unseres erstellten PHP Skripts:
Loggt sich ein User in Deine Community oder Webseiten Projekt ein und treibt dort Unfug wie das unerlaubte Versenden von Werbe Nachrichten oder das Beleidigen anderer Mitglieder, so kann mit dem Audit.log bewiesen werden, von welcher IP, wann welche Aktion durchgeführt wurde. Spammer haben somit einen Grund mehr, sich zu fürchten. Profis benutzen für Ihre Spam Aktionen in der Regel Proxies trotzdem fühlt man sich als Webseiten Betreiber/in etwas sicherer, wenn Aktivitäten protokolliert werden um im Ernstfall nicht komplett ohne Logs dazustehen.
Weißt euer Nutzer/innen in den AGBs der Webseite darauf hin, welche Daten, wann gespeichert werden.