Proteger nuestro server web de ataques con .htaccess

Iniciado por july, Noviembre 20, 2012, 11:33:08 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Noviembre 20, 2012, 11:33:08 AM Ultima modificación: Junio 05, 2015, 03:33:59 PM por EPSILON

Hola amigos hoy les traigo un .htaccess para proteger sus server web

Código: php
#Evitar escaneos, manipulación e inyeccion SQL (SQL, XSS, etc)
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(<|>|%3C|<span class="IL_AD" id="IL_AD1">%3E</span>)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(libwww-perl|libwwwperl|snoopy|curl|wget|winhttp|python|nikto|scan|clshttp|archiver|loader|<span class="IL_AD" id="IL_AD3">email</span>|harvest|fetch|extract|grab|miner|suck|reaper|leach|havij)(.*) [NC,OR]
RewriteCond %{REQUEST_URI} ^(/,|/;|/<|/>|/'|/`|/%2C|/%3C|/%3E|/%27|/////) [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]
RewriteRule ^(.*)$ index.php [NC]

#Evita manipulacion en la URL
RewriteCond %{REQUEST_METHOD} ^(HEAD|<span class="IL_AD" id="IL_AD11">TRACE</span>|DELETE|TRACK) [NC,OR]
RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|nikto|scan).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
RewriteRule ^(.*)$ index.php [NC]
#Complica los ataques Remote File include y Local File include

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* – [F]


eso es todo saludosssss

creo que con esto lo que proteges es la página web, no el servidor o por lo menos lo proteges a nivel (web, cada web)

exacto a nivel web en definitiva protejes el servidor porque te pueden tomar el server si entran por web
saludossssssss

uhm, interesante, podrías poner la fuente?

saludos!

Ni me acuerdo la fuente, hace tiempo tengo esto
saludoss

Se ve muy bueno aunque aun no se casi nada de programacion web en un server me servira para un futuro, Gracias.. Exelente aporte

Saludos...


Un Hacker sabe de la materia;
Un Lamer Cree Saberlo;
Y yo solo aprendo.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola amigos hoy les traigo un .htaccess para proteger sus server web

Código: php
#Evitar escaneos, manipulación e inyeccion SQL (SQL, XSS, etc)
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(<|>|%3C|<span class="IL_AD" id="IL_AD1">%3E</span>)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(libwww-perl|libwwwperl|snoopy|curl|wget|winhttp|python|nikto|scan|clshttp|archiver|loader|<span class="IL_AD" id="IL_AD3">email</span>|harvest|fetch|extract|grab|miner|suck|reaper|leach|havij)(.*) [NC,OR]
RewriteCond %{REQUEST_URI} ^(/,|/;|/<|/>|/'|/`|/%2C|/%3C|/%3E|/%27|/////) [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]
RewriteRule ^(.*)$ index.php [NC]

#Evita manipulacion en la URL
RewriteCond %{REQUEST_METHOD} ^(HEAD|<span class="IL_AD" id="IL_AD11">TRACE</span>|DELETE|TRACK) [NC,OR]
RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|nikto|scan).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
RewriteRule ^(.*)$ index.php [NC]
#Complica los ataques Remote File include y Local File include

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* – [F]

eso es todo saludosssss


Tengo una gran duda July este code solo debemos ponerlo en el htaccess?, o debemos modificaralgunas de las que ya tiene en existencia?.
System32
XD
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ese .htaccess no funciona... me salta error y no carga la web.

Alguna idea?

Un saludo.



Buenas:
Claro el .htaccess arroja un error no se si esta fue la fuente:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 09/08/2012

proba con esto:

Código: text
#Evitar escaneos, manipulación e inyeccion SQL (SQL, XSS, etc)
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]

RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]


RewriteCond %{HTTP_REFERER} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]
RewriteRule ^(.*)$ index.php [NC]

#Evita manipulacion en la URL

RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|nikto|scan).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
RewriteRule ^(.*)$ index.php [NC]

#Complica los ataques Remote File include y Local File include
RewriteCond %{REQUEST_METHOD} GET


Y algunos extras que los tengo agregado en el .htaccess:

Código: text
##CMS en php
php_flag safe_mode on 
php_flag expose_php off 
php_flag display_errors off 

RewriteEngine On 
Options +FollowSymLinks

##robots infection
RewriteBase / 
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR] 
RewriteCond %{HTTP_USER_AGENT} ^attach [OR] 
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Zeus 

## Dir block
Options All -Indexes 
IndexIgnore * 

##Personalizar Error 
ErrorDocument 401 /error401.html 
ErrorDocument 403 /error403.html 
ErrorDocument 404 /error404.html 
       
# Block DOS
LimitRequestBody 10240000 


Saludos

Pero si junto los dos archivos fijo que da error, a que te refieres con lo de extras?

Un saludo.



Julio 21, 2013, 09:46:43 PM #10 Ultima modificación: Julio 21, 2013, 09:48:15 PM por CodePunisher
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Pero si junto los dos archivos fijo que da error, a que te refieres con lo de extras?

Un saludo.

Buenas
Lo he testeado junto o solo el "extra" que lo tengo en el .htaccess de mi web, ya que  si te fijas le he quitado algunas lineas para prevenir el error del que escribís.
Saludos

Agosto 23, 2019, 11:51:04 AM #11 Ultima modificación: Febrero 11, 2020, 10:45:32 PM por Gabriela
Hola, utilicé el código mostrado para mi .htaccess y haciendo un testeo he baneado mi propia ip.
¿Ahora que debo hacer para permitirme visitar mi website nuevamente?
No se donde se encuentra el registro de la IP baneadas que me ha creado el .htaccess
Me aparece este mensaje cuando intento entrar a mi website:

"U are banned, contact: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta"

El código utilizado en mi .htaccess es el siguiente:

#Evitar escaneos, manipulación e inyeccion SQL (SQL, XSS, etc)
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]

RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]


RewriteCond %{HTTP_REFERER} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]
RewriteRule ^(.*)$ index.php [NC]

#Evita manipulacion en la URL

RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|nikto|scan).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|cast|set|declare|drop|update|md5|benchmark).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
RewriteRule ^(.*)$ index.php [NC]

#Complica los ataques Remote File include y Local File include
RewriteCond %{REQUEST_METHOD} GET

up, si alguien sabe como arreglar lo que dice el de arriba, me ayudaría a mi también

Al final, alguien puede postear el código completo que funciona correctamten? y exactamente que es lo que hace? gracias!

Febrero 11, 2020, 02:14:06 PM #14 Ultima modificación: Febrero 11, 2020, 02:16:29 PM por DtxdF
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

CitarAl final, alguien puede postear el código completo que funciona correctamten?

¿Por qué no simplemente pruebas con todos y seleccionas el que mejor se adapte?

Lo único que tienes que hacer es crear un archivo ".htaccess", lo colocas en la raíz de tu servidor web e insertas el código.

Citarexactamente que es lo que hace?

Cómo el mismo título dice "Proteger nuestro server web de ataques", pero supongo que con esa respuesta me quiere lanzar la PC por la cara, así que dando una explicación muy abstracta de lo que hace: Bloquea algunos agentes de usuarios, códigos probablemente maliciosos en los encabezados y evita algunas vulnerabilidades cómo las que se mencionana abajo "«Local File Intrusion» y «Remote File Intrusion»".

~ DtxdF
~ DtxdF

Como comentaban algunos que no funcionaba, y otros le hicieron unos ajustes, quiza alguien podría haber respondido la adaptación final es tal:

Gracias de igualmanera.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

CitarAl final, alguien puede postear el código completo que funciona correctamten?

¿Por qué no simplemente pruebas con todos y seleccionas el que mejor se adapte?

Lo único que tienes que hacer es crear un archivo ".htaccess", lo colocas en la raíz de tu servidor web e insertas el código.

Citarexactamente que es lo que hace?

Cómo el mismo título dice "Proteger nuestro server web de ataques", pero supongo que con esa respuesta me quiere lanzar la PC por la cara, así que dando una explicación muy abstracta de lo que hace: Bloquea algunos agentes de usuarios, códigos probablemente maliciosos en los encabezados y evita algunas vulnerabilidades cómo las que se mencionana abajo "«Local File Intrusion» y «Remote File Intrusion»".

~ DtxdF

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Velo como una oportunidad para que tú lo hagas  ;)

~ DtxdF
~ DtxdF

Agradecería el código correcto.
Muchas gracias.