Een van de grootste problemen met technologie is de frequente vervallen veiligheid die we ervaren; veel informatie wordt dagelijks gestolen en gebruikt om meer informatie te stelen, spamberichten te verzenden, backdoors naar systemen te openen en soms zelfs schade toe te brengen aan onze computers.

Geen van deze problemen die WordPress niet kent, een verbluffend aantal sites is het slachtoffer geworden van onplezierige criminelen die de gemeenschap uitbuiten voor hun persoonlijk gewin.

Om deze dreiging te overwinnen, hebben we een overzicht samengesteld van een aantal goede hulpmiddelen en tips om te voorkomen dat je het volgende slachtoffer bent. Of als u de pech hebt om al een slachtoffer te zijn, hoe u kunt terugvechten en uw installatie kunt repareren.

Exploit aanvallen

Misschien heb je er wel over gehoord, misschien ken je de details wel, maar voor degenen die hier niet het probleem hebben: een exploit is een stukje kwaadwillige code die gedistribueerd wordt om een ​​zwak punt in de bestaande code te misbruiken.

TimThumb was gevoelig voor een dergelijke aanval; een van zijn functies, die gebruikers in staat stelt om afbeeldingen van verschillende sites te uploaden en ze vrijelijk te openen, bewaarde afbeeldingen in een cachemap zodat Timthumb ze niet opnieuw hoeft te verwerken. Deze functie kan worden misbruikt door een hacker die bestanden naar de server uploadt, waardoor ze toegang hebben tot zoveel mogelijk bronnen van de WordPress-installatie als zij dat willen.

Precies hetzelfde probleem beïnvloed uploadify , een plug-in waarmee gebruikers bestanden kunnen uploaden. Wanneer de plug-in niet goed werd beheerd, konden hackers gratis toegang tot de site krijgen door PHP-scripts te uploaden om toegangsrechten te verlenen.

Maintenance

Onderhoud afbeelding via Shutterstock.

Het probleem in deze gevallen, net als bij de meeste exploit-aanvallen, was niet WordPress, maar eerder de plug-ins zelf. De oplossing is eenvoudig, houd uw plug-ins up-to-date en rapporteer eventuele bugs die u tegenkomt aan de ontwikkelaars om hen te helpen potentiële problemen op te lossen.

SQL-injecties

De installatie van WordPress zelf is niet immuun voor problemen. Afhankelijk van de versie kan SQL-injectie een grote hoofdpijn zijn. Een SQL-injectie is een proces waarbij een aanvaller SQL-code doorgeeft via een websiteformulier of een script, in de hoop dat de SQL-code 'correct' zal parseren en gegevens uit de database zal ophalen. Die gegevens kunnen e-mailadressen zijn, maar waarschijnlijker zijn het gebruikersnamen en wachtwoorden die de gebruiker dan meer toegang zouden geven voor andere aanvallen.

De reden waarom SQL-aanvallen zo irritant kunnen zijn, is dat je ze moet bestrijden om regelmatig een back-up van je database te maken. Bij voorkeur minstens één keer per dag.

Mainenance

Onderhoud afbeelding via Shutterstock.

Om dit te voorkomen, kunt u proberen uw bestanden met Apache te beveiligen met een dergelijke code in uw .htaccess-bestand:

RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]RewriteRule ^(.*)$ - [F,L]RewriteCond %{QUERY_STRING} ../ [NC,OR]RewriteCond %{QUERY_STRING} boot.ini [NC,OR]RewriteCond %{QUERY_STRING} tag= [NC,OR]RewriteCond %{QUERY_STRING} ftp:  [NC,OR]RewriteCond %{QUERY_STRING} http:  [NC,OR]RewriteCond %{QUERY_STRING} https:  [NC,OR]RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]RewriteCond %{QUERY_STRING} base64_encode.*(.*) [NC,OR]RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|ê|"|;|?|*|=$).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*("|'|<|>||{||).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$RewriteRule ^(.*)$ - [F,L]

Dit zal een amateur afschrikken, maar een professionele hacker zal een ander beveiligingslek vinden om te exploiteren. Gelukkig worden de meeste aanvallen gepleegd door nieuwkomers of spammers, met behulp van scripts zoals PHP r57 of Shell. Het verminderen van deze aanvallen zal het aantal problemen waarmee je te maken hebt sterk verminderen.

Standaard gebruiker

Het grootste beveiligingslek in elk systeem is de eindgebruiker. Het maakt niet uit hoe complex een wachtwoord is dat u maakt. Hoe complexer het wachtwoord, hoe slechter het beveiligingsrisico; omdat zeer complexe wachtwoorden ergens moeten worden opgeslagen. Gebruikers slaan vaak wachtwoorden op in .txt- of .doc-bestanden op hun computer en dat laat het systeem openstaan ​​voor phishing-aanvallen met behulp van virusbestanden zoals Trojaanse paarden.

De enige veilige plek om een ​​wachtwoord op te slaan is in je eigen hoofd.

Maar zelfs als u uw wachtwoord alleen in uw eigen geheugen bewaart, bent u nog steeds niet veilig voor aanvallen met brute kracht. Een brute force-aanval zal eenvoudigweg proberen je wachtwoord te 'raden' met herhaalde pogingen om in te loggen. Het kan beginnen met 'aaaaaa', doorgaan naar 'aaaaab' en zo verder totdat het '000000' bereikt. Dit proces is niet beperkt tot een enkele computer, meestal lopen honderden apparaten door potentiële wachtwoorden op zoek naar toegang.

Een manier om met brute-force-aanvallen om te gaan, is door een inlogbeperker te installeren die slechts een paar inlogpogingen toestaat voordat de toegang voor die gebruiker een uur of zo wordt geblokkeerd. Dit vermindert het aantal kansen dat de aanvaller moet binnenkomen. Er zijn verschillende WordPress-plug-ins die u hierbij kunnen helpen: Aanmeldpogingen beperken , Betere WP-beveiliging en Login beveiligingsoplossing .

Let ten slotte op gebruikersnamen. De standaard gebruikersnaam voor WordPress is 'Beheerder' en als u het als zodanig achterlaat, halveert u de hoeveelheid werk die de hacker moet doen om toegang tot uw site te krijgen. Als je je gebruikersnaam niet hebt gewijzigd tijdens het installeren van WordPress, doe het nu. Meld u aan bij uw account, maak een nieuw account aan met de gewenste gebruikersnaam, geef het beheerdersrechten en verwijder vervolgens het beheerdersaccount.

Cleanup

Afbeelding opschonen via Shutterstock.

Directe toegang

Een ander probleem dat onze WordPress-sites mogelijk hebben, is directe toegang tot de aanmeldingspagina, waardoor het hacken van uw site wordt vereenvoudigd.

Terwijl het beveiligen van uw wachtwoorden het meest dringende probleem is, kan een kwaadwillende gebruiker niets gebruiken dat ze hebben gestolen als ze de inlogpagina niet kunnen vinden. De eenvoudigste oplossing hiervoor is om een ​​plug-in te gebruiken Verberg Login om de locatie van de inlogpagina te verbergen.

Bepaalde bestanden in onze WordPress-installatie kunnen ook worden geopend als ze niet goed zijn beveiligd. We kunnen deze losse eindjes opruimen door wat meer regels toe te voegen aan ons .htaccess-bestand, zoals het volgende:

Options All -IndexesOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from all

Standaard prefix

Het moet duidelijk zijn dat hoe meer informatie we onze potentiële hacker geven, hoe gemakkelijker het voor hen is om te slagen.

Het standaardvoorvoegsel van WordPress-tabellen is 'wp_'. Waarom zouden we ze dat willen geven? Laten we dat voorvoegsel veranderen in iets dat moeilijker te raden is, zoals 'oijrr58_' bijvoorbeeld, het zal hun leven een stuk moeilijker maken en de kans vergroten dat je site veilig blijft.

Voor nieuwe installaties is dit een geruststelling omdat het installatiescript ons om een ​​prefix vraagt. Voor oudere sites heeft u twee opties: u kunt de wijziging handmatig uitvoeren (probeer dit alleen als u veel tijd heeft en weet zeker wat u doet) of gebruik een plug-in zoals Betere WP-beveiliging die het voor je zal regelen.

Te laat…

Het is nooit te laat. Je kunt altijd hackers bestrijden en jezelf ervan weerhouden een eeuwig slachtoffer te worden.

Als u niet zeker weet of uw site is geïnfecteerd, zijn er hulpprogramma's die u hiervan op de hoogte stellen. Sucuri SiteCheck zal bijvoorbeeld uw site scannen en als u geïnfecteerd bent, zal hij u adviseren welke stappen u moet nemen om het probleem (de problemen) te verhelpen.

Hazardous

Gevaarlijk beeld via Shutterstock.

Basisoplossingen

Hier zijn enkele basisstappen te nemen:

  • Back-up van de site en database, gehackt of niet, u wilt uw inhoud niet verliezen.
  • Maak kopieën van items die niet in uw database staan, zoals afbeeldingen.
  • Download de nieuwste versie van WordPress.
  • Zorg ervoor dat alle plug-ins up-to-date zijn, controleer welke versies bekende problemen oplossen.
  • Zorg dat alle sjablonen up-to-date zijn, controleer welke versies bekende problemen oplossen.
  • Gebruik een FTP-client of cPanel om alles in de WordPress-directory te verwijderen.
  • Upload de nieuwe bestanden die je hebt gedownload.
  • Voer de database-upgrade uit.
  • Verander je wachtwoord, je wilt de hackers niet meteen weer binnen laten.
  • Controleer ten slotte elk bericht en corrigeer eventuele schade die is aangericht.

Vechten met r57-scripts

r57 is een PHP-script dat een aanvaller een breed scala aan mogelijkheden biedt, hoewel de aanvaller deze mogelijkheden heeft. Deze werken pas als de shell op onze webserver staat. Daarom kunnen we voorkomen dat deze werkt met de volgende opdrachten:

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Deze opdracht zoekt naar PHP-bestanden die zich bevinden in je WWW-map, waarna binnen de gevonden bestanden gezocht zal worden naar eventuele vermelding van r57 in de bestandsnaam en inhoud. Dan zal het geïnfecteerde bestand (en) worden verwijderd.

find /var/www/  -name "*".txt  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Deze code doet hetzelfde, behalve voor TXT-bestanden in plaats van .php-bestanden.

Merk op dat deze codes voor Linux zijn, probeer ze niet op Windows of MacOS en weet dat ze potentieel zeer destructief zijn omdat ze bestanden zullen verwijderen zonder toestemming te vragen.

Verduisterde code

Een belangrijke reden tot bezorgdheid binnen thema's is verborgen code, omdat kwaadaardige code doorgaans moeilijker te vinden is binnen thema's. Allerlei schade kan worden toegebracht, van het omleiden van gebruikers naar andere sites, tot het laten zinken van uw SEO.

Een belangrijk wapen in de strijd tegen dit soort problemen is Thema Authenticiteit Checker . Deze plug-in controleert niet alleen de code op verdachte lijnen, maar detecteert ook statische links en verborgen code zoals code gegenereerd in base64 die moeilijk te herkennen is aan het oog.

Hou me een keer voor de gek, schaam je…

Alleen omdat je in het verleden bent betrapt, betekent niet dat je door moet blijven gaan.

Overweeg de volgende stappen te nemen om jezelf verder te beveiligen:

  • Laat alleen PHP toe indien strikt noodzakelijk.
  • Zorg ervoor dat uw webserver clients niet toestaat om het .htacess-bestand te wijzigen.
  • Implementeer een firewall die de uitgaande e-mail in poort 25 beperkt tot alleen de root en e-mailserver-ID.
  • Monitor uploads naar uw site met een applicatie zoals ConfigServer eXploit Scanner .
Repair

Afbeelding herstellen via Shutterstock.

Tenslotte

WordPress-beveiliging is net zo belangrijk als elke sitebeveiliging. U moet ervoor zorgen dat zowel u als uw gebruikers worden beschermd tegen spam, malware en phishing-aanvallen. Maar vergeet niet dat de eerste verdedigingslinie eigenlijk de antivirussoftware op uw desktopcomputer is.

Heb je problemen met WordPress-beveiliging? Hoe loste je het probleem op? Laat het ons weten in de comments.

Exclusief voor WDD geschreven door The Shock Family: een team van webprofessionals en makers van WordPress Thema's Shock (Premium wordpress-thema's), WP Theme Generator (Een geweldige wp-thema-maker), en DesignShock seful design sets). (duidelijke ontwerpsets).