1. Ukrycie wp-config.php and .htaccess files
Dodanie w htaccess:
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
<Files .htaccess>
order allow,deny
deny from all
</Files>
2. Zablokowanie edycji plików przez zaplecze
W pliku wp_config.php
define('DISALLOW_FILE_EDIT', true);
3. Wyłączenie indeksowania i przeglądania katalogów
W htaccess na końcu pliku:
Options -Indexes4. Zmiana prefixu bazy danych
Najprościej wtyczka Brozzme DB Prefix & Tools Add-ons
5. Zabezpieczenie wp-includes
W htaccess:
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
6. Zablokowanie XML-RPC
W functions.php (blokuje wszystko):
add_filter('xmlrpc_enabled', '__return_false');
Zablokowanie tylko pingbacków w functions.php
function webinsider_remove_only_xmlrpc_pingback( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
}
add_filter( 'xmlrpc_methods', 'webinsider_remove_only_xmlrpc_pingback' );
W htaccess:
<files xmlrpc.php>
Order allow,deny
Deny from all
</files>
7. Ukrycie wersji Wordpress.
W functions.php motywu:
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');
8. Instalacja wtyczki Wordfence
9. Regularny Backup
Backup na zewnętrzny serwer np. One Drive, Google Drive
10. Regularne aktualizacje wtyczek i motywu
11. Usunąć zbędne wtyczki i nieużywane motywy
12. Zmiana haseł na mocne
13. Instalacja SSL
Nie używając wtyczki!
W pliku htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https:
</IfModule>
W Wordpress w ustawieniach ogólnych zmienić adres strony z http na https