Sécurité et .htaccess

8

Il y a environ un mois, j'ai commencé un blog WordPress sur un serveur hébergé lié à un passe-temps. Donc, je suis nouveau pour le moment.

Comme je suis préoccupé par la sécurité, une chose que j'ai faite a été d'installer le plugin WP Security Scan. Selon les résultats du plugin, mon site vérifie sauf que j'obtiens ceci dans les résultats sous la forme d'un drapeau rouge:

Le fichier .htaccess n'existe pas dans wp-admin / (j'y ai intégré et il n'existe pas)

Ok, j'ai donc fait une recherche considérable sur le problème et trouvé trop d'informations sur .htaccess. J'ai parcouru Hardening WordPress sur le site WordPress.org, etc. Et j'ai également rencontré cet article: http://digwp.com/2010/07/wordpress-security-lockdown/

Quoi qu'il en soit, je me suis essentiellement confondu avec la pléthore d'informations disponibles.

Que doit contenir le fichier .htaccess dans wp-admin? J'ai lu que ce fichier .htaccess devrait protéger par mot de passe le répertoire wp-admin et j'ai également lu que cela pouvait causer des problèmes de fonctionnalité.

Votre aide est grandement appréciée.

Merci. -wdypdx22

Mettre à jour Ok, donc je ne suis pas connecté à mon blog et j'utilise un ordinateur différent de d'habitude. J'entre l'url www.mysite.com/wordpress/wp-admin/ et il y a une redirection vers la connexion. Si c'est ce qui se passe, un fichier htaccess est-il même nécessaire dans le répertoire wp-admin?

wdypdx22
la source
Avez-vous essayé de demander au développeur de WP Security Scan?
Doug
@Doug - Oui, le développeur a un forum avec au moins 2 autres personnes posant exactement la même question et aucune réponse. Aussi, j'ai posté sur wordpress.org et aucune réponse là-bas non plus. Alors, peut-être que cela n'a même pas d'importance?
wdypdx22

Réponses:

8

MISE À JOUR : Lorsque j'ai posté ma réponse pour la première fois, j'ai raté le nœud de la question; ma réponse portait sur la.htaccesssécurité en général et est maintenant répertoriée sous la double ligne (regardez en bas si cela vous intéresse.) Malheureusement, je n'ai pas d'expérience spécifique en matière de sécurisation de l'/wp-admin/utilisation.htaccess, je vais donc simplement énumérer les deux ressources que je poursuivrai quand et si J'en ai besoin:

Le premier recommande ce qui suit (et voici quelques discussions à ce sujet .)

<Files ~ "\.(php)$">
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName "restricted"
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>

Ce dernier a beaucoup d'informations, notamment dans les commentaires, mais certes vous fournir une liste à lire n'est pas la réponse que vous cherchiez.

Désolé, je n'aurais pas pu être plus utile sur celui-ci.

========================================

En règle générale, WordPress n'a que les éléments suivants qui gèrent le traitement de permalien et ne sont pas liés à la sécurité:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Récemment, j'ai trouvé le plugin WP htacess Control qui en gère beaucoup .htaccesspour vous et je l'aime beaucoup. Après avoir modifié ses paramètres, il a ajouté les options suivantes:

# WPhtC: Disable ServerSignature on generated error pages
ServerSignature Off

# WPhtC: Disable directory browsing
Options All -Indexes

# WPhtC: Protect WP-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# WPhtC: Protect .htaccess file
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>

Il a également ajouté ces options qui concernent les performances plutôt que la sécurité:

# WPhtC: Setting mod_gzip
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

# WPhtC: Setting mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>

Au-delà de celui-ci, il y a des plugins que je n'ai pas essayés mais qui sont axés sur la sécurité et qui interagissent avec .htaccess- vous pouvez les essayer chacun juste pour voir ce qu'ils font au .htaccessfichier:

