Asegurando WordPress con .htaccess

He hablado muchas veces del fichero .htaccess, un archivo que, aunque no pertenece a la instalación de WordPress, es necesario para que funcionen muchas cosas que seguro necesitaremos, desde los enlaces permanentes hasta la protección de nuestras carpetas.

Pero como andaba todo algo disperso he pensado que, en estos tiempos que corren, no está de mas un recordatorio y, por supuesto, un resumen.

Pero antes vamos a ver lo que ya había por si te has perdido algo, luego escribimos las líneas para que tu .htaccess asegure tu WordPress.

¿Hacemos una recopilación? …

Y vaya, que ¿por qué no recopilar unos cuantos de estos trucos y preparar unas líneas con las que asegurar WordPress desde .htaccess?. Sería algo así …
# Asegurando WordPress
 
# Desactivar la firma de servidor
ServerSignature Off

# Desactivar el listado de carpetas y archivos
Options All -Indexes
 
# Protegiendo el mismo fichero htaccess
<files .htaccess>
order allow,deny
deny from all
</files>

# Protegiendo htaccess de manera extrema
<files ~ "^.*\.(&#91;Hh&#93;&#91;Tt&#93;&#91;Aa&#93;)">
 order allow,deny
 deny from all
 satisfy all
</files>

# Protegiendo wp-admin por IP
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “Access Control”
AuthType Basic
order deny,allow
deny from all
# IP cuando estoy en casa
allow from xx.xxx.xxx.xx
# IP cuando estoy en el trabajo
allow from xx.xxx.xxx.xxx
allow from xxx.xxx.xxx.200
# IP de otro usuario con permisos
allow from xxx.xxx.x.xx
 
# Protegiendo el fichero wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
 
# Protegiéndonos de los commentarios spam
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*tublog.com* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>
 
# Desactivando el hotlinking con  un mensaje de aviso
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.xyz.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xyz.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xyz.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xyz.com$ [NC]
RewriteCond %{HTTP_REFERER} !google. [NC]
RewriteCond %{HTTP_REFERER} !msn. [NC]
RewriteCond %{HTTP_REFERER} !live. [NC]
RewriteCond %{HTTP_REFERER} !yahoo. [NC]
RewriteCond %{HTTP_REFERER} !gravatar. [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]
</IfModule>

# Baneo por IP
<Limit GET POST>
 order allow,deny
 deny from xx.xx.xxx.xxx /aquí pones la IP a banear
 allow from all
</Limit>

# Baneo por dominio
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} dominio_a_banear\.com [NC]
RewriteRule .* - [F]

# Evitar splogs
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-signup.php*
RewriteCond %{HTTP_REFERER} !.*miwordpressmu.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://disney.com/ [R=301,L]

Unos detalles … 

  1. La «serversignature» es un texto en los mensajes de error que indica la versión de Apache que usamos e incluso el email del administrador
  2. ¡Ojo!, no pegues directamente eso en tu .htaccess, que hay muchas líneas de ejemplo

Ea, a ir seguro por esas webs, que hay mucho Apache suelto 😉

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(9 votos, promedio: 4.9)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

