Configuración de directivas Nginx en ISPConfig
Dentro del sitio, haciendo clic en “Options”, se nos abre una venta nueva con diferentes apartados a rellenar. Buscamos el apartado que se llama ‘Nginx Directives‘, donde tenemos que añadir las siguientes directivas:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
Directivas de seguridad para sitios Wordpress
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* /wp-includes/.*\.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /wp-content/.*\.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /wp-content/uploads/.*\.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /wp-content/plugins/.*\.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /wp-content/themes/.*\.php$ {
deny all;
access_log off;
log_not_found off;
}
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}
location ~* ^/tmp/.*\.(php|php5|phtml)$ {
deny all;
return 403;
}
location /wp-content/uploads/ {
location ~* \.(php|phtml)$ {
deny all;
}
}
Una vez añadidas las líneas anteriores, guardamos los cambios.
A continuación hay que modificar el fichero functions.php. Este fichero se encuentra en web/wp-includes. La modificación consiste en añadir las siguientes líneas al código:
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
Medidas de seguridad adicionales
Para comprobar la seguridad de un sitio, se puede usar el siguiente enlace:
https://transparencyreport.google.com/safe-browsing/search
Introduciendo el nombre de su dominio, este enlace permite ver si el dominio es seguro o no.
Para obtener más seguridad se pueden cambiar las salts de seguridad y credenciales en el fichero
wp-config.phpque se encuentra en el directorioweb. Los que están indicados con un rectángulo rojo son los que se tienen que cambiar por cualquier frase o combinación de letras, números y caracteres especiales.
Otra manera es también cambiar la contraseña de la base de datos. El cambio se tiene que hacer en el mismo fichero
wp-config.phpy en ISPConfig, en la parte de ‘Database users‘.