Mejore la seguridad de WordPress al ocultar recursos no públicos

9

Soy nuevo en WordPress y quiero mejorar la seguridad de WordPress multisitio al ocultar recursos no públicos, por ejemplo. wp-admin, wp-config, etc.

Mi configuración parece funcionar, pero no sé si esta configuración puede romper algo (funciones principales, plug-in popular, etc.)

  1. ¿Son buenos mis ajustes en general?
  2. ¿Mi configuración mejora la seguridad real o estoy perdiendo el tiempo?

httpd-vhosts.conf (apache)

# Disallow public access php for .htaccess and .htpasswd files
<Files ".ht*">
    Require all denied
</Files>

# Disallow public access for *.php files in upload directory
<Directory "/htdocs/wp-content/uploads/">
   <Files "*.php">
       deny from all
   </Files>
</Directory>

# Disallow public access for... 
<Files "wp-config.php">
   order allow,deny
   deny from all
</Files>

<Files "readme.html">
   order allow,deny
   deny from all
</Files>

<Files "license.html">
   order allow,deny
   deny from all
</Files>

<Files "license.txt">
   order allow,deny
   deny from all
</Files>

# Because we do not use any remote connections to publish on WP
<Files "xmlrpc.php">
  order allow,deny
  deny from all
</Files>

.htaccess

RewriteEngine On
RewriteBase /

# List of ACME company IP Address
SetEnvIf Remote_Addr "^127\.0\.0\."      NETWORK=ACME
SetEnvIf Remote_Addr "^XX\.XX\.XX\.XX$"  NETWORK=ACME
SetEnvIf Remote_Addr "^XX\.XX\.XX\.XX$"  NETWORK=ACME
SetEnvIf Remote_Addr "^XX\.XX\.XX\.XX$"  NETWORK=ACME

# Disallow access to wp-admin and wp-login.php
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php$ # allow fo admin-ajax.php
RewriteCond %{ENV:NETWORK} !^ACME$ # allow for ACME
RewriteCond %{SCRIPT_FILENAME} ^(.*)?wp-login\.php$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin\/
RewriteRule ^(.*)$ - [R=403,L]

# Block user enumeration
RewriteCond %{REQUEST_URI}  ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ / [L,R=301]

# Block the include-only files.
# see: http://codex.wordpress.org/Hardening_WordPress (Securing wp-includes)
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
#RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] # Comment for Multisite
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

function.php

<?php
// Remove unnecessary meta tags
// <meta name="generator" content="WordPress 4.1" />
remove_action('wp_head', 'wp_generator');

// Disable WordPress Login Hints
function no_wordpress_errors(){
    return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

wp-config.php

<?php
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);
ar099968
fuente
3
si eres nuevo e inseguro, verifica los complementos como Sucuri Security, iThemes Security, Wordfence Security ... esos tienen múltiples opciones (no es que te esté obligando a usar complementos pero tienen una base de usuarios sólida)
bravokeyl

Respuestas:

1

El uso remove_action()puede eliminar enlaces innecesarios, por ejemplo:

remove_action('wp_head', 'rsd_link'); //removes EditURI/RSD (Really Simple Discovery) link.
remove_action('wp_head', 'wlwmanifest_link'); //removes wlwmanifest (Windows Live Writer) link.
remove_action('wp_head', 'wp_generator'); //removes meta name generator.
remove_action('wp_head', 'wp_shortlink_wp_head'); //removes shortlink.
remove_action( 'wp_head', 'feed_links', 2 ); //removes feed links.
remove_action('wp_head', 'feed_links_extra', 3 );  //removes comments feed. 
sunilsingh
fuente
1
Utilice el formato de código cuando publique código.
bravokeyl
-1

¿Está ejecutando su sitio en cPanel?

Si es así, explore su panel de control y verá algunos módulos excelentes.

  • protección hotlink
  • protección contra sanguijuelas

En la pestaña Avanzado , busque índices. Una vez que hace clic, puede personalizar y "ocultar recursos no públicos" muy fácilmente.

ingrese la descripción de la imagen aquí

Tio Iroh
fuente
El enlace activo no tiene nada que ver con la seguridad. Puede estar perfectamente seguro y permitir enlaces activos y "sanguijuelas"
Mark Kaplun
Eres incorrecto con esa afirmación. No puedo creer que haya recibido un voto negativo por publicar múltiples técnicas de optimización. (facepalm)
Tío Iroh
1
es un facepalm si no conoce la diferencia entre optimización y seguridad :(.
Mark Kaplun