Securización básica de WordPress

Securización básica de WordPress

En este post te recomendamos aplicar las siguientes medidas de seguridad básicas en toda instalación WordPress. Estos consejos no son todos los posibles, pero sí son útiles para proteger WordPress de malware y otros peligros.

Securización mediante el archivo .htaccess

# BEGIN WordPress 
# Las directivas (líneas) entre «BEGIN WordPress» y «END WordPress» son 
# generadas dinámicamente y solo deberían ser modificadas mediante filtros de WordPress. 
# Cualquier cambio en las directivas que hay entre esos marcadores serán sobrescritas. 
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
RewriteBase / 
RewriteRule ^index.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 
#inicio Proteger el archivo wp-config.php 
order allow,deny 
deny from all 
allow from xxx.xxx.xxx.xxx 
//cambiar por la ip publica 
#fin Proteger el archivo wp-config.php 

# inicio Block WordPress xmlrpc.php 
requests order deny,allow 
deny from all 
allow from xxx.xxx.xxx.xxx 
//cambiar por la ip publica 
# fin Block WordPress xmlrpc.php requests 

# inicio No dejamos acceder a wp-includes 
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] 
# fin No dejamos acceder a wp-includes 

# inicio Cabecera Content Security Policy 
Header always set Content-Security-Policy "upgrade-insecure-requests;" 
# fin Cabecera Content Security Policy 

#inicio proteger el archivo wp-login 
order deny,allow 
allow from xxx.xxx.xxx 
//cambiar por la ip publica deny from all 
#fin proteger el archivo wp-login

 

Securización mediante el archivo functions.php de tu childtheme

Ruta:

/wp-content/themes/flatsome-child/functions.php

 

 

<?php 
// Cabecera X-XSS-Protection para evitar ataques XSS en IE y Chrome 
add_action( 'send_headers', 'add_header_xxssprotection' ); 
function add_header_xxssprotection() { 
header( 'X-XSS-Protection: 1;mode=block' ); } 
// La cabecera X-Frame-Options sirve para prevenir que la página pueda ser abierta en un frame, o iframe 
add_action( 'send_headers', 'add_header_xframeoptions' ); 
function add_header_xframeoptions() { 
header( 'X-Frame-Options: SAMEORIGIN' ); } 
// la cabecera X-Content-Type-Options en la respuesta con el valor “nosniff”, los navegadores que soportan esta cabecera (IE y Chrome), no cargan las hojas de estilos, ni los scripts (Javascript), cuyo Myme-type no sea el adecuado 
add_action( 'send_headers', 'add_header_xcontenttype' ); 
function add_header_xcontenttype() { 
header( 'X-Content-Type-Options: nosniff' ); 
}