it-swarm-es.com

Seguridad y .htaccess

Hace aproximadamente un mes empecé un blog de WordPress en un servidor alojado relacionado con un pasatiempo. Por lo tanto, soy nuevo en esto en la actualidad.

Como me preocupa la seguridad, una cosa que hice fue instalar el complemento WP Escaneo de seguridad. De acuerdo con los resultados del complemento, mi sitio se retira, excepto que recibo esto en los resultados como una bandera roja:

El archivo .htaccess no existe en wp-admin/(I ssh'd allí y no existe)

Ok, así que hice una búsqueda considerable sobre el problema y encontré demasiada información en .htaccess. He pasado por Hardening WordPress en el sitio WordPress.org, etc. Y también encontré este artículo: http://digwp.com/2010/07/wordpress-security-lockdown/

De todos modos, básicamente me he confundido con la gran cantidad de información disponible.

¿Qué debe contener el archivo .htaccess en wp-admin? He leído que este archivo .htaccess debería proteger con contraseña el directorio wp-admin y también he leído que esto puede causar problemas de funcionalidad.

Ayuda con esto es muy apreciada.

Gracias. -wdypdx22

Actualizar Ok, así que no estoy conectado a mi blog y uso una computadora diferente a la habitual. Entro en la url www.mysite.com/wordpress/wp-admin/ y hay una redirección para iniciar sesión. Si eso es lo que sucede, ¿es incluso necesario un archivo htaccess en el directorio wp-admin?

8
wdypdx22

ACTUALIZACIÓN: la primera vez que publiqué mi respuesta, me perdí el quid de la pregunta; Mi respuesta fue sobre la seguridad de .htaccess en general y ahora aparece debajo de la línea doble (mire hacia abajo si le interesa). Desafortunadamente no tengo experiencia específica en asegurar /wp-admin/ usando .htaccess, así que simplemente enumeraré los dos recursos que buscaré cuando y si lo necesito

El primero recomienda lo siguiente (y aquí hay alguna discusión al respecto .)

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

Este último tiene mucha información, especialmente en los comentarios, pero es cierto que proporcionarte una lista para leer no es la respuesta que estabas buscando.

Lo siento, no podría haber sido más útil en este caso.

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

Típicamente, WordPress solo tiene lo siguiente que manejó el procesamiento de enlace permanente y no está relacionado con la seguridad:

# 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

Recientemente he encontrado el WP htacess Control plugin que administra una gran cantidad de .htaccess para ti y me gusta mucho. Después de ajustar su configuración, agregó las siguientes opciones:

# 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>

También agregó estas opciones que son sobre el rendimiento en lugar de la seguridad:

# 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>

Más allá de este hay algunos complementos que no he probado pero que están enfocados en la seguridad y que interactúan con .htaccess - puede probarlos solo para ver qué hacen con el archivo .htaccess:

Más allá de eso, si desea conocer el recurso experto (IMO) # 1 en Seguridad de Apache relacionada con WordPress , puede encontrarla en AskApache.com ; tio es hardcore! Su blog no solucionará tu problema " demasiada información " pero al menos puedes verlo como un recurso autorizado.

Aquí hay algunos ejemplos (aunque no todos están relacionados directamente con WordPress, todos son aplicables):

De todos modos, espero que esto ayude.

8
MikeSchinkel

La idea detrás de esto, si tiene archivos estrangulados detrás de actualizaciones anteriores o para ataques de día cero, su sistema podría ser hackeado. También asegurar el wp-admin por otro método ayudará contra ataques de fuerza bruta.

Una idea) Si solo está editando el sitio, puede limitar el acceso a la carpeta por IP haciendo algo como

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

Para hacerlo un poco más tolerable para los sistemas IP dinámicos; debería poder permitir desde un subbloque, por lo que si su grupo de IP es siempre de 1.2.3.128 - 1.2.3.255, entonces podría hacer algo como 1.2.3.128/25

Otra idea) requiere HTTPS, den un permiso denegado si lo intentan a través de http. Pero no los redireccione a los https. Puede utilizar un certificado autofirmado o uno de CA Cert para sobrevivir sin comprar uno.

4
Ryan Gibbons

también uso la biblioteca sseqlib para mayor seguridad y diferentes hacks en .htacces; ver los enlaces

0
bueltge

Siempre incluyo un archivo .htaccess en wp-admin, incluso si nunca pongo nada en él, ya que niega el archivo del directorio raíz. Algunas personas usan el archivo wp-admin .htaccess para ocultar el directorio completo de todas las direcciones IP excepto una, mientras que otras lo usan para proteger el directorio con una contraseña.

Sin embargo, la contraseña que protege la sección de administración con .htaccess deshabilitará las comunicaciones ajax, ya que interactúan con wp-admin/admin-ajax.php.

En general, no veo muchas razones para agregar algo al archivo .htaccess de administración a menos que esté extremadamente paranoico. Los ataques usualmente apuntan a wp-content de todos modos.

0
John P Bloch