Welcome, Guest. Please login or register.
Did you miss your activation email?
May 26, 2012, 05:17:52 AM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155533 Posts in 21713 Topics by 7739 Members
Latest Member: audillino
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Kleines AdminTool: Watch My Site, checkt laufend, ob Dateien verändert wurden  (Read 1912 times)
chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« on: March 04, 2010, 03:38:16 PM »

Jo,
Nachdem sich in der letzten Zeit (Dank Sicherheitslücken im Acrobat Reader) Hacker-Angriffe wieder vermehren, habe ich ein kleines Admin-Tool gebastelt, das reihum eine Reihe von Dateien überprüft (MD5)  und bei Änderungen den Admin benachrichtigt.

Zur Klarstellung: WB gilt als sehr sicher, und das Teil hat auch keinen Einfluss darauf (hoffentlich keinen negativen..)
Aber es kommt doch immer wieder vor, dass über irgendwelche Seiteneingänge subtile iFrames udgl. in die Files kommen - und das merkt man selbst oft nicht, solange man nicht den "falschen" Browser verwendet.

Ich habe es derzeit "zur Beobachtung" auf ein paar Sites laufen. Aber wer mitbeobachten will, ist herzlich eingeladen:

Die Installation ist schmerzlos:
Entweder wie üblich oder per FTP + von Backend aus install.php aufrufen.
DANN: in die WB/index.php (also die im Root der Domain) ganz unten einfügen:
include(WB_PATH.'/modules/watchmysite/dowatch.inc.php');
Zum Schluss eine beliebige Seite aufmachen und ein paar mal F5 drücken.

Für Vorschläge bin ich natürlich offen, und wenn jemand die prozedurale Wurst in ein paar Funktionen oder gar schicke Objekterl aufteilen will - gerne! wink

Ein Hinweis noch: Das Teil überprüft ob Dateien seit dem letzten (ersten!)  Mal verändert wurden. Bei bereits infizierten Dateien hilft das natürlich nichts.


//Edit:
Version 0.4:
eMail des Empfängers kann geändert werden
Testmail kann gesendet werden
Diverse Feinheiten
« Last Edit: March 19, 2010, 01:59:15 PM by chio » Logged

*weg*
Waldschwein
Guest
« Reply #1 on: March 04, 2010, 04:15:45 PM »

Hallo!

Erstmal finde ich es wirklich toll, ich versuche mich (mittlerweile schon etwas länger...) an einem Check für die Stable-Versionen, aber das hier ist finde ich deutlich sinnvoller.
Auch auf dem etwas eigenwilligen All-Inkl Webspace (da geht halt Sicherheit vor...) klappt es gut.

Eine kleine Anmerkung: Nachdem ein Fehler entdeckt wurde steht dort "Remove". Der unbedarfte Benutzer denkt wohl gleich "oh, da kann ich gleich den Fehler raushauen" - und kümmert sich evtl. nicht mehr drum. Vielleicht das ganze etwas "deutlicher" machen, z.B. mit einem Hinweis "Sind Sie sicher, dass Sie die Änderungen selbst gemacht haben?".

Sehr gut finde ich, dass er automatisch die Template-Index errät.

Tante Edith meint, dass gerade auch eine E-Mail reingeflattert ist, bei einer Änderung (die natürlich nur zu Testzwecken bewusst gemacht wurde).

Gruß Michael
« Last Edit: March 04, 2010, 04:18:21 PM by Waldschwein » Logged
instantflorian
Betatester
*
Offline Offline

Posts: 804



WWW
« Reply #2 on: March 04, 2010, 04:19:58 PM »

Hallo,

geniales, göttliches, brillantes Tool, sollte in den Core von 2.8.2 aufgenommen werden. Vielen, vielen Dank.

Funktioniert erstens auch mit 2.7 und zweitens sogar bei Goneo, wenn man die obligatorische php.ini (zum Mailversand) ins Verzeichnis watchmysite legt.

Grüße
-instantflorian.

Logged
chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« Reply #3 on: March 04, 2010, 04:42:19 PM »

Eine kleine Anmerkung: Nachdem ein Fehler entdeckt wurde steht dort "Remove". Der unbedarfte Benutzer denkt wohl gleich "oh, da kann ich gleich den Fehler raushauen" - und kümmert sich evtl. nicht mehr drum.

Bei einem Fehler steht "Reset". Da sind eigentlich Icons geplant, aber das war mir momentan zuviel Arbeit...

Die Access-Files werden momentan noch nicht gecheckt. Das halte ich fürs erste auch nicht so wichtig, weil ein Hacker wohl kaum auf die Access-Files gehen wird OHNE die ganzen index.php's anzurühren. Die Access-Files - denke ich - sollte man auch nicht über den Hash-Wert checken, sondern nur "formal". Nur weiß ich noch nicht wie. Die sind ja verschieden je nach WB-Version.
Wie könnte man das machen?

