Améliorez la sécurité de WordPress en masquant les ressources non publiques


9

Je suis nouveau chez wordpress et je souhaite améliorer la sécurité de wordpress multisite en masquant les ressources non publiques, par exemple. wp-admin, wp-config etc.

Mon paramètre semble fonctionner, mais je ne sais pas si ce paramètre peut casser quelque chose (fonctionnalités de base, plug-in populaire, etc.)

  1. Mes paramètres sont-ils bons de manière générale?
  2. Mes paramètres améliorent la sécurité réelle ou je perds mon temps?

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);

3
si vous êtes nouveau et incertain, vérifiez les plugins comme Sucuri Security, iThemes Security, Wordfence Security ... ceux-ci ont plusieurs options. (Ce n'est pas que je vous oblige à utiliser des plugins mais ils ont une base utilisateur solide)
bravokeyl

Réponses:


1

L'utilisation remove_action()peut être supprimer des liens inutiles par exemple:

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. 

1
Veuillez utiliser la mise en forme du code lorsque vous publiez du code.
bravokeyl

-1

Utilisez-vous votre site sur cPanel?

Si c'est le cas, explorez votre panneau de contrôle et vous verrez quelques excellents modules.

  • protection hotlink
  • protection sangsue

Sous l' onglet Avancé , recherchez les index. Une fois que vous avez cliqué, vous pouvez personnaliser et «masquer les ressources non publiques» très facilement.

entrez la description de l'image ici


la liaison à chaud n'a rien à voir avec la sécurité. Vous pouvez être parfaitement sécurisé et autoriser les liens chauds et les "sangsues"
Mark Kaplun

Vous vous trompez avec cette déclaration. Je ne peux pas croire que j'ai obtenu un downvote pour avoir publié plusieurs techniques d'optimisation. (facepalm)
Oncle Iroh

1
c'est un facepalm si vous ne connaissez pas la différence entre optimisation et sécurité :(.
Mark Kaplun
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.