Extra beveiliging met HTTP Authenticatie

De meest zullen al mijn algemene blogpost over WordPress beveiliging gelezen hebben en zaken goed beveiligd hebben. Maar zijn altijd extra opties voor de paranoïden onder ons. Opties die net even iets nerdier en ietwat minder gebruiksvriendelijk zijn. We hebben het in dit geval over http authenticatie van de wp-admin map.
HTTP Authenticatie
Door middel van Apache HTTP authenticatie kunne we iedere bezoeker van de wp-admin map dwingen in te loggen via een browser popup venster. Dit lijkt een ietwat primitieve methode, maar dit is er een die ervoor zorgt dat iedere bezoeker van de wp-admin directory, dus ook hackers die nare http verzoeken willen indienen, zich zullen moeten “legitimeren aan de deur” Die wordt opgezet door middel van het uploaden van twee bestanden: .htaccess en .htpasswd.
Htpasswd
Het bestand .htpasswd wordt vanaf de terminal in Unixbesturingdsystemen aangemaakt. Dit is een bestand waarin het met MD5 of SHA versleutelde wachtwoord wordt opgeslagen. Hier een voorbeeld van het commando
htpasswd -c .htpasswd admin
Dit commando zal om een wachtwoord vragen en dit wachtwoord zal twee keer moeten worden ingevoerd.
Hiermee wordt een MD5 versteuteld wachtwoord opgeslagen in het bestand .htpasswd. Dit bestand kan overal geplaatst worden zolang het .htaccessbestand tot de toegang bepaald, maar op juiste wijze hier naartoe verwijst.
Htaccess
het .htaccess bestand plaats je in wp-admin en daarin zet je alle noodzakelijk authenticatiegegevens. Voorbeeld:
AuthUserFile /var/www/vhosts/doede.net/httpdocs/wp-admin/.htpasswd AuthType Basic AuthName restricted Order Deny,Allow Deny from all Require valid-user Satisfy any
Het AuthUserFile pad moet natuurlijk aangepast worden en verwijzen naar de .htpasswd op de juiste locatie.
Nadat beide bestanden zijn upgeload, zul je bij het herladen van de WordPress Dashboard zien dat er om authenticatie gevraagd wordt. Daar zul je dan admin als gebruikersnaam en je gekozen wachtwoord moeten invoeren.
WordPress Uploader Problemen
De WordPress uploader en wp-cron zullen ook door deze beveiliging geblokkeerd worden. Voeg daarom bovenaan in de .htaccess dit toe
# Exclude the file upload and WP CRON scripts from authentication <FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$"> Satisfy Any Order allow,deny Allow from all Deny from none </FilesMatch>
Met dank aan mjoanisse in http://wordpress.org/support/topic/media-upload-http-error?replies=5