Tutorial Protege tu web de ataques DDoS con .htaccess

Sandokan

Cobre
Usuario de Bronce
Mensajes
333
Puntuación de reacción
0
Muchas gracias, nunca se sabe cuando algún hijo de puta la tomará con nuestras webs.
 

Julio Rodríguez

Diamante
Usuario de Bronce
Mensajes
2,521
Puntuación de reacción
2
Hola,

no es por ser malo, pero lo que haces así es redirigir todas las visitas, sean ataques o no... por lo tanto, este tutorial no es cierto.

un salduo
 
Mensajes
181
Puntuación de reacción
0
Interesante aporte, siempre es bueno saber como protejer tus proyectos web.
Guardando en favoritos [emoji6]
 
Mensajes
306
Puntuación de reacción
0
Es lo que quería preguntar, como sabes cuando son ddos o como identifica que es un ataque. Supongo que hay que añadir esta línea en el momento que hay un ataque, o es para añadir y que ahí se quede.

Saludos.
 

GabrielSeo

Estafador
Mensajes
421
Puntuación de reacción
0
Tienes mi like. Dices que sólo hay que colocar un código y me he fijado que de los 3 códigos, solo cambia la última linea...
¿Que pasaría si por ejemplo pongo en el código la parte que es igual en los 3 y la última linea tanto del código 2 como del código 3?

Tío, no había pensado tanto desde que hice mis exámenes de matemáticas con tu pregunta..

Pero mira, si lo pones como tu explicas posiblemente tu sitio quede offline:

LowDWiz.png


- - - Actualización- - -

Hola,

no es por ser malo, pero lo que haces así es redirigir todas las visitas, sean ataques o no... por lo tanto, este tutorial no es cierto.

un salduo

Lamentablemente no es así querido Julio, lo que hay que hacer es colocar un código y ponerlo al principio del archivo como por ejemplo elegí el siguiente:

Código:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^([0-9]+)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^([0-9]+\.[0-9])(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+\.[0-9])(.*)$ [NC]
RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [L]

Entonces en en mi archivo .htaccess quedaría así:

Código:
[COLOR="#FF0000"]RewriteEngine on
RewriteCond %{QUERY_STRING} ^([0-9]+)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^([0-9]+\.[0-9])(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+\.[0-9])(.*)$ [NC]
RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [L][/COLOR]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
<Files ~ ^/archivo/escondido>
Order deny,allow
Deny from all
allow from xxx.xxx.xxx.xx 
</Files>  
</IfModule>

Por lo qué las peticiones al .htaccess seguirán y los visitantes podrán llegar al sitio, dirigiendo el ataque a la IP.

- - - Actualización- - -

Es lo que quería preguntar, como sabes cuando son ddos o como identifica que es un ataque. Supongo que hay que añadir esta línea en el momento que hay un ataque, o es para añadir y que ahí se quede.

Saludos.

Una de las formas más "naturales" de saber si estás en una ataque es dirigirte a tu cPanel y dar un informe sobre los recursos utilizados actualmente:

7fo36Iv.png


Has de cuenta que ese es tu sitio con un trafico "normal" pero si aumenta ese trafico un 50% los recursos subirán pero si llega un ataque DDoS todos los recursos se pondrán en "rojo" por así decirlo y podrás ver que tu sitio web no carga muy rápido y es ahí cuando puedes descartarlo en los informes de banda ancha:


rdyUh7R.png


Cuando eso pase necesitas insertar cualquier código en tu .htaccess
 

Broco

Piedra
Usuario de Piedra
Mensajes
63
Puntuación de reacción
0
Ajax101 » Block DDoS attack with .htaccess

En ese articulo tu mismo dices (pues aseguras ser el creador)
'Seeing that many scripts use the same method…'

Las expresiones regulares que utilizas para el query pueden vulnerarse simplemente no usando números, pues en todas tienes el número como carácter prescindible.
 
Última edición:

Sommera

Cobre
Usuario de Bronce
Mensajes
629
Puntuación de reacción
0
buen tuto, de mas esta decir que dependiendo cada caso particular el uso y modificaciones que se le va a realizar al código, adicionalmente se puede utilizar cloudflare para contrarestarlo

se agradece el aporte :mola:
 
Mensajes
306
Puntuación de reacción
0
@GabrielSeo gracias por lo de mirar al cpanel, y el código del htaccess claro

Saludos.
 
Mensajes
240
Puntuación de reacción
0
Tío, no había pensado tanto desde que hice mis exámenes de matemáticas con tu pregunta..

Pero mira, si lo pones como tu explicas posiblemente tu sitio quede offline:

LowDWiz.png


- - - Actualización- - -



Lamentablemente no es así querido Julio, lo que hay que hacer es colocar un código y ponerlo al principio del archivo como por ejemplo elegí el siguiente:

Código:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^([0-9]+)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^([0-9]+\.[0-9])(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+\.[0-9])(.*)$ [NC]
RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [L]

Entonces en en mi archivo .htaccess quedaría así:

Código:
[COLOR="#FF0000"]RewriteEngine on
RewriteCond %{QUERY_STRING} ^([0-9]+)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^([0-9]+\.[0-9])(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+\.[0-9])(.*)$ [NC]
RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [L][/COLOR]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
<Files ~ ^/archivo/escondido>
Order deny,allow
Deny from all
allow from xxx.xxx.xxx.xx 
</Files>  
</IfModule>

Por lo qué las peticiones al .htaccess seguirán y los visitantes podrán llegar al sitio, dirigiendo el ataque a la IP.

- - - Actualización- - -



Una de las formas más "naturales" de saber si estás en una ataque es dirigirte a tu cPanel y dar un informe sobre los recursos utilizados actualmente:

7fo36Iv.png


Has de cuenta que ese es tu sitio con un trafico "normal" pero si aumenta ese trafico un 50% los recursos subirán pero si llega un ataque DDoS todos los recursos se pondrán en "rojo" por así decirlo y podrás ver que tu sitio web no carga muy rápido y es ahí cuando puedes descartarlo en los informes de banda ancha:


rdyUh7R.png


Cuando eso pase necesitas insertar cualquier código en tu .htaccess

Gracias por esta explicacion, entonces solo le pones el codigo cuando el ataque ddos es inminente pero ya después lo quita, estoy en lo cierto ?
 

Julio Rodríguez

Diamante
Usuario de Bronce
Mensajes
2,521
Puntuación de reacción
2
da igual lo que me digas, eso no para un ataque, parar un ataque es solo para a los atacantes... trolalco en tus graficas se ve que luego tienes 0 transferencia
 

GabrielSeo

Estafador
Mensajes
421
Puntuación de reacción
0
da igual lo que me digas, eso no para un ataque, parar un ataque es solo para a los atacantes... trolalco en tus graficas se ve que luego tienes 0 transferencia

Creo que no me he dado a entender muy bien, el ataque no para hasta que el atacante pare pero lo que hará el código es que dirija ese mismo ataque a un sitio por ejemplo.

PST: Las gráficas qué mostré son de un sitio que no tiene mucho trafico, y fueron actualizadas.
 

Julio Rodríguez

Diamante
Usuario de Bronce
Mensajes
2,521
Puntuación de reacción
2
Creo que no me he dado a entender muy bien, el ataque no para hasta que el atacante pare pero lo que hará el código es que dirija ese mismo ataque a un sitio por ejemplo.

PST: Las gráficas qué mostré son de un sitio que no tiene mucho trafico, y fueron actualizadas.

ahí esta, para mi esta médida no sirve de mucho, porque incluso si google te visita con esa url lo envías a la otra web? solo tienes que hacerle un ping con una url de esas y google pensara que va a ir a esa web.

llevo parando ataque ddos mucho tiempo y no es para nada tán facil, de esta forma estan entrando e iniciando una sessión de apache, por lo que puede llegar a tumbar el servidor.
 

opt

Mensajes
10
Puntuación de reacción
0
A opinión personal no creo que un simple código evada más de 5,000 o incluso 50,000 peticiones al segundo si hablamos de botnets o stressers privados con proxys adjuntos.
PD: Si sufres un Ataque DDoS constante, ponte en contacto conmigo.
 

mPaz

Cobre
Usuario de Bronce
Mensajes
736
Puntuación de reacción
1
Estos codigos ya los aportaron hace tiempo en otro foro, y sin embargo aunque te agradezco el aporte y no está de más prevenir... Pero esto no para definitivamente un ataque y menos aun te asegura proteger tu web al 100% ante ataques.. Un ataque Ddos es algo muy relativo.. No es lo mismo dos niños lanzando peticiones a lo loco y sin sentido con su Adsl casero, que una mega botnet que te fulmina en 5 segundos.
Con unas cuantas de miles de peticiones por segundo tu server va a caer de igual forma, sobre todo si es apache.

Existe metodos para mitigar ataques DDoS pero todo depende simplemente de lo grande que sea el ataque, ya que hoy por hoy si el ataque es lo suficientemente gigante no lo vas a parar.
 
Última edición:
Mensajes
364
Puntuación de reacción
0
Para parar un ataque de este tipo get/post una config mas eficiente es montar si no esta ya nginx denegando llamadas y acompañado de fail2ban por ejemplo.
 
Arriba