Zoeken…


Opmerkingen

WordPress-websites worden vaak gehackt. Dit onderwerp is bedoeld voor technieken en werkwijzen die de beveiliging van uw WordPress-installatie verbeteren, meer dan wat wordt bereikt met een basisinstallatie.

Afgezien van dit onderwerp is de Hardening WordPress Codex-pagina een andere goede plek om te lezen over het beveiligen van een WordPress-installatie.

Schakel de bestandseditor uit

De bestandseditor die wordt geleverd met WordPress is een beveiligingsrisico. Als een aanvaller beheerderstoegang krijgt tot uw WordPress-website, kan deze gemakkelijk schadelijke code in thema- en plug-inbestanden invoegen. Het is ook een risico bij klanten die niet weten wat ze doen. Een eenmaal misplaatste dubbele punt in de bestandseditor kan een site breken en ontoegankelijk maken vanuit de browser.

Schakel in uw WordPress wp-config.php bestand de bestandseditor uit door de volgende coderegel toe te voegen.

define( 'DISALLOW_FILE_EDIT', true );

Die regel heeft het gewenste effect wanneer deze ook wordt toegevoegd aan het bestand functions.php van uw thema, maar het is beter om toe te voegen aan wp-config.php .

Als u WordPress CLI gebruikt om WordPress te installeren, kunt u de volgende opdracht gebruiken om een wp-config.php bestand te maken met bestandsbewerking uitgeschakeld.

/* declare variables beforehand or substitute strings in */
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU --extra-php <<PHP
define( 'DISALLOW_FILE_EDIT', true );
PHP

Deze methode is handig als u WordPress met een script installeert.

Verplaats wp-config.php

De meest gevoelige informatie van een WordPress-installatie wordt opgeslagen in het wp-config.php . Als een hacker toegang krijgt tot dit bestand, heeft deze volledige controle over uw website.

Standaard wordt wp-config.php opgeslagen in de installatiemap van WordPress. Om dit bestand moeilijker te stelen te maken, kunt u het uit de voor het web toegankelijke map verplaatsen. Als u het slechts één map hierboven verplaatst, vindt WordPress het automatisch. Als u wp-config.php naar een andere locatie verplaatst, maakt u een leeg bestand met de naam wp-config.php in de installatiemap van WordPress. Voeg vervolgens het volgende toe:

define('ABSPATH', dirname(__FILE__) . '/');
// '../../wp-config.php' defines location two folders above installation folder.
// Substitute with actual location of wp-config.php file as necessary.
require_once(ABSPATH . '../../wp-config.php');

Mogelijk moet u php uitvoerbaar maken in de map waarin u wp-config.php plaatst. U moet php in zo weinig mogelijk mappen uitvoerbaar maken. Een goed systeem plaatst de WordPress-installatie in /path/to/wordpress/install/ en de config in /path/to/wordpress/config . U moet ervoor zorgen dat de configuratiemap niet toegankelijk is voor het web en geen andere gevoelige informatie plaatst in /path/to/ of hoger in de mappenhiërarchie. In dat geval zou je een regel schrijven die lijkt op het volgende in je php.ini :

open_basedir = "/path/to/wordpress/install/;/path/to/wordpress/config"

Deze techniek is controversieel en sommige mensen denken niet dat het de veiligheid verbetert. Uitgebreide discussie over het onderwerp is te lezen bij deze WordPress StackExchange-vraag .

Stel een aangepast voorvoegsel in voor WordPress-tabellen

Wanneer u WordPress op uw server installeert, plaatst het installatiescript een prefix voor alle namen van de WordPress MySQL-tabel. Dit voorvoegsel is standaard ingesteld op 'wp_'. De WordPress-berichtentabel wordt bijvoorbeeld wp_posts genoemd. Door het voorvoegsel van de tabel te wijzigen, kunt u enige beveiliging door obscurity creëren. Op deze manier moet een hacker die een SQL-injectieaanval probeert, het voorvoegsel van uw tabel raden in plaats van alleen 'wp_' te gebruiken. U kunt dit voorvoegsel instellen op wat u maar wilt.

Voorvoegsel instellen in nieuwe WordPress-installatie

Als u de beroemde installatie van 5 minuten gebruikt Wijzig het voorvoegsel in het veld tijdens de installatie.

voer hier de afbeeldingsbeschrijving in

Als u installeert via WordPress CLI, gebruikt u de volgende opdracht:

// set other variables above, or substitute your strings in.
WP_DBPREFIX=foo
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU

Wijzig het voorvoegsel in bestaande installatie

Het wijzigen van het voorvoegsel is iets moeilijker. Gebruik eerst een FTP-programma zoals FileZilla om het wp-config.php bewerken. Wijzig de invoer $table_prefix = 'wp_'; naar $table_prefix = 'foo_'; het vervangen van 'foo' voor het gewenste voorvoegsel.

Vervolgens moeten we de database bewerken. Als u toegang hebt tot phpMyAdmin, logt u in en doet u het volgende:

  • Selecteer de WordPress-database voer hier de afbeeldingsbeschrijving in
  • Selecteer alle tabellen en selecteer in de vervolgkeuzelijst het tabelvoorvoegsel vervangen. voer hier de afbeeldingsbeschrijving in
  • Typ 'wp_' in 'Van'. Typ in "Aan" uw voorvoegsel, 'foo_' in dit voorbeeld en druk op "Verzenden". voer hier de afbeeldingsbeschrijving in
  • Tabellen moeten er nu zo uitzien: voer hier de afbeeldingsbeschrijving in

Als u phpMyAdmin niet kunt gebruiken, gebruikt u de volgende MySQL-opdracht:

RENAME table `wp_comments` TO `foo_comments`

U moet die opdracht voor elke tabel uitvoeren en 'opmerkingen' vervangen door de andere tabelnamen.

Vervolgens moeten we enkele vermeldingen in sommige tabellen wijzigen. Voer deze query uit op de tabel 'foo_options'

SELECT * FROM  foo_options WHERE option_name LIKE '%user_roles%'

Er moet een vermelding met optienaam van 'wp_user_roles' verschijnen. Wijzig in dat item het item 'option_name' van wp_user_roles in foo_user_roles .

Open vervolgens de 'foo_usermeta' tabel en vind elk item met 'wp_' aan de voorkant. voer hier de afbeeldingsbeschrijving in en verander het naar 'foo_'. Het aantal vermeldingen dat u moet wijzigen, is afhankelijk van het aantal gebruikers dat u hebt. voer hier de afbeeldingsbeschrijving in

Dat zou alles moeten zijn wat u nodig hebt om het voorvoegsel in een bestaande installatie te wijzigen



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow