Is uw website gehackt?“Help! Ik zie allemaal vreemde codes en bestanden in mijn website!” Het is duidelijk: u bent gehackt. In dit artikel vindt u praktische tips en informatie over wat u moet doen wanneer uw website is gehackt. Zo hebt u uw website weer snel en veilig online beschikbaar.

Wij begrijpen dat het vervelend is als uw website is gehackt. Een gehackte website kost u immers onnodig veel tijd. En omdat uw website enige tijd onbereikbaar is kost het u waarschijnlijk ook in omzet. Om nog maar niet te spreken over het eventueel inhuren van experts om het probleem op te lossen.

Wij geven u hier praktische tips en informatie over wat u moet doen wanneer u er zélf achter komt dat uw website is gehackt. Op die manier hebt u uw website zo snel mogelijk weer veilig online beschikbaar.

Link naar deze kopStappenplan website opschonen

Zodra u ontdekt dat uw website is gehackt, treedt het ‘rampenplan’ in werking. Stap 1 van een dergelijk rampenplan is altijd: zet onmiddellijk uw website offline. U wilt natuurlijk niet dat uw bezoekers worden geconfronteerd met een slecht functionerende website, een rare melding zien of misschien zelf wel worden geïnfecteerd met een computervirus omdat één van uw pagina’s een backdoor of exploit bevat.

U kunt met behulp van een .htaccess of web.config bestand heel eenvoudig en snel uw website tijdelijk offline brengen. U kunt dan een nette informatiepagina plaatsen. Omdat deze pagina een HTTP 503 Service Unavailable melding geeft – zoals het hoort – zal een zoekmachine zoals Google uw website niet uit de resultaten verwijderen.

Dit blijft dus goed voor uw Search Engine Optimization (SEO) en page-ranking!

Link naar deze kopHoe gaat u te werk?

  1. Maak met bijvoorbeeld Kladblok een tekstbestand aan op uw computer, en noem deze onderhoud.php (of maintenance.php, in ieder geval een bestandsnaam die op uw website nog niet bestaat).
  2. Plaats bovenin in ieder geval de volgende code:
<?php
header( 'HTTP/1.1 503 Service Temporarily Unavailable', true, 503 );
header( 'Status: 503 Service Temporarily Unavailable' );
header( 'Retry-After: 172800' );
exit();
?>

Deze code geeft een nette HTTP 503 Service Unavailable melding aan bezoekers en zoekmachine-crawlers. Oók vertelt dit de zoekmachine om na 172800 seconden (48 uur) nog eens terug te komen en de pagina opnieuw te indexeren.

U kunt onder deze PHP-code gewone HTML-code opnemen waarin u uw boodschap aan uw bezoekers geeft.

  1. Maak nu weer een nieuw tekstbestand aan en noem deze ht.access. Let op de bestandsnaam. Plaats hierin:
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.15$
RewriteCond %{REQUEST_URI} !^/onderhoud.php$
RewriteRule ^(.*)$ /onderhoud.php [L]

Hierboven vervangt u 203.0.113.15 met uw eigen IP-adres. Bezoek eventueel watismijnip.nl om uw eigen IP-adres te achterhalen.

De punten in uw IP-adres moet u voorzien van de extra backslash (\). De bovenstaande code doet niets anders dan álle HTTP-verzoeken, behalve die van uw IP-adres en die naar /onderhoud.php herschrijven naar /onderhoud.php.

  1. Upload beide bestanden naar de www map van uw website. Hernoem via FTP het bestand ht.access naar .htaccess.

web.config
Als u liever een web.config redirect gebruikt in plaats van .htaccess, maakt u het web.config-bestand aan met de volgende URL redirect code:

<rule name="Website maintenance redirect" patternSyntax="ECMAScript" stopProcessing="true">
	<match url="(.*)" />
	<conditions>
		<add input="{REMOTE_ADDR}" pattern="203.0.113.15" negate="true" />
		<add input="{URL}" pattern="^/onderhoud.php$" negate="true" />
	</conditions>
	<action type="Redirect" url="/onderhoud.php" redirectType="Temporary" />
</rule>

U kunt uiteraard ook onze klantenservice vragen uw website tijdelijk offline te brengen. Uw website is nu tijdelijk offline. Hierdoor zien bezoekers geen gehackte pagina maar uw informatiepagina en lopen zij geen risico om te worden geïnfecteerd met een computervirus. U kunt nu verder werken aan het oplossen van het probleem.

Link naar deze kopVervolgstappen ‘rampenplan’ en advies

In de volgende stappen van uw ‘rampenplan’ moeten in ieder geval de volgende punten terugkomen:

  1. Via FTP, verwijder de bestanden met kwalijke codes én bestanden waaraan wordt getwijfeld. Soms is het verstandig om uw verlies voor lief te nemen en simpelweg alles te verwijderen. Bijvoorbeeld als het te veel tijd kost en u sneller een geheel nieuwe website kunt plaatsen.
  2. Maakt u gebruik van een bestaand Content Management Systeem (CMS), werk deze na het opschonen geheel bij naar de laatste versie, inclusief plug-ins, modules en extensies.
  3. Verander gebruikersnamen en wachtwoorden binnen uw CMS-omgeving. Verander ook de wachtwoorden van uw FTP-account, MySQL-database en e-mailaccounts.
  4. WordPress specifiek: verander de _SALT waardes in het wp-config.php bestand.
  5. Inspecteer uw database op extra gebruikers
  6. Maak regelmatig een back-up van uw website en databases.
  7. U moet uw website beveiligen tegen bekende beveiligingsproblemen. U vindt meer informatie hierover in eerdere artikelen.
  8. Volg de Best Practices van het gebruikte CMS-systeem op: zoek via Google op CMSnaam best practices voor meer informatie.

Link naar deze kopTot slot

Hebt u vragen over dit artikel of over een specifieke tip? Neemt u dan contact op met onze klantenservice. Wij zijn telefonisch bereikbaar via 050-2110100. U kunt ook een vraag stellen via het scherm Mijn vragen in MyVevida.

Over de auteur
Jan Reilink is ruim 10-jaar in dienst bij VEVIDA als systeembeheerder. Zijn specialiteiten zijn Windows Server, IIS, PHP, websites, optimalisatie en beveiliging. Daarnaast houdt Jan al jaren een technisch blog Saotn.org bij, met nieuws en artikelen over deze onderwerpen.