Tutorial: Como defender y evitar ataques DoS, SQL injection, XSS, Robots malignos, etc

  • Autor Autor ChatOrbi
  • Fecha de inicio Fecha de inicio
ChatOrbi

ChatOrbi

No recomendado
39663.gif
Desde que forobeta fue atacado
335598.gif
muchos le han preguntado a Carlos que haga un tutorial de cómo salir bien librados de estos ataques.

Es normal preocuparse y pensar que nuestra web no sea segura, con este mini tutorial veremos una manera eficaz de librarse de ataques Dos, jeringas de Sql, Xss, Robots malignos, etc.

Todo lo que tenemos que hacer es editar nuestro archivo .htaccess e incluir estas líneas:

Insertar CODE, HTML o PHP:
    ## Seguridad extra para PHP  
    php_flag safe_mode on  
    php_flag expose_php off  
    php_flag display_errors off  
      
    ## Manejo de errores de Apache. Cuando se produzca uno de estos errores, redirigimos a una pagina especial desarrollada por nosotros.  
    ErrorDocument 401 /error401.html  
    ErrorDocument 403 /error403.html  
    ErrorDocument 404 /error404.html  
       
       
    RewriteEngine On  
       
    Options +FollowSymLinks  
    # Evitar escaneos y cualquier intento de manipulación malintencionada  
    # de la URL. Con esta regla es imposible lanzar ataques de inyección (SQL, XSS, etc)  
    RewriteCond %{HTTP_USER_AGENT} ^$ [OR]  
    RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]  
    RewriteCond %{HTTP_USER_AGENT} ^(.*)(<|>|%3C|%3E)(.*) [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|email|harvest|fetch|extract|grab|miner|suck|reaper|leach)(.*) [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 %{QUERY_STRING} ^(.*)('|-|<|>|,|/|\\|\.a|\.c|\.t|\.d|\.p|\.i|\.e|\.j)(.*) [NC,OR]  
    RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]  
       
    RewriteRule ^(.*)$ error.php [NC]  
    ## No permitir acceso al .htaccess  
    order allow,deny  
    deny from all  
       
    ## Evitar que se liste el contenido de los directorios  
    Options All -Indexes  
       
    ## Lo mismo que lo anterior  
    IndexIgnore *  
       
    ## Denegar el acceso a robots dañinos, browsers offline, etc  
    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  
    ##redireccionar a los robots a otra web  
    RewriteRule ^.*$ http://www.otraweb.com [R,L]  
       
    # Protegerse contra los ataques DOS limitando el tamaño de subida de archivos  
    LimitRequestBody 10240000
 
Y en el caso de no usar Apache sino nginx, seria el mismo code o variaría en algo?

Gracias por el aporte, lo voy a implementar hoy mismo 😛8:
 
Nose bien de seguridad pero al parecer es un buen tuto lo agregare a mi web para ver que onda like..
 
Podrias explicar un poco mas lo que hace el codigo ?
 
Me suscribo a esta pregunta ya que también corro Nginx

Y en el caso de no usar Apache sino nginx, seria el mismo code o variaría en algo?

Gracias por el aporte, lo voy a implementar hoy mismo 😛8:
 
El safe mode en PHP está deprecado en 5.3 y en 5.4 ya directamente no está... nunca fué una capa de seguridad extra, genera mas problemas que soluciones.
Todo lo que está en ese htaccess se puede evadir y no protege contra POST, da una falsa sensación de seguridad.
Y no sirve para evadir DDOS.

Es mas simple (y efectivo) usar un mod_security o mod_deflate.
 
El safe mode en PHP está deprecado en 5.3 y en 5.4 ya directamente no está... nunca fué una capa de seguridad extra, genera mas problemas que soluciones.
Todo lo que está en ese htaccess se puede evadir y no protege contra POST, da una falsa sensación de seguridad.
Y no sirve para evadir DDOS.

Es mas simple (y efectivo) usar un mod_security o mod_deflate.
te toca hacerte un tuto :encouragement::encouragement::encouragement:
 
creo que con deflate tengo
 
Podrías explicar un poquito mas...

Desde ya buen tutorial...:encouragement:
 
Ese code del .htaccess anda dando vuelta desde el 2009... es viejo, hay cosas que funcionan otras que no...
 
¿Algun plugin para wordpress que recomiendes?
 
Atrás
Arriba