¿Cómo configurar la defensa básica en Nginx-CMS?

3

Como aficionado a la seguridad de la información, hice todo lo posible para proteger mi entorno Ubuntu-Nginx-CMS (WordPress) de BFA, MITM e inyecciones de base de datos.

sudo add-apt-repository ppa:certbot/certbot -y && apt-get update -y && apt-get upgrade -y
sudo apt-get install zip unzip tree unattended-upgrades sshguard postfix \ 
nginx python-certbot-nginx mysql-server php-fpm php-mysql php-mbstring php-mcrypt -y
sudo ufw enable && ufw allow 22/tcp 25/tcp 80/tcp 443/tcp 9000/tcp

Para evitar ataques MITM, generalmente, la transmisión de todos los sitios a través de TLS, a través de un certificado SSL de Let'sEncrypt (candado verde en el navegador para todas las páginas).

Para evitar las inyecciones de CMS DB, he habilitado actualizaciones frecuentes a través de * nix cron (y mantuve las formas mínimas):

0 1 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp plugin update --all --allow-root; done
0 2 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp core update --allow-root; done
0 3 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp theme update --all --allow-root; done

Pero parece que no hice nada contra DDoS. ¿Qué puedo hacer contra alguien que envía un robot para cargar mis páginas web aproximadamente 50,000 veces por hora (o algo por el estilo)?

¿Se puede hacer algo directamente desde Ubuntu / Nginx / WordPress o mediante algún software de Linux?

Notas:

  • AFAIK, BFA, DBI y DDoS son los 3 tipos de ataques más comunes DoS ataques (para distinguirse de MITM que no es un ataque DoS). Lo siento si me perdí algo.

  • Hice una búsqueda aquí en Information Security StackExchange con la frase Nginx Ubuntu DDOS pero no encontré una sesión de subprocesos en esto.

pregunta Arcticooling 14.01.2018 - 17:27
fuente

1 respuesta

3

Creo que su conclusión de que la fuerza bruta, la inyección de SQL y el DDoS son los tipos más comunes de ataques no incluye algunos de los otros ataques significativos. XSS y CSRF también son notables (consulte el top 10 de OWASP) y sin hacer una investigación detallada de cada tipo, sería difícil saber cuál es el más frecuente.

El endurecimiento general del sistema tiene sentido primero:

  1. Solo permite SSH basado en clave pública en el sistema.
  2. Limita las conexiones entrantes (como has hecho con las reglas de firewall)
  3. Asegúrese de que cada servicio se ejecute como un usuario aislado.
  4. Limite los permisos de Unix al mínimo necesario (0700 en directorios, 0600 en archivos).
  5. Siempre que sea posible, elimine los permisos de escritura en las carpetas (limita las posibilidades de cargar códigos maliciosos)

Tenga en cuenta que, dado que está utilizando nginx en lugar de Apache, algunas de las directivas del archivo .htaccess suministradas por Wordpress deben promulgarse como directivas nginx equivalentes: por ejemplo, evitar la ejecución de PHP en cualquier lugar que se carguen los archivos de usuario, limitando el acceso a archivos confidenciales.

Para Wordpress específicamente, revisaría la Guía de endurecimiento de Wordpress . Algunos detalles vienen a la mente:

  1. Use la menor cantidad posible de complementos y, si es posible, revíselos para detectar vulnerabilidades.
  2. Asegúrese de que la temática personalizada no presente vulnerabilidades de XSS.
  3. Si es muy importante, considere un complemento 2FA para Wordpress para minimizar el riesgo de la fuerza bruta o la reutilización de contraseñas.

Si le preocupan los ataques DoS a nivel de la aplicación, puede límite de velocidad en Nginx .

Sin más infraestructura (Cloudflare, Loud Balancers, etc.), no podrá mitigar los DDoS volumétricos puros: es solo un hecho de Internet que si su atacante tiene más ancho de banda que usted, perderá. Estos incluyen ataques como DDoS DNS / NTP reflejados, botnets de IoT, etc. Básicamente, cualquier ataque que permita al atacante enviar más tráfico del que puede manejar la conexión a Internet de su host (hasta la interfaz virtual en su VPS). Mientras que Digital Ocean y otros hosts tienen un ancho de banda considerable, su único VPS se saturará rápidamente (o antes) de 1 Gbps.

    
respondido por el David 16.01.2018 - 21:57
fuente

Lea otras preguntas en las etiquetas