¿Es htaccess lo suficientemente seguro como para incluir en la lista blanca las IP de los clientes?

2

Estoy usando .htaccess para controlar la IP de origen de las conexiones a mi aplicación web. Mi configuración se parece más o menos así:

  

negar orden, permitir

     

negar de todo

     

permitir desde X.Y.Z.Q

En estos días podemos confiar en cada vez menos cosas, todos los días se encuentra que algunas técnicas de uso común son vulnerables. Así que empecé a hacerme preguntas:

  1. ¿Este método es realmente seguro y suficiente?
  2. ¿Debo emplear algún mecanismo adicional para proteger mejor mi aplicación web?

Estoy usando Apache 2.2.24 y PHP 5.4.17 en el modo Fast-CGI.

Gracias de antemano!

    
pregunta boleslaw.smialy 10.01.2014 - 10:52
fuente

1 respuesta

2

Este método es suficiente para proteger a Apache al servicio de este directorio, pero un error de configuración puede deshabilitar esto:

  • Si su configuración principal de Apache contiene AllowOverride None (o similar), entonces se ignoran los archivos .htaccess . Por lo tanto, su lista blanca de IP no se aplica. Dependiendo del nombre de host o directorio, se puede establecer una configuración diferente.
  • Si tiene Satisfy any establecido (no predeterminado) y un cliente se autentica con el servidor, entonces todavía se le otorga acceso.

Además, hay otras superficies de ataque que pueden pasar por alto sus restricciones de IP:

  • En un servidor web compartido, es posible que otros usuarios del servidor accedan a sus archivos a través del sistema de archivos, sin pasar por Apache.
  • Si su aplicación web no usa HTTPS, ya es vulnerable a los ataques MitM y sniffing.
  • Su aplicación aún podría ser vulnerable a CSRF. Si alguien sabe que una aplicación en particular se está ejecutando en este host, podría engañarlo para que abra una página que explote una vulnerabilidad CSRF en su aplicación (si existe).

Sugerencias:

  • Si este es un servidor dedicado para esta aplicación web, configure el servidor de seguridad para incluir en la lista blanca sus direcciones IP para este puerto. Recuerde verificar también la configuración de su IPv6.
  • Asegúrese de que los permisos de archivo estén configurados correctamente. En caso de que se comprometa cualquier servicio (que se ejecute como un usuario diferente que no sea root) en su servidor, entonces su aplicación aún debe ser segura (siempre que no haya errores de escalamiento de privilegios).
respondido por el Lekensteyn 10.01.2014 - 12:27
fuente

Lea otras preguntas en las etiquetas