En esta página presentamos unas pocas maneras de mitigar ataques DoS. Sin embargo, al presente no hay una única solución que satisfaga todas las condiciones para este problema. Defender un sitio bajo ataque requiere creatividad y un abordaje a la medida. He aquí algunos consejos:

Onionbalance

Onionbalance permite a los operadores de servicios cebolla lograr la propiedad de alta disponibilidad al habilitar a múltiples máquinas para manejar solicitudes para un servicio cebolla. Puedes usar Onionbalance para expandir horizontalmente. Cuanto más expandes, más difícil es para los atacantes sobrepasarte. Onionbalance está disponible para servicios cebolla v3.

Autorización de Cliente o múltiples direcciones cebolla para compartimentar a tus usuarios

Si tienes usuarios en los que confías, dales un servio cebolla dedicado y credenciales de autorización de cliente, de manera que siempre puede estar disponible. Para usuarios en los que no confías, divídelos en múltiples direcciones. Dicho eso, tener demasiadas direcciones cebolla realmente es malo para tu seguridad (debido al uso de muchos nodos guardianes), por lo que intenta usar autorización de cliente cuando sea posible.

Captchas y cookies

Si aún necesitas limitar la tasa de acceso a tus usuarios, divide tu infraestructura en capas, y pón Captchas cerca de la página de inicio de sesión. De esta manera, los atacantes tendrán que resolver Captchas antes de ser capaces de atacar más profundo dentro de tu infraestructura.

Los Captchas son una manera de mitigar ataques DDoS. Cuando una solicitud viene desde un cliente, comprueba si el cliente contiene la cookie segura correcta, de otra manera la redirige a la página recaptcha. El cliente ingresa las letras captcha. Nginx envía estas letras ingresadas al servidor recaptcha para su verificación.

La respuesta correcta desde el servidor recaptcha comenzará con "true...", caso contrario comenzará con "false...". Agrega la cookie segura para el cliente verificado correcto, redirige al cliente a la página que desea ver.

Es posible implementar Captchas directamente en tu servidor web con Nginx y OpenResty usando Lua para generar y verificar las imágenes captcha. Esta implementación no es fácil de configurar.

Una alternativa podría ser solo implementar un desafío test-cookie. En tu servidor web, comprueba que los clientes puedan establecer cookies válidas, los clientes maliciosos a menudo no tienen esta característica. En Nginx, Cloudflare provee una biblioteca para interactuar con cookies.

Otros métodos incluyen asegurarse que los clientes conectando a tu .onion tengan un encabezado User-Agent válido, y que el encabezado Referer no esté establecido a un valor que puedas asociar con el ataque.

Limitación de la tasa de acceso al servidor web

Si los atacantes te están abrumando con circuitos agresivos que realizan demasiadas consultas, intenta detectar ese sobreuso y eliminarlos usando la opción HiddenServiceExportCircuitID en torrc. Puedes usar tu propia heurística o el módulo de limitación de tasa de tu servidor web.

Los consejos de arriba deberían ayudar a mantenerte a flote en tiempos turbulentos. Al mismo tiempo estamos trabajando en defensas más avanzadas, de manera que se necesite menos configuración manual y ajuste por parte de los operadores de servicios cebolla.