Proteger un blog con htaccess es sencillo si sabes estos pequeños trucos

A veces pensamos que planear una buena defensa, más alla de instalar un plugin, es complicado.

Pero nada más lejos de la realidad.

Proteger un blog con htaccess es sencillo, con unos pequeños trucos que te quiero presentar, y veras que luego solo consiste en ¡copiar y pegar!

Vale, proteger un blog con htaccess será sencillo, pero ¿que es?

¿En serio? ¿No me lees? Vale que últimamente haya escrito menos, pero justo el último articulo habla sobre como acelerar un blog usando el fichero .htaccess, y en el te explico que es y hace ese fichero.

Pues te resumo.

.htaccess es un fichero de configuración especial, normalmente en el root de tu servidor web, y es usado por apache o nginx (el software de tu servidor web), para poder gestionar tus directorios, accesos, redirecciones, etc…

¿ya te suena más para que sirve?

El caso es que no vale solo para acelerar nuestro sitio web, o para las redirecciones.

Podemos usarlo para protegernos de ataques.

¿Te interesa saber como?

Te presento mis trucos para defenderme con htaccess

Partimos de la base de que un fichero .htaccess típico suele contener este código:

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

Aparte de lo que añadieras para mejorar la velocidad de carga. Pero ya sabes que cualquier cosa que añadas, va al final, y sobre todo tras el comentario #END WordPress.
¡Ah! y realiza tus copia de seguridad antes.

Truco #1. Protege el fichero wp-config.php

Ya sabes que el fichero wp-config se encuentra en el directorio raíz de tu wordpress, y contiene datos muy importantes, como la conexión a la base de datos.

Aunque no es un fichero accesible o visible desde fuera, no esta de más un poco de protección extra.

Añade este código a tu fichero .htaccess, para prevenir accesos no deseados.

order allow,deny  deny from all    

Truco #2. Previene la exploración de directorios.

Como WordPress es tan popular, todo el mundo conoce la estructura de directorios que tiene.

Por tanto, siempre puedo probar por ejemplo a entrar en www.tudominio.com/wp-content/plugins

Y si tengo suerte y no esta protegido, me listará todos los plugins que tienes, siendo fácil averiguar si alguno es vulnerable.

Asi que para prevenir, usa este código en tu fichero.

# directory browsing  Options All -Indexes  

Truco #3. Acceder solo al panel de admin desde tu IP

No soy muy amigo de este truco, ya que solo podrás acceder desde esa IP, y a veces se necesita acceder desde un tablet o dispositivo móvil por ejemplo, pero si siempre trabajas en tu blog desde casa o la oficina, esta es una foma eficaz de protegerlo.

Además hoy en día, si tienes por ejemplo ADSL y telefonía IP, tu IP será fija, aunque no la hayas contratado asi.

Para hacer esto usaremos este truco:

 order deny,allow   allow from 255.255.255.255   deny from all

Por supuesto sustituye 255.255.255.255 por tu propia ip. La puedes averiguar en cualesmiip.com

Truco #4. Protege el fichero .htaccess

No es de locos que despues de gastar tu tiempo protegiendo a fondo tu blog configurando el fichero .htaccess al final lo dejemos sin proteger.

Con este truco pararas cualquier intento de localziar un fichero que empiece por «hta».

 order allow,deny   deny from all   satisfy all  

Truco #5. Usa la lista 5G

Pues la lista 5G es una sencilla lista para el fichero .htaccess que bloquea una serie de usos malintencionados ya detectados.

Aunque evidentemente debería actualizarse, de por si ya nos va quitando algo, y además va muy bien con WordPress.

Aqui te dejo la lista:

# 5G BLACKLIST/FIREWALL (2013)  # @ http://perishablepress.com/5g-blacklist-2013/    # 5G:[QUERY STRINGS]    	RewriteEngine On  	RewriteBase /  	RewriteCond %{QUERY_STRING} ("|%22).*(<|>|%3) [NC,OR]  	RewriteCond %{QUERY_STRING} (javascript:).*(;) [NC,OR]  	RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR]  	RewriteCond %{QUERY_STRING} (\|../|`|='$|=%27$) [NC,OR]  	RewriteCond %{QUERY_STRING} (;|'|"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR]  	RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]  	RewriteCond %{QUERY_STRING} (boot.ini|echo.*kae|etc/passwd) [NC,OR]  	RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|[|%) [NC]  	RewriteRule .* - [F]      # 5G:[USER AGENTS]    	# SetEnvIfNoCase User-Agent ^$ keep_out  	SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|jakarta|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) keep_out  	  		Order Allow,Deny  		Allow from all  		Deny from env=keep_out  	      # 5G:[REQUEST STRINGS]    	RedirectMatch 403 (https?|ftp|php)://  	RedirectMatch 403 /(https?|ima|ucp)/  	RedirectMatch 403 /(Permanent|Better)$  	RedirectMatch 403 (=\'|=\%27|/\'/?|).css()$  	RedirectMatch 403 (,|)+|/,/|{0}|(/(|...|+++|||\"\")  	RedirectMatch 403 .(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$  	RedirectMatch 403 /(contac|fpw|install|pingserver|register).php$  	RedirectMatch 403 (base64|crossdomain|localhost|wwwroot|e107_)  	RedirectMatch 403 (eval(|_vti_|(null)|echo.*kae|config.xml)  	RedirectMatch 403 .well-known/host-meta  	RedirectMatch 403 /function.array-rand  	RedirectMatch 403 );$(this).html(  	RedirectMatch 403 proc/self/environ  	RedirectMatch 403 msnbot.htm)._  	RedirectMatch 403 /ref.outcontrol  	RedirectMatch 403 com_cropimage  	RedirectMatch 403 indonesia.htm  	RedirectMatch 403 {$itemURL}  	RedirectMatch 403 function()  	RedirectMatch 403 labels.rdf  	RedirectMatch 403 /playing.php  	RedirectMatch 403 muieblackcat      # 5G:[REQUEST METHOD]    	RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)  	RewriteRule .* - [F]      # 5G:[BAD IPS]    	Order Allow,Deny  	Allow from all  	# uncomment/edit/repeat next line to block IPs  	# Deny from 123.456.789      # 5G:[WordPress]     RedirectMatch 403 /$&   RedirectMatch 403 (?i)/&(t|title)=   RedirectMatch 403 (?i)/.(bash|git|hg|log|svn|swp|tar)   RedirectMatch 403 (?i)/(1|contact|i|index1|iprober|phpinfo|phpspy|product|signup|t|test|timthumb|tz|visit|webshell|wp-signup).php   RedirectMatch 403 (?i)/(author-panel|class|database|manage|phpMyAdmin|register|submit-articles|system|usage|webmaster)/?$   RedirectMatch 403 (?i)/(=|_mm|cgi|cvs|dbscripts|jsp|rnd|shadow|userfiles)    

¡Esto es todo por hoy!

Espero que estos trucos te sirvan para hacer de tu web un lugar más seguro.

Usar todos los recursos a tu alcance es necesario para alejar a hackers y malware.

¿Estas probando estas técnicas? ¿Qué tal te fue?

2 comentarios en “Proteger un blog con htaccess es sencillo si sabes estos pequeños trucos”

  1. Fernando Garcia

    buen dia, he leido las recomendaciones que tiene para las paginas hechas en wordpress, llegue aqui buscando una solucion, hace pocos dias migré una pagina que hecha en wordpress, y al subirla todo iba bien, pero cuando intento acceder a la administracion me dice que ha sido hackeada, he desinstalado la wordpress de mi hosting, borrado todo tipo de directorios, pero al subirla es el mismo resultado hackeada la url es http://www.cedes.edu.co y al intentar acceder a la administracion viene mi problema http://www.cedes.edu.co/wp-admin espero me pueda ayudar en algo porque la verda ya no se que hacer, quedo atento a su respuesta.

    salu2.!

    1. Hola Fernando.

      Ya respondi a su correo. en principio parece que tiene hecha una redirección, probablemente a nivel de htaccess, que ahora mismo al menos apunta a otro WordPress instalado tambien en su servidor.

      Tendría que realizar una revisión a fondo de su instalación.

      Y desde luego no parece haber sido infectado, si no haber sido hecho pro alguien con acceso a su servidor, asi que cambie todas las contraseñas.

Los comentarios están cerrados.


COMPARTE ESTE ARTÍCULO​

También te puede interesar:

Ei, ¿a qué estás esperando?
Pide acceso ahora a mi academia de forma gratuita. Estoy deseando compartir contigo todo lo que sé sobre WordPress, escuelas online y herramientas que facilitan la vida del emprendedor online.

te contaré cÓmo aprovechar el auge de la formación online actual, y que claves has de tener en cuenta para tener más alumnos y no cometer errores aumentando las ventas de tu negocio digital.
Cómo mejorar el soporte de tu web, y aspectos de mi día a día que te puedan ayudar a crecer como emprendedor.

Ir arriba