Harden WordPress-beveiliging door wp-config.php naar een niet-openbare map te verplaatsen

Mocht je nog geen kennis hebben, laat me je dan voorstellen aan je wp-config.php bestand. Als u een door uzelf gehost WordPress.org-blog gebruikt, bevat uw wp-config.php uw MySQL-database gebruikersnaam, uw MySQL-databasewachtwoord, uw WordPress-authenticatiesleutels en andere gevoelige informatie. Met deze informatie krijgt een hacker of scriptkiddie toegang tot elk stukje inhoud op je WordPress-blog, waardoor ze de vrije hand krijgen om je berichten te verwijderen, kwaadaardige code in te voegen, backlink naar illegale pornosites of wat ze maar willen.

Wp-config.php zit standaard in dezelfde map als uw WordPress-blog. Dus als de startpagina van je blog zich op mysite.com/blog bevindt, dan is dat ook je wp-config.php. Dat is niet zo roekeloos als het lijkt, aangezien .php-bestanden serverscripts zijn die door de server worden verwerkt. Wanneer u naar een .php-bestand kijkt, bekijkt u feitelijk de uitvoer van het bestand. Hetzelfde geldt voor het bekijken van de bron. De enige manier om de onbewerkte code van een .php-bestand te downloaden is via FTP.

Maar alleen omdat u normaal geen toegang heeft tot een .php-bestand betekent niet dat u altijd veilig bent ...

Ongevallen gebeuren en er zijn kwetsbaarheden. Als de PHP-configuratie van uw webserver afbreekt, uw MIME-typen niet correct zijn ingesteld of uw webserver anders verkeerd is geconfigureerd, kan uw webpagina uiteindelijk platte tekst weergeven in plaats van verwerkte PHP-uitvoer; dat zijn maar een paar voorbeelden. En, net als tijdens een peperverzameling in het auditorium van de middelbare school afgezet te worden, duurt het slechts een fractie van een seconde en voordat je je onderbroek terug kunt krijgen, hebben ze alles gezien. Ja, ze hebben alles gezien.

In deze zal ik je tonen hoe je je wp-config.php met je MySQL database gebruikersnamen en wachtwoorden veilig (r) kunt houden. Hoewel geen website of blog 100% on-hackbaar is, maakt deze snelle tip het hacken van uw WordPress-blog moeilijker voor potentiële indringers dan een site die deze voorzorgsmaatregelen niet heeft genomen. Gewoonlijk is het veiliger zijn dan je buurman genoeg om de inspanningen van een zogenaamde hacker af te schrikken van een andere site dan die van jou. Denk eraan, als je ooit met een groep mensen in het bos bent en er een beer verschijnt - je hoeft niet harder te rennen dan de beer, alleen sneller dan de andere mensen. ( en alle gekheid opzij, Bear foelie is je beste weddenschap als je ooit echt in die situatie bent )

Uw bestand wp-config.php verplaatsen

Met de juiste bestandsrechten en een correct geconfigureerde webserver zou het prima moeten zijn om je wp-config.php-bestand in dezelfde openbare map als de rest van je blog te bewaren. Maar als het gaat om het beschermen van uw website, is beveiliging een ui ( of blijkbaar Ogre); hoe meer lagen, hoe meer je hebt.

De WordPress Codex bevestigt dit sentiment en beveelt aan dat u uw wp-config.php wegzet van zijn standaardinstallatielocatie. Door zelf gehoste blogs van WordPress.org kun je je wp-config.php één niveau hoger zetten vanuit de hoofdmap van je blog. Dat is allemaal goed en wel, maar voor de meeste webservers is één niveau hoger dan je blogroot nog steeds een map public_html. Je kunt het het beste in een map plaatsen die geen submap is van je public_html of WWW map. Op die manier is de kans dat iemand het via een webbrowser of een andere HTTP-toepassing bereikt vrijwel nihil.

Dit is wat je doet:

Stap 1

Krijg toegang tot uw WordPress.org-site via een FTP-programma en navigeer naar de root.

Stap 2

Download wp-config.php naar uw harde schijf.

Stap 3

Hernoem het naar iets anders dan wp-config.php.

Maak er iets onzinnigs van, dus iemand die erover struikelt ( misschien iemand die via SSH je gedeelde server heeft gehackt) herkent het misschien niet zoals het is. Dus, in plaats van het " off-site-wordpress-config.php" te noemen, noem het " futurama-fan-fic.php ."

Stap 4

Upload uw hernoemde wp-config.php bestand naar een map boven uw public_html of www map. Persoonlijk heb ik een hele map gemaakt voor off-site configuratiebestanden. Maar het is waarschijnlijk veiliger om ze ergens meer willekeurig te plaatsen.

Het belangrijkste is om het buiten de map www of public_html te plaatsen.

Stap 5

Open kladblok of je andere favoriete PHP-editor.

Maak een nieuw wp-config.php-bestand dat alleen de volgende code bevat:

include ( '/ home / usr / hobby / Futurama-fan-fic.php');
?>

Vervang de map hier door de serverlocatie van uw hernoemde wp-config.php-bestand. Merk op dat dit geen URL is, het is een pad relatief ten opzichte van uw serverlocatie. Dus, het maken van:

omvatten (www.yourdomain.com/location/futurama-fan-fic.php);

zal niet werken.

Zoals je waarschijnlijk hebt verzameld, zal dit in wezen een " snelkoppeling " naar je eigenlijke wp-config.php-bestand creëren. Dus als iemand je wp-config.php-bestand in je WordPress-map hackt, vinden ze alleen nog een bestand dat naar een ander bestand verwijst.

Voor de lol, wil je misschien een opmerking toevoegen die luidt:

// Bedankt Mario! Maar onze prinses is in een ander kasteel!

Stap 6

Upload uw nieuwe wp-config.php bestand naar uw WordPress root. Overschrijf de oude ( je hebt er eerst een back-up van gemaakt, toch? ).

Stap 7

Dat is het! Navigeer naar uw WordPress.org-blog root om ervoor te zorgen dat het werkte.

Als u een foutmelding krijgt die luidt:

Waarschuwing : include (/www.yourdomain.com/location/futurama-fan-fic.php ') [function.include]: kan de stream niet openen: geen bestand of map in /home/usr/public_html/blog.com/ wp-config.php op regel 2

Fatale fout : oproep naar ongedefinieerde functie wp () in /wp-blog-header.php op regel 14

Dan betekent dit dat u de serverlocatie verkeerd intypte in uw gewijzigde wp-config.php-bestand. Als u problemen ondervindt bij het bepalen van het absolute pad van uw blog, maakt u een .php-bestand met daarin de volgende code:

Hiermee wordt het absolute pad weergegeven voor de map waarin het bestand zich bevindt en wordt ook uitgelegd hoe u boven de public_html-map kunt komen.

Als u een foutmelding krijgt met de tekst:

Er lijkt geen wp-config.php bestand te zijn. Ik heb dit nodig voordat we kunnen beginnen. Meer hulp nodig? We hebben het. U kunt een wp-config.php bestand maken via een webinterface, maar dit werkt niet voor alle serverinstellingen. De veiligste manier is om het bestand handmatig te maken.

Dan betekent dit dat er geen wp-config.php bestand in je WordPress.org root staat. Controleer nogmaals of u de gewijzigde wp-config.php hebt geüpload naar uw WordPress.org-hoofdmap of de map er net boven en het hernoemde wp-config.php-bestand naar een andere locatie, in plaats van andersom.

Conclusie

Zal het verplaatsen van je wp-config.php je blog kogelvrij maken? Zeker niet. Maar het is slechts een van de stappen die u kunt zetten om uw website of blog veiliger te maken. En voor mij helpt het me om 's nachts beter te slapen, net zoals een extra ketting of nachtslot op de deur.

Opmerking: Voordat je je bestandstructuur gaat vernietigen, moet je ervoor zorgen dat je een back-up maakt en je vertrouwd voelt met wat je doet. Je zou je WordPress-blog ernstig kunnen verpesten als je het verkeerde ding verwijdert. Je bent gewaarschuwd.