34 comentarios en “Asegurando WordPress con .htaccess”

  1. Hola Fernando, gracias por el aporte. 

    Una pregunta: En los apartados evitar splogs y hotlinks los dominios que das de ejemplo: xyz.com y disney.com Los debemos cambiar por nuestro dominio?

    Saludos

  2. Hola Fernando, muy bueno el post, pero tengo una duca don el detalle N° 2
     "¡Ojo!, no pegues directamente eso en tu .htaccess, que hay muchas líneas de ejemplo"

    A que te refieres con eso ?

  3. Muchas gracias Fernando, este tipo de post nos vienen muy bien a los que te seguimos desde hace relativamente poco por eso de tener todo junto.

  4. Fernando, puedes poner un modelo de redirección 301 para enlaces permanentes digamos de una estructura %postname%.html a simplemente %postname%; he buscado información en varios lugares y nada de nada. Muchas gracias.

    1. Te lo busco pero con plugins lo haces sin problemas, incluso el Platinum SEO detecta cambios de permalinks y hace la redirección transparente. Lo digo por si te urge.

      1. No he utilizado el Platinum SEO, utilizo el SEO ultimate, pero preferiría hacerlo mediante htaccess, al menos no me urge hasta que salga la versión 3 de WP; por los cambios en permalinks que publicaste.

      2. No he utilizado el Platinum SEO, utilizo el SEO ultimate, pero preferiría hacerlo mediante htaccess, al menos no me urge hasta que salga la versión 3 de WP; por los cambios en permalinks que publicaste.

      3. No he utilizado el Platinum SEO, utilizo el SEO ultimate, pero preferiría hacerlo mediante htaccess, al menos no me urge hasta que salga la versión 3 de WP; por los cambios en permalinks que publicaste.

  5. Hola, soy muy novato en esto de wordpress y siguiendo algunos tutoriales que encontrado para instalar los permalinks en wordpres me sale un mensaje de actualizar el .htaccess, pero no se en donde se encuentra este archivo o si quehay que crearlo en que parte va este archiuvo creado, es para un instalacion local

    1. Jesus Mora Santos

      Yo ando ahora mismo con el mismo problema que tu cris Asch, y llevo ya varias horas con lo mismo… por cierto, uso mac OS Lion

  6. Jesus Mora Santos

    Solucionado el problema… da permisos a la carpeta contenedora de tu web o blog y se te creara en oculto

  7. Bueno jesus gracias por tu respuesta, ya di los permisos pero aun asi no me aprecio el dichiso archivo, asi que de tanto estar lideando una solucion fue crear el archivo y ponerlo en la raiz en donde esta el blog,

  8. A mi no me aparece ninguna de mis imágenes alojadas en mi servidor desactivando el hotlinking:

    # Desactivando el hotlinking con  un mensaje de aviso

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://www.xyz.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.xyz.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://xyz.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://xyz.com$ [NC]
    RewriteCond %{HTTP_REFERER} !google. [NC]
    RewriteCond %{HTTP_REFERER} !msn. [NC]
    RewriteCond %{HTTP_REFERER} !live. [NC]
    RewriteCond %{HTTP_REFERER} !yahoo. [NC]
    RewriteCond %{HTTP_REFERER} !gravatar. [NC]
    RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
    RewriteRule .*.(jpg|jpeg|gif|png|bmp)$ – [F,NC]

    Que estaré haciendo mal ?

  9. Pingback: Inyección de código en WordPress – antivirus falso | Ayuda WordPress

  10. Pingback: .htaccess por defecto para WordPress - DragordPress | DragordPress

  11. Hola, Desde meses estoy buscando como permitir el hotlinking a facebook para poder compartir enlaces con imágenes de mis publicaciones. Desgraciadamente a día de hoy sólo he encontrado como denegar el acceso pero no como permitirlo.

    Tengo la siguiente codificicación en .httaccess que me permite compartir enlaces con imagenes en Google+ pero no en Facebook:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    Espero que alguien me pueda ayudar a solucionar el problema.

    Gracias de antemano!

  12. Otro que llega nuevo y con estoy muy pez, rogaria que alguien me echara un cable con este fichero … (peque y lo puse tal cual) y claro la pagina dejo de verse, menudo susto, luego ya lo quite, pero claro no tengo nada y necesito activar esta proteccion, ¿alguien que me eche un cable?

  13. Jonay Rodrígu

    Si se te queda en blanco al poner eso en el htaccess, es por que tu hosting no lo permite.

    No te preocupes, WordPress es muy seguro, esto es adicional, pero no necesario u obligatorio.

    Veo que haz cambiado NukeET por WordPress, Bien echo!!

  14. hola buenas noches.. como hago para evitar que se cambie el achivo .htaccess?, lo anterior debido a algun proceso esta ubicando unas redirecciones a sitios con software malicioso.. lo he cambiado y vuelve y lo modifica

  15. Una duda
    Solo se puede tener un httdocs, o se pueden crear dentro de los subdominios (carpetas) donde tenga instalado wordpress en mi hosting?

  16. Pingback: Seguridad en WordPress – WP Canarias

  17. Pingback: Por qué no debes proteger con contraseña /wp-admin/

  18. Pingback: Cómo aumentar seguridad en wordpress para evitar ataques

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido