Esta es una discusión para el tema Protegerse y evitar ataques DoS, SQLi, XSS, Robots malignos con htaccess en el foro Tutoriales de Programación, bajo la categoría Lenguajes de Programación; Todo lo que tenemos que hacer es editar nuestro documento .htaccess y añadir estas lienas:
Son medidas complementarias, toca estudiar si son incompatibles con algún CMS, cosa que no creo que suceda, recuerda que el ...
Página:
Todo lo que tenemos que hacer es editar nuestro documento .htaccess y añadir estas lienas:
Son medidas complementarias, toca estudiar si son incompatibles con algún CMS, cosa que no creo que suceda, recuerda que el mal uso de htaccess generará en tu sitio el error 500 Internal Server Error.
Fuente: N4X## 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|ni kto|scan|clshttp|archiver|loader|email|harvest|fet ch|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 ^.*$ Otraweb.com - otra web Resources and Information.This website is for sale! [R,L]
# Protegerse contra los ataques DOS limitando el tamaño de subida de archivos
LimitRequestBody 10240000
El safe mode hay que tener cuidado porque puede dañar los uploads. Hay una configuración especial en las opciones de vBulletin para lidiar con el subir archivos cuando está activado el modo seguro.
Si están en servidor dedicado esta opción es inútil. Lo único que tiene de seguro es que otras personas en una cuenta compartida no puedan ver tu información, realmente. La configuración es tan malinterpretable que ya no existe en PHP 6.0
En caso de apagar el "display_errors" es recomendable registrar los errores en algun lado .. o sea .. poniendo la variable log_errors en on y el error_log en una ruta con permisos de escritura. De otra forma encontrar un error puede ser considerablemente más difícil ya que solo se verá una página en blanco al cargar el foro. (Mas info para display_errors: PHP Configuration Directives - O'Reilly Media)
he puesto eso y me da error 500,¿que puedo hacer?![]()
y si el ataque es un DDoS desde unas 50 PC Zombies activadas a distancia?
Gracias, muy valiosa información...