Wie stellt man eigentlich am einfachsten fest, von welchen Access-File aus die index.php aufgerufen wurde? Die Datenbank abfragen - das kanns ja wohl nicht sein...

//EDIT: Google hilft weiter wink if(isset($_SERVER["PHP_SELF"]))  {...
« Last Edit: March 04, 2010, 05:27:02 PM by chio » Logged

*weg*
wollinche
Guest
« Reply #4 on: March 04, 2010, 06:04:28 PM »

Dateien überprüft (MD5)  und bei Änderungen den Admin benachrichtigt.
...
Für Vorschläge bin ich natürlich offen,
Einen Vorschlag hätte ich.
Das Script schreibt in die MySql-DB (einen MD5-Wert)
MD5 bestehen aus 32 Zeichen die eine Hexadezimalnummer darstellen.
Also aus den Zeichen 0 bis 9, a, b, c, d, e und f
Ich würde über eine Regexp prüfen das:
a) nicht mehr als 32 Zeichen
und
b) nicht andere Zeichen als die 16 bei HEX-Werten üblichen in die DB geschrieben werden können.

Nur so ein Gedanke ...


Logged
dbs
WebsiteBaker Org e.V.

Offline Offline

Posts: 3719


WWW
« Reply #5 on: March 04, 2010, 06:25:31 PM »

das scheint mit der index.php der rev.1299 nicht zu funktionieren...

ansonsten klappt es prima, auch mit mail.  smiley

dbs
Logged

chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« Reply #6 on: March 06, 2010, 06:31:25 PM »

So, Version 0.2 ist oben.

Das:
include(WB_PATH.'/modules/watchmysite/dowatch.inc.php');
kann man auch ins Template kopieren.

Was ist neu:
Es werden jetzt nach und nach auch die access-files  in die Liste aufgenommen.
Optik ist ein bissel aufgepeppt.

Da habe ich noch Schwierigkeiten:
Das Tool funktioniert natürlich nur, wenn die Site insgesamt noch intakt ist. Im Falle von "defacement" also NICHT mehr.
Deswegen gibt es auch noch die Datei /modules/watchmysite/status.php
Die könnte man per Cron-Job regelmäßig abholen, oder man macht sich irgendwo - auf einer anderen Site - einen kleinen iFrame mit der Seite drin.

Oder so. Aber vielloeicht sagt ja einer der Gurus was dazu wink

Logged

*weg*
pcwacht
AddOn Development
*
Offline Offline

Posts: 2859



WWW
« Reply #7 on: March 07, 2010, 11:44:06 AM »

Vielleicht auch im Englischer forum bekannt machen?
Nicht jeder spricht Deutsch Wink

john
Logged

http://www.ictwacht.nl = Dutch ICT info
http://www.pcwacht.nl = My first
both still work in progress, since years.....
BakerFan

Offline Offline

Posts: 8


« Reply #8 on: March 07, 2010, 07:46:47 PM »

Wow, vielen Dank, da habe ich als Newbie auch die Chance zu sehen wenn etwas im Argen kiegt, würde mir sonst sicher kaum auffallen.  grin

Frage: bestimmt kommt ja irgendwann mal ein Update zu dem genialen Tool, wie installiere ich das dann, einfach über die alte Version oder die vorher löschen?

Danke.
Logged
chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« Reply #9 on: March 08, 2010, 10:45:07 AM »

Ganz unkritisch, einfach drüber installieren.
Logged

*weg*
chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« Reply #10 on: March 19, 2010, 02:09:05 PM »

Ich habe Version 0.4 hochgeladen (siehe ganz oben)

Neu: die eMail-Adresse des Empfängers kann geändert werden. (Wird am "@" erkannt, man kann also jetzt keine Dateien zur Beobachtung anhängen, die ein @ enthalten.) Zurücksetzen übrigens: nur "@" eingeben.

Ein Schalter [Check], mit dem ein Testmail abgesendet wird.

Diverse Änderungen in den Hinweisen und Sprachfiles.

Ich habe das Ding jetzt auf etlichen Domains am laufen und habe festgestellt, dass Mail oft nicht funktioniert, wenn in den Option unter SERVER_EMAIL keine eMail-Adresse steht, die zur Domain gehört bzw existiert.
Logged

*weg*
chio
WebsiteBaker Org e.V.

Offline Offline

Posts: 2264


« Reply #11 on: March 19, 2010, 07:15:56 PM »

Da ist GMX nicht mal schlimm. Auf vielen Servern wird das Mail nicht mal abgeschickt, wenn die Absender-Adresse nicht existiert.
Logged

*weg*
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!