skip to content

Archiv

Frisches Modul: Watch my Site

Zur Sicherheit ein kleiner Wächter

WebsiteBaker gilt als sehr sicher, aber es kommt doch immer wieder vor, dass irgendwelche Scripte gerade mal halbherzig auf WB portiert wurden oder gar irgendwelche vergessenen "Basteleien" oder externe Scripte auf dem Server herumliegen.

Das Tool "Watch my Site" macht eine ganz banale Sache: Nach  (fast) jedem Aufruf einer beliebigen Seite wird eine von vielen Dateien in einer Liste gechecked, ob sie verändert wurde. Stellt es eine Änderung fest, wird der Administrator per Mail benachrichtigt.
Dabei ist das Tool ist auf möglichst "wenig Stress" programmiert, es belastet weder die Ladezeit noch erfordert es besondere Aufmerksamkeit.
Die Access-Files (alles in "pages") kommen nach und nach in die Liste dazu, weitere Dateien – auch von außen -  können im Backend in die Liste eingefügt werden.

Das unkomplizierte kleine Admin-Tool entstand aus aktuellem Anlass: Eine Site, die ich betreue, wurde gehackt. Einfallstor war eine bereits vorhandene Nicht-WB Bildergalerie, die aus Zeit- und Kostengründen einfach mal belassen wurde.
Das Gemeine daran: Der Hack wurde lange nicht bemerkt, weil der Hacker lediglich die index.php dieser Galerie leicht verändert hat, und zwar so, dass per Javascript allerlei auf den Rechner des Besuchers geladen wurde, wenn dieser einen älteren Browser verwendete.
Wer einen neueren Browser nutzte, bemerkte nur, dass mehr geladen wurde, als eigentlich nötig, weitere Auswirkungen hatte es nicht.
Durch die zuletzt bekannt gewordenen Sicherheitslücken in Acrobat Reader haben sich zudem Hackerangriffe weiter vermehrt. Diese verwenden manipulierte PDFs, und schlängeln sich dabei an den Sicherheitsmechanismen moderner Browser vorbei, was sie sehr gefährlich macht.

Einschränkungen

Erlangt ein Hacker Zugang zur Site, kann er natürlich dieses Tool deaktivieren. Man sollte sich also nicht allzuviel drauf verlassen. Allerdings sind ein Großteil der Hackerangriffe nicht so zielgerichtet, sondern automatisiert. Sprich: Der Hacker weiß oft gar nicht, dass es vorhanden ist; schon gar nicht, wenn er über eine Lücke in einem NICHT-WB Script kommt; dann weiß er gar nicht einmal, dass WB installiert ist. In so einem Fall greift das Tool also. 

Installation:

Zuerst einmal wie üblich im Backend hochladen. Dann muss eine Zeile am besten in der index.php des Templates eingefügt werden:

<?php
if (file_exists(WB_PATH.'/modules/watchmysite/dowatch.inc.php')) {include(WB_PATH.'/modules/watchmysite/dowatch.inc.php');}
?>

Werden mehrere Templates verwendet oder diese öfter gewechselt, kann der selbe Code auch in der index.php im Root der Site ziemlich am Ende eingefügt werden.
Zur Not tut es auch eine Code-Section auf der Startseite.

Mail Probleme?

Das Tool steht unter Admin-Tools. Dort gibt es auch einen kleinen Link [check], mit dem getestet werden kann, ob ein Mail auch ankommt.
Falls nicht: Checken ob die Server-Mail stimmt. Diese ist unter (WB) > Optionen, unten einzustellen. Idealerweise gehört diese eMail-Adresse zur Domain und existiert auch.
Als Empfänger ist zunächst der Admin eingestellt, die Adresse kann aber geändert werden.

Download:

Entweder von hier oder aus den Forum

 

Back

Kommentare:

29.03.2010

egnal

Hallo Chio,
wie immer von Dir: Eine kleine, feine Sache.
Danke und Gruß

30.03.2010

Friedemann

Danke, Chio! Grade mit Blick auf die Backup-Lücke ein großer Beitrag zur Verbesserung des Sicherheitsgefühls...
Aber eine Frage: Welche Dateien wären denn sinnvoll, zusätzlich zu den vorgegebenen gleich händisch einzutragen, wenn man nicht ständig was ändert und damit nicht dauernd alle möglichen Dateien aufruft?
Gruß, Friedemann

PS: Es ist immer wieder eine Freude, hier rumzuschnökern: alleine wegen der Untertitel. "Die Mutter der Bäcker neu geschminkt!" ist einfach köstlich.

31.03.2010

Chio

Wenn du Dateien hast, die NICHT zu WB gehören, kannst du die auch reinhängen. Ich warte leider immer noch auf Tipps der Gurus, was man sonst noch machen kann. Ich denke daran, bei einer der nächsten Versionen einen Snapshot aller Dateien und Ordner, die im Root sind zu machen, damit auch "neue" entdeckt werden.
Sicherheitsspezialist bin ich aber leider nicht und man muss daran denken, dass jeder, der (Admin)Zugang hat auch das Tool deaktivieren kann, wenn er sich mit WB auskennt.
Sicherheitsmäßig ist das Tool eher ein Fahrradschloss als eine Panzertür - aber besser als gar nix. ;-)

Ahja: Bei der Backup-Lücke hätte das Teil nicht viel geholfen...

05.04.2010

Alexander1951

Im Prinzip ein tolles Tool; werde es aber erst dann einsetzen, wenn es einen gewissen "Reife-Grad" erreicht hat. Es müßte sowas wie einen "Reset-Knopf" geben, damit man es, z.B. nach einem WB-Update, auf Null bzw. Neuanfang setzen kann. Werde dieses schöne Teil scharf im Auge behalten ;-)

05.04.2010

Chio

Es HAT einen reset-Knopf: Erweiterungen -> Module -> erweitert: install.php von watchmysite aufrufen. Und schon ist alles neu.
Mehr Luxus verdirbt den Charakter ;-)

12.04.2010

Alexander1951

Oh,ja, Danke! Sehr erfreulich. So find ich das OK. Die normale De-, dann Neu-Installation (irgendwo hatte ich das gelesen) wäre mir zu umständlich gewesen. Nun kann ich ja loslegen.

Kommentar

Name:

E-Mail (required, not public):

Webseite:

Kommentar :

Up
K