Au-delà de cela, si vous voulez connaître la ressource expert (IMO) # 1 sur la sécurité Apache liée à WordPress, vous pouvez la trouver sur AskApache.com ; mec est hardcore! Son blog ne résoudra pas votre problème " trop d'informations " mais au moins vous pouvez le voir comme une ressource faisant autorité!

Voici quelques exemples (bien que tous ne soient pas directement liés à WordPress, ils sont tous applicables):

Quoi qu'il en soit, j'espère que cela vous aidera.

MikeSchinkel
la source
Excellentes informations pour la sécurité globale, mais ne répondent pas à propos de / wp-admin / folder
Ryan Gibbons
Bien que toutes ces informations puissent être utiles, rien de tout cela n'a à voir avec la question. Tout cela concerne le .htaccess dans le répertoire racine. La question d'origine portait sur .htaccess dans le sous-répertoire wp-admin.
Doug
@ Insanity5902 @Doug: Mon mauvais. Je ne l'ai tout simplement pas vu quand je l'ai lu.
MikeSchinkel
2
J'ai accepté votre réponse essentiellement parce que, en fin de compte, la sécurité globale est mon objectif. Mon blog est très récent, mais mon trafic augmente. Fondamentalement, je veux juste que des mesures de sécurité soient mises en place si et quand je commence à recevoir beaucoup de trafic. -Merci
wdypdx22
1
@wdypdx - Un grand merci. J'étais vraiment gêné quand j'ai réalisé que j'avais raté votre question centrale en gras. Heureux que cela se soit avéré positif.
MikeSchinkel
4

L'idée derrière cela, si vous avez des fichiers étranglés derrière des mises à niveau précédentes ou pour des attaques zero-day, votre système pourrait être piraté. Sécuriser également le wp-admin par une autre méthode aidera contre les attaques par force brute.

Une idée) Si c'est juste vous qui éditez le site, vous pouvez limiter l'accès au dossier par ip en faisant quelque chose comme

<Files *>
Order deny,allow
Deny from All
Allow from 1.2.3.4
</Files>

Pour le rendre un peu plus tolérable pour les systèmes IP dynamiques; vous devriez pouvoir autoriser à partir d'un sous-bloc, donc si votre pool IP est toujours de 1.2.3.128 à 1.2.3.255, alors vous pourriez faire quelque chose comme 1.2.3.128/25

Une autre idée) nécessite HTTPS, donnez une autorisation refusée s'ils l'essaient sur http. Mais ne les redirigez pas vers https. Vous pouvez utiliser un certificat auto-signé ou un certificat CA Cert pour vous en tirer sans en acheter un.

Ryan Gibbons
la source
0

J'inclus toujours un fichier .htaccess dans wp-admin, même si je n'y mets jamais rien, car il annule le fichier du répertoire racine. Certaines personnes utilisent le fichier wp-admin .htaccess pour masquer le répertoire entier de toutes les adresses IP sauf une, d'autres l'utilisent pour protéger le répertoire par mot de passe.

Cependant, la protection par mot de passe de la section admin avec .htaccess désactivera les communications ajax, car elles interagissent avec wp-admin / admin-ajax.php.

En général, je ne vois pas beaucoup de raisons d'ajouter quoi que ce soit au fichier admin .htaccess, sauf si vous êtes extrêmement paranoïaque. Les attaques ciblent généralement le contenu wp de toute façon.

John P Bloch
la source
1
Un fichier .htaccess dans un sous-répertoire peut remplacer les directives dans le répertoire racine, mais un .htaccess vide n'annule rien.
Doug
Ensuite, j'ai été mal informé. Hmmmm ...
John P Bloch
Ce que vous devez faire, c'est inverser le contenu de la racine, le cas échéant. Cependant, la réponse d'Insanity est meilleure que celle indiquée comme la meilleure, bien qu'il serait préférable qu'elle contienne les informations d'Insanity.
Arlen Beiler
0

j'utilise également la bibliothèque sseqlib pour plus de sécurité et différents hacks dans les .htacces; voir les liens

bueltge
la source