Seguridad y acceso.

8

Hace aproximadamente un mes comencé un blog de WordPress en un servidor alojado relacionado con un hobby. Entonces, soy nuevo en esto en este momento.

Como me preocupa la seguridad, una cosa que hice fue instalar el complemento WP Security Scan. Según los resultados del complemento, mi sitio se desprotege, excepto que obtengo esto en los resultados como una bandera roja:

El archivo .htaccess no existe en wp-admin / (ingresé allí y no existe)

Ok, hice una búsqueda considerable sobre el tema y encontré demasiada información sobre .htaccess. He pasado por Endurecimiento de WordPress en el sitio de WordPress.org, etc. Y también me encontré con 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

Actualización Ok, así que no he iniciado sesión en mi blog y estoy usando 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, ¿se necesita un archivo htaccess en el directorio wp-admin?

wdypdx22
fuente
¿Has intentado preguntarle al desarrollador de WP Security Scan?
Doug
@Doug: Sí, el desarrollador tiene un foro con al menos otras 2 personas que hacen exactamente la misma pregunta y no responden. Además, publiqué en wordpress.org y tampoco hubo respuesta allí. Entonces, ¿tal vez esto ni siquiera importa?
wdypdx22

Respuestas:

8

ACTUALIZACIÓN : Cuando publiqué mi respuesta por primera vez, perdí el quid de la pregunta; mi respuesta fue sobre.htaccessla seguridad en general y ahora está en la lista debajo de la línea doble (mirar hacia abajo si le interesa.) Por desgracia no tengo experiencia específica con la obtención de/wp-admin/usar.htaccessasí que voy a enumerar simplemente los dos recursos perseguiré cuando y si Lo necesito:

El primero recomienda lo siguiente (y aquí hay una 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 admitir que proporcionarle una lista para leer no es la respuesta que estaba buscando.

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

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

Por lo general, WordPress solo tiene lo siguiente que maneja el procesamiento de enlaces permanentes 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 encontré el plugin WP htacess Control que maneja mucho .htaccesspara ti y prefiero 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 tratan 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 se centran en la seguridad y con los que interactúan .htaccess; puede probarlos cada uno solo para ver qué hacen con el .htaccessarchivo:

Más allá de eso, si desea conocer el recurso experto # 1 (IMO) sobre la seguridad de Apache relacionado con WordPress , puede encontrarlo en AskApache.com ; amigo es hardcore! Su blog no resolverá su problema de " demasiada información ", ¡pero al menos puede verlo como un recurso autorizado!

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

De todos modos, espero que esto ayude.

MikeSchinkel
fuente
Gran información para la seguridad general, pero no responde sobre la carpeta / wp-admin /
Ryan Gibbons
Si bien esto puede ser información útil, nada de eso tiene nada que ver con la pregunta. Todo esto se relaciona con .htaccess en el directorio raíz. La pregunta original era sobre .htaccess en el subdirectorio wp-admin.
Doug
@ Insanity5902 @Doug: Mi mal. Simplemente no lo vi cuando lo estaba leyendo.
MikeSchinkel
2
Acepté su respuesta básicamente porque, en resumen, la seguridad general es mi objetivo. Mi blog es muy nuevo, pero mi tráfico está creciendo. Básicamente, solo quiero medidas de seguridad para cuando empiece a recibir mucho tráfico. -Gracias
wdypdx22
1
@wdypdx - Muchas gracias. Me sentí realmente avergonzado cuando me di cuenta de que me había perdido su pregunta central en negrita. Me alegro de que haya resultado positivo.
MikeSchinkel
4

La idea detrás de esto es que si tienes archivos estrangulados detrás de actualizaciones pasadas o ataques de día cero, tu sistema podría ser pirateado. Asegurar también el wp-admin por otro método ayudará contra los ataques de fuerza bruta.

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

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

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

Otra idea) requiere HTTPS, otorgue un permiso denegado si lo intentan por http. Pero no los redirija a https. Puede usar un certificado autofirmado o uno de CA Cert para sobrevivir sin comprar uno.

Ryan Gibbons
fuente
0

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 todo el directorio de todas menos una dirección IP, otras lo usan para proteger con contraseña el directorio.

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 nada al archivo admin .htaccess a menos que seas extremadamente paranoico. Los ataques generalmente apuntan a wp-content de todos modos.

John P Bloch
fuente
1
Un archivo .htaccess en un subdirectorio puede anular las directivas en el directorio raíz, pero un .htaccess en blanco no niega nada.
Doug
Entonces me han informado mal. Hmmmm ...
John P Bloch
Lo que debe hacer es revertir lo que está en la raíz, en todo caso. Sin embargo, la respuesta de Insanity es mejor que la marcada como la mejor, aunque sería mejor si tuviera la información de Insanity.
Arlen Beiler