CronCheck - WebsiteBaker helper script

Als je een publieke website beheert ontkom je er tegenwoordig helaas niet meer aan. Er zijn hackers in deze wereld.
Ook al doe je nog zo je best, vroeg of laat kan ook uw website gehacked of geinfecteerd worden met malware.

Als het dan een keer gebeurd is het wel fijn om dat snel te weten en een overzicht te hebben van wat er precies is veranderd.

Met dit script, in combinatie met de CRON functionaliteit van uw server kunt u uw website perfect controleren.

Het script scant alle bestanden van uw website en vergelijkt die met de vorige scan resultaten.
Alle gevonden verschillen worden via een email aan u (de website beheerder) gerapporteerd.

Om te kunnen functioneren moet uw website de beschikking hebben over zogenaamde cron-jobs. Hiermee kunt u op bepaalde tijden of intervallen een php script uitvoeren.
Omdat dit als een aparte php sessie wordt uitgevoerd hebben uw bezoekers hier geen last van.

Installatie

  • Download hieronder het script als .zip bestand.
  • Pak deze uit op uw computer.
  • Upload het bestand croncheck.php naar de root van uw website.
  • Ga naar uw beheerpaneel van uw hosting provider.
  • Stel daar een cron-job in die bijvoorbeeld iedere 15 minuten dit script aanroept.
    (vraag uw hoster hoe u een cron-job instelt)

Configuratie

Email adres

Het script gebruikt voor de rapportage het email adres die bij de (geavanceerde) instellingen van de website is ingevuld.
Als dit niet het gewenste email adres is kunt u in het script zelf een ander adres opgeven.
Verander:

$emailAddressToAlert = SERVER_EMAIL; 

naar het gewenste email adres:

$emailAddressToAlert = "myname@domain.tld"; 


Directories die niet gescanned moeten worden

Bij sommige webhosters worden automatisch statistieken zoals awstats gegenereerd binnen uw website.
Dit kan dus resulteren in waarschuwingen die u eigenlijk niet wilt krijgen.
U kunt deze directories uitsluiten door in het configuratieblok in het script de naam van de directory op te geven.

De standaard instelling sluit al een paar veel gebruikte direcories uit.
U kunt dit eenvoudig aanpassen door uw eigen directories, gescheiden door een comma, toe te voegen.
De standaard instelling is:

$noScanDirs = "/cache,/awstats,/stats";


Grote websites / veel bestanden

Als u een grote website heeft met bijvoorbeeld veel afbeeldingen kan de scan langdurig en belastend zijn voor uw server.
De standaard scan kijkt naar de datum/tijd van bestanden maar berekend ook een unieke sleutel waardoor de detectie van eventuele wijzigingen met meer zekerheid wordt gedaan.
Het berekeken van deze sleutel kost wel tijd en processor kracht.
Als dit problemen oplevert kunt u er voor kiezen om deze extra check uit te schakelen. Wijzigingen worden dan alleen op de bestands datum/tijd gedetecteerd.
Een hacker kan er voor zorgen dat deze na het aanpassen van bestanden niet veranderd, dus het uitschakelen van deze check is niet aan te raden.

$checkmd5 = true; 

Screenshots

Download

croncheck-v4.zip

- changed the email sender for the reports to the website email address.
License: GNU / GPL
Timestamp: 16-01-2020
Version: 4.0
Filesize: 2.42 KB
Downloads: 1837

croncheck-v3.zip
Version: 3.0, Timestamp: 13-07-2016, Downloads: 1881
- bugfix: fixed an issue on php5.6 and php7 (thanks dbs)

croncheck-v2.zip
Version: 2.0, Timestamp: 09-04-2015, Downloads: 1961
- Added option to skip images in scanning (default set to skip).

croncheck.zip
Version: 0.1.0, Timestamp: 14-06-2013, Downloads: 2058