6G Firewall – Bloquear Accesos Maliciosos a tu Web

Categorias: Hosting

6G Firewall - Bloquear Accesos Maliciosos a tu Web

Internet está llena de gente mala, atacantes, bots maliciosos, scripts creados con la única intención de hacerse con el control de nuestro sitio web o incluso de todo el servidor.

Esto es un hecho y no va a cambiar, así que la única opción que tenemos para protegernos es prepararse antes de que lleguen los problemas.

Créeme, da igual que tipo de sitio web tengas, sea grande o pequeño, si tienes una web presencial en un hosting compartido o dispones de un potente servidor VPS para ti sólo.

Puedes ser un objetivo de cualquier atacante, ya sea a través de un correo electrónico de un remitente conocido, pero lleno de archivos adjuntos con virus o por usar un theme de WordPress sin actualizar.

En Hostinet nos tomamos la la seguridad muy en serio y en todos los servidores administrador por nosotros, nos encargamos de añadir medidas de seguridad importantes:

No obstante, tú, como administrador de tu web, también deberías tomar partido en la seguridad e integridad de tu proyecto web.

Da igual que Hostinet use todos los controles de seguridad que tenga en su mano, si como contraseña sigues usando 12345

Así que es debemos poner algo de nuestra parte para que nuestro proyecto web esté a salvo de la «gente mala de Internet».

Aunque un ataque no tenga éxito, puede acabar con los recursos de nuestro hosting y nuestro sitio web acabar con problemas temporales de desconexión, lentitud de carga, etc…

Si usamos un CMS como Joomla o WordPress, podemos asegurarnos de mantenerlos actualizados y asegurar los accesos co contraseñas seguras.

También podemos añadir algún plugin de seguridad, como Wordfence para WordPress o algunas de las extensiones de seguridad disponibles en Joomla.

Aunque si nuestro proyecto web no está creado con un popular CMS o simplemente no queremos usar un plugin o extensión para ahorrar los recursos del hosting, podemos añadir reglas de seguridad en el archivo .htaccess.

Aunque sin conocimientos previos crear reglas de seguridad en el archivo .htaccess puede ser algo complicado, existen una serie de reglas, creadas por profesionales que podemos usar en nuestro archivo .htaccess.

Un set de reglas muy conocidas, son las creadas por el desarrollador Jeff Starr llamadas 6G Firewall, que distribuye en su blog Perishablepress.com de manera gratuita y de las cuales vamos a hablar hoy.


Hosting Genérico


Reglas 6G Firewall para .htaccess

Reglas 6G Firewall para .htaccess

Según cuenta en su web el desarrollador, las reglas añadidas en su 6G Firewall, están muy cuidadas y testeadas para evitar los falsos positivos y solucionar la gran mayoría de accesos maliciosos a nuestra web.

Completar y revisar este conjunto de reglas le llevo tres años de pruebas y aun hoy, sigue actualizado el código principal, siendo la última actualización en julio de 2019.

Las reglas se añaden directamente al archivo .htaccess de tu hosting y no tienes que hacer nada más, ni configurar ningún aspecto… si todo va bien.

Actúan a nivel de hosting, sin peticiones a MySQL o PHP, así que no consume estos recursos del hosting, a veces necesarios para otras tareas.

Lo que hacen estas reglas es filtrar el tráfico que llega a nuestra web. Si es legítimo, muestra nuestro sitio sin problemas, si detecta que la visita no es legítima, la envía a un error 403.

Antes de copiar este conjunto de reglas y pegarlas en tu archivo .htaccess, debes de hacer una copia de seguridad del archivo .htaccess, por si algo va mal, puedas restaurarlo en cuestión de segundos.

IMPORTANTE: Antes de modificar nada, haz una copia de seguridad del archivo .htaccess.

Una vez añadas las reglas y guardes los cambios en el archivo .htaccess, ya no tienes que hacer nada más que testear si todo funciona correctamente.

Si aparece algún error, puedes restaurar la copia de seguridad del archivo .htaccess que deberías tener a buen recaudo.

El en blog del desarrollador explica cómo solucionar algunos problemas detectados por los usuarios y el funcionamiento completo de cada una de las reglas, aunque está todo en inglés.

También actualiza el código con pequeños cambios, así que puedes acceder al código y sus explicaciones en la entrada que ha destinado en su blog para el 6G Firewall que puedes ver haciendo click aquí.

Las reglas activadas en el momento de escribir este articulo, son las siguientes:

# 6G FIREWALL/BLACKLIST
# @ https://perishablepress.com/6g/

# 6G:[QUERY STRING]
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{QUERY_STRING} (eval\() [NC,OR]
	RewriteCond %{QUERY_STRING} (127\.0\.0\.1) [NC,OR]
	RewriteCond %{QUERY_STRING} ([a-z0-9]{2000,}) [NC,OR]
	RewriteCond %{QUERY_STRING} (javascript:)(.*)(;) [NC,OR]
	RewriteCond %{QUERY_STRING} (base64_encode)(.*)(\() [NC,OR]
	RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC,OR]
	RewriteCond %{QUERY_STRING} (<|%3C)(.*)script(.*)(>|%3) [NC,OR]
	RewriteCond %{QUERY_STRING} (\\|\.\.\.|\.\./|~|`|<|>|\|) [NC,OR]
	RewriteCond %{QUERY_STRING} (boot\.ini|etc/passwd|self/environ) [NC,OR]
	RewriteCond %{QUERY_STRING} (thumbs?(_editor|open)?|tim(thumb)?)\.php [NC,OR]
	RewriteCond %{QUERY_STRING} (\'|\")(.*)(drop|insert|md5|select|union) [NC]
	RewriteRule .* - [F]
</IfModule>

# 6G:[REQUEST METHOD]
<IfModule mod_rewrite.c>
	RewriteCond %{REQUEST_METHOD} ^(connect|debug|move|put|trace|track) [NC]
	RewriteRule .* - [F]
</IfModule>

# 6G:[REFERRER]
<IfModule mod_rewrite.c>
	RewriteCond %{HTTP_REFERER} ([a-z0-9]{2000,}) [NC,OR]
	RewriteCond %{HTTP_REFERER} (semalt.com|todaperfeita) [NC]
	RewriteRule .* - [F]
</IfModule>

# 6G:[REQUEST STRING]
<IfModule mod_alias.c>
	RedirectMatch 403 (?i)([a-z0-9]{2000,})
	RedirectMatch 403 (?i)(https?|ftp|php):/
	RedirectMatch 403 (?i)(base64_encode)(.*)(\()
	RedirectMatch 403 (?i)(=\\\'|=\\%27|/\\\'/?)\.
	RedirectMatch 403 (?i)/(\$(\&)?|\*|\"|\.|,|&|&amp;?)/?$
	RedirectMatch 403 (?i)(\{0\}|\(/\(|\.\.\.|\+\+\+|\\\"\\\")
	RedirectMatch 403 (?i)(~|`|<|>|:|;|,|%|\\|\{|\}|\[|\]|\|)
	RedirectMatch 403 (?i)/(=|\$&|_mm|cgi-|muieblack)
	RedirectMatch 403 (?i)(&pws=0|_vti_|\(null\)|\{\$itemURL\}|echo(.*)kae|etc/passwd|eval\(|self/environ)
	RedirectMatch 403 (?i)\.(aspx?|bash|bak?|cfg|cgi|dll|exe|git|hg|ini|jsp|log|mdb|out|sql|svn|swp|tar|rar|rdf)$
	RedirectMatch 403 (?i)/(^$|(wp-)?config|mobiquo|phpinfo|shell|sqlpatch|thumb|thumb_editor|thumbopen|timthumb|webshell)\.php
</IfModule>

# 6G:[USER AGENT]
<IfModule mod_setenvif.c>
	SetEnvIfNoCase User-Agent ([a-z0-9]{2000,}) bad_bot
	SetEnvIfNoCase User-Agent (archive.org|binlar|casper|checkpriv|choppy|clshttp|cmsworld|diavol|dotbot|extract|feedfinder|flicky|g00g1e|harvest|heritrix|httrack|kmccrew|loader|miner|nikto|nutch|planetwork|postrank|purebot|pycurl|python|seekerspider|siclab|skygrid|sqlmap|sucker|turnit|vikspider|winhttp|xxxyy|youda|zmeu|zune) bad_bot
	
	# Apache < 2.3
	<IfModule !mod_authz_core.c>
		Order Allow,Deny
		Allow from all
		Deny from env=bad_bot
	</IfModule>

	# Apache >= 2.3
	<IfModule mod_authz_core.c>
		<RequireAll>
			Require all Granted
			Require not env bad_bot
		</RequireAll>
	</IfModule>
</IfModule>

 

¿Son las Reglas 6G Firewall para todos los Usuarios?

¿Son las Reglas 6G Firewall para todos los Usuarios?

No, de hecho, si nunca has oido hablar del archivo .htaccess, no sabes dónde encontrarlo y tampoco sabes cómo hacer una copia de seguridad del mismo, no te recomendamos para nada que añadas las reglas 6G Firewall.

Si administras un hosting, es bueno que conozcas el archivo .htaccess y te veas capaz de editarlo para trabajar con él.

De hecho, en nuestro blog de formación en Hostinet, hemos escrito varios artículos sobre el archivos .htaccess que puedes revisar para familiarizarte con su uso.

Si quieres usar las reglas 6G en CMS, puedes usar un plugin como BBQ: Block Bad Queries, creado por el mismo desarrollador para WordPress o buscar alguna otra alternativa.

Hosting SSD en Hostinet con IP Española, cPanel, SSL Gratis y mucho más…

Hosting SSD NVMe