Autor Tema: Protegerse y evitar ataques DoS, SQL injection, XSS, Robots malignos, etc  (Leído 2553 veces)

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

graphixx

  • Visitante
Protegerse y evitar ataques DoS, SQL injection, XSS, Robots malignos, etc

Todos hemos tenido la preocupación de que nuestra web no sea segura y necesitamos una manera de comprobarlo. Extendiendo mi artículo anterior de Comprobar seguridad de la web con php, con este nuevo artículo veremos una forma eficaz de evitar ataques DoS, inyecciones de SQL, XSS, Robots malignos, evitar que se listen los directorios de la web, etc.

Todo lo que tenemos que hacer es editar nuestro archivo .htaccess e incluir estas lineas:

Código: [Seleccionar]
    ## 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 

    #Evitar lectura con cURL
    php_flag  allow_url_fopen  off

Fuente: http://notasweb.com/articulo/optimizacion/protegerse-y-evitar-ataques-dos-sql-injection-xss-robots-malignos-etc.html