Roland Kamphuis Rotating Header Image

Posts Tagged ‘wordpress’

WordPress uitbreiden met https SSL certificaat

Tegenwoordig is https wel een must om aan te hebben staan. Dat houd in dat de verbinding tussen de bezoekers en de website beveiligd wordt middels SSL encryptie. Zo kan niemand meer meekijken wat een bezoeker uitspookt op een website.
Browsers promoten dit gedrag door een groen slotje in de browserbalk, en sommige browsers gaan zelfs verder en zetten een rood kruis door het slot als je het niet hebt. Bedrijven zoals Google zijn ook SSL aan het promoten. Heb je SSL certificaat, dan prefereert Google jouw website boven een vergelijkbare site zonder SSL. Genoeg redenen om ook mijn weblog te voorzien van een SSL certificaat.

Gelukkig hoef je tegenwoordig geen SSL certificaat te kopen, en heb ik ook gekozen voor een gratis certificaat van Lets encrypt. Dat is voldoende voor een blog zoals die van mij. Er zijn ook betaalde certifcaten, het verschil bewaar ik voor een volgende blogpost.
Lets Encrypt controleert je website middels een bestand op de webpagina en geeft daarna het certificaat uit. Gelukkig hoeft dit niet veel werk te zijn en ondersteunen hosting bedrijven het installeren van een lets encypt certificaat met 1 druk op de knop. Zo ook mijn bedrijf IceHosting, waarbij je in directadmin met 1 druk op de knop een certificaat installeert.

Directadmin Letsencrypt activeren

Na installatie van het certificaat is het handig om de private_html map te koppelen aan de public_html. Dit voorkomt dat je 2 keer je site moet uploaden. In directadmin kan dit onder domain setup met 1 klik geactiveerd worden.

Dan denk je, ik ben er! Maar helaas is dat niet waar. Je moet ook wordpress vertellen dat je https:// wil gebruiken over http://. Dus in de wp-admin onder settings de url veranderd.

Wp-admin, general settings, url aanpassen met s bij http

Vervolgens werkt de site via https. Maar er staat nog een irritante uitroepteken in de URL balk (waardoor die niet groen is). Dat blijkt te komen dat sommige afbeeldingen linken naar http:// versie van de site. Dus feitelijk moet je alle blog artikelen langslopen en de afbeelding van url veranderen. Dit was mij te veel werk, dus ging ik naar phpmyadmin om middels een SQL query alles tegelijk updaten:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.domein', 'https://www.domein') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://www.domein','https://www.domein');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.domein', 'https://www.domein');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.domein','https://www.domein');

En voilla, de browserbalk is nu groen. Tot slot de .htaccess aangepast om verplicht iedere bezoeker naar https om te zetten:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Het gaat om regel 4 en 5, de rewritecond https !=on, met vervolgens de redirect naar de https versie. Let wel op dat ook eventuele subsites ook de redirect krijgen. Dus zorg ervoor dat die ook klaar zijn voor SSL, of sluit ze uit met de redirect naar https.

Tips tegen aanvallers op WordPress

Een aantal tips om je wordpress website te beschermen tegen aanvallen en hackers:

  1. Maak regelmatig backups of controleer of je hosting bedrijf dat doet
    Een backup geeft je de mogelijkheid om snel een werkende versie weer terug te zetten
    (Wij bij IceHosting maken iedere dag een backup, en die worden 7 dagen bewaard)
  2. Update wordpress inclusief plugins en thema’s regelmatig
    Gelukkig heeft wordpress sinds kort een automatische update functie. Activeer deze! Echter moeten plugins en thema’s nog steeds met de hand geupdate worden.
  3. Zorg dat ieder domein op een eigen user staat
    Wij maken bij Icehosting gebruik van openbasedir, waarmee per user voorkomen wordt dat deze bestanden buiten zijn eigen website kan aanpassen. Staan alle domeinen opdezelfde user, dan kan een hacker zonder problemen naar een ander domein gaan en die ook infecteren.
  4. Verwijder plugins en thema’s die niet gebruikt worden
    Een niet gebruikte plugin of thema kan ook lekken bevatten en daarmee loop je onnodig risico
  5. Installeer de plugin wordfence
    Deze kan je WordPress installatie scannen en helpen beveiligen tegen aanvallers.
  6. Soms moet je afscheid nemen van een plugin
    Als een ontwikkelaar stopt met onderhouden van zijn plugin kunnen in de toekomst mogelijke lekken ontdekt worden. Op zo’n moment wordt het tijd om opzoek te gaan naar een alternatieve plugin en de oude plugin te verwijderen.

Indien je geen tijd of kennis hebt om een WordPress site te onderhouden kan het een goed idee zijn om een partij te vragen of die het onderhoud voor jouw kunnen uitvoeren. Dit onderhoud kunnen wij bij IceHosting ook voor je uitvoeren.

Wat te doen bij een gehackte wordpress website?

Help mijn WordPress site is gehacked!

Dat is helaas een kreet die ik helaas vaak te horen krijg. Veel mensen en bedrijven maken tegenwoordig gebruik van het een gratis open source script WordPress  om prachtige websites te bouwen. WordPress is immers open source en daarmee gratis. Eenmaal gebouwd denken de eigenaren dat de website klaar is en geen acties meer benodigd zijn. (of de site wordt door een ontwikkelaar opgeleverd aan een klant waarna de klant zelf de site moet gaan beheren maar die vindt het wel prima zo). En hier gaat het juist mis!

Een nadeel van opensource is dat de code open is en iedereen toegang heeft om de code te bekijken. Zo kan een kwaadwillende een fout in de code vinden (ook wel lek genoemd) en die gebruiken om toegang te krijgen tot je website.
Wordpress doet er gelukkig alles aan om zo snel mogelijk een patch uit te brengen (update) om dit lek te dichten.
Daarom is het erg belangrijk dat je regelmatig WordPress inclusief plugins en thema’s update naar de laatste versie. Helaas wordt dit vaak vergeten  (“kost tijd” en “de site werkt toch prima zo”) en loopt de website kans gehacked te worden.

Wat moet je doen om de wordpress site weer toegankelijk te maken?

Indien backup
Zet een backup terug van de website voordat die gehacked was. Of vraag of je hosting partij een backup heeft.

Indien geen backup

  1. verwijder alle bestanden behalve de wp-content map, wp-config.php en .htaccess
  2. Open de wp-config.php en kijk of daar geen rare code in staat (zie screenshot voor voorbeelden)
  3. open het .htaccess bestand en zorg dat die er als volgt uitziet:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

  4. Download wordpress vanaf wordpress.com en pak de zip file uit.
  5. Upload alle bestanden van de zip file middels ftp naar de server toe, let op dat je de wp-content map niet overschijft!
  6. Login op de wp-admin sectie
    1. Zorg dat wordpress geupdate is naar de laatste versie
    2. Update alle plugins naar de laatste versie of verwijder plugins die je niet nodig hebt
    3. Update alle themas naar de laatste versie
  7. Installeer de wordfence plugin

    Wordfence scant wordpress op infecties en beschermt tegen aanvallers

    1. Activeer de firewall mode
      De firewall mode beschermt je wordpress website tegen attacks. Altijd handig om actief te hebben. Volg de stappen zoals gevraagd door wordfence. Bij Apache + mod_php betekend dat de plugin een stukje code aan de .htaccess zal toevoegen:

      # Wordfence WAF
      <IfModule mod_php5.c>
      php_value auto_prepend_file ‘/home/<user>/public_html/wordfence-waf.php’
      </IfModule>
      <Files “.user.ini”>
      <IfModule mod_authz_core.c>
      Require all denied
      </IfModule>
      <IfModule !mod_authz_core.c>
      Order deny,allow
      Deny from all
      </IfModule>
      </Files>

      # END Wordfence WAF

    2. Doe een complete scan van de website
      1. Repareer de gevonden core bestanden
      2. Verwijder de gevonden bestanden die niet thuis horen
  8. Check de gebruikers tabblad in wordpress of er geen rare users zijn aangemaakt die niet thuis horen op jouw website.

Indien je bij stap 6 geen werkende wp-login krijgt, kan het zijn dat bepaalde plugins geinfecteerd zijn en daarmee niet bruikbaar. Verplaats de wp-content/plugins/ map tijdelijk naar wp-content/plugins_oud/. Download daarna de geinstalleerde plugins opnieuw.

Wat doen hackers dan met mijn website?

Grote kans dat jouw website zelf helemaal niet interessant is voor de hackers. Vaak gebruiken ze je website alleen maar om duizenden spam mails te versturen of om phising websites te hosten. Op die manier kunnen ze naar een slachtoffer een mail sturen met mededeling dat hun bankpas verlopen is, en dat ze even moeten inloggen met hun internetbankieren code om een nieuwe bankpas aan te vragen. En als een slachtoffer niet goed oplet hebben de hackers gegevens buit gemaakt.
Of ze lanceren aanvallen vanaf jouw website op andere websites.

Tips om hacken te voorkomen?

Tot slot, bekijk hier een aantal tips om gehackte WordPress websites te voorkomen.

Screenshots infecties

Infectiebestanden wordpress

 

Voorbeeld inhoud hacked bestand

Waarom ik een blog ben begonnen

Het was 2006, het internetwereldje was in volle bloei. Het werd steeds hipper om steeds meer dingen op internet te doen. Web 2.0 kwam langzaam van de grond. Mensen wouden graag persoonlijke berichten/ervaringen/gebeurtenissen delen. Omdat er toen nog geen Twitter of Facebook was, was een weblog de enige manier. Weblogs kwamen in 2005/2006 snel opzetten van verschillende beroemdheden en van privé personen. Ook zag je dat sommige bedrijven een eigen weblog inrichtte, maar vaak werden op de bedrijven logs veel gepost in de eerste week en vervolgens leek de hele blog verlaten te zijn.

De reden dat ik een blog startte was puur gebaseerd op leuke gebeurtenissen te delen (grappige verhalen, bijzondere ervaringen, etc) die ik tegenkwam. Ik wou niet zo’n blog gaan starten waar ik allemaal externe linkjes en teksten verzamel maar in feite niks over mij zelf schrijf
Een aparte bedrijfsblog starten voor mijn bedrijf leek me geen goed idee omdat ik dan waarschijnlijk maar 3 updates per jaar zou uitvoeren. Daarom heb ik het bedrijfsaspect eigenlijk een beetje bij mijn persoonlijke weblog gevoegd (zeg gerust maar veel). Wel post ik de berichten namens mijn eigen zicht erop en niet van een commercieel hoogte. Doel daarvan is ook om te laten zien wie er achter mijn bedrijven zit. (dat wij ook gewone mensen zijn).
Vanaf juli 2010 zijn het aantal posts per maand flink omhoog gegaan. Dit omdat ik ten eerste klaar was met mijn zware studie (dus mee vrije tijd) en er daardoor ook meer interessante dingen gebeurde. Vanaf die datum heb ik dus mijn categorieën waarover ik schrijf flink uitgebreid.

In 2006 bestond WordPress nog maar net en was nog onbekend. Vandaar dat ik ook eerst met een ander software pakket was begonnen, namelijk Fastlog. Het idee is dat ik niet zelf te veel tijd kwijt wou zijn met het bouwen van een weblog systeem. Na een paar items te geschreven hebben bleek Fastlog toch hier en daar zijn beperkingen te hebben. Over WordPress begon ik langzaam wat te horen, dus heb ik toen ook een poging gewaagd om WordPress te gaan gebruiken. Zes jaar en een boel updates later en ik gebruik nog steeds WordPress. Ofwel dat was een goede keuze. Wel heb ik in de tussentijd diverse modules toegevoegd, hier en daar wat programmatuur aangepast zodat het precies naar mijn wens werkt.

Een weblog opzetten ging gemakkelijk, maar wat ik tot op de dag van vandaag nog steeds moeilijk vind zijn de onderwerpen waarover je schrijft. In 2006 was er een mini web-tv serie genaamd webmee.tv waar Froukje de Both haar eigen website ging bouwen en per aflevering een aantal onderwerpen langs kwamen. Aflevering 4 is mij dan ook goed bijgebleven omdat deze over webloggen ging en met name “wat zet je op je weblog? Waar trek je de grens tussen privé en openbaar?”. Uberhaupt vind ik het een prachtige serie om zelfs anno 2012 terug te kijken, de grappen die ze verwerkt hebben, het opzoek gaan bij internet-bedrijven, gewoon geweldig! Wel is de reclame voor Argeweb flink aanwezig (en irriteert mij soms omdat ze een concurrent zijn), maarja dat was de opdrachtgever van het hele webmee.tv.