Trucos para asegurar apache
Septiembre 20, 2007
Basado en http://articles.techrepublic.com.com/2415-7343_11-159903.html
- Fortificar el sistema operativo:
- Mantenerlo actualizado
- Instalar sólo los servicios necesarios
- Desactivar protocolos innecesarios
- Definir reglas para proteger el tráfico entrante y saliente
- Usar antivirus y antispyware
- Usar un firewall y un IDS (Snort por ejemplo)
- Facilitar la menor información posible sobre el servidor - No instalar, o bien desactivar(LoadModule), los módulo de apache innecesarios
- Facilitar la menor información posible editando httpd.conf:
- Desactivar los mensajes que muestra el servidor-> ServerSignature= off
- Desactivar la búsqueda por directorio -> Eliminar Indexes dentro de la directiva Options - Ejecutar mod_security para prevenir diversos ataques (DDOS, SQL injection, transversal directory, etc)
- Ejecutar apache como un usuario no privilegiado. Crear un usuario con nombre apache por ejemplo. Intentar no usar nobody puesto que otros servicios pueden usarlo y podría implicar problemas de seguridad.
- Desactivar el uso de FollowSymLinks para no permitir que un usuario pueda crear enlaces simbólicos con otras partes del sistema de archivos que no deseemos que esté expuestas . En caso de que algún usuario lo necesitara se puede usar la directiva SymLinksIfOwnerMatch
- Cambiar la directiva Listen 80 (o el puerto que usemos) por Listen ip_maquina:80
- No permitir que los usuario puedan acceder a contenido fuera del directorio raíz de apache. <Directory /> Options None (No usarFollowSymlinks)
- Eliminar los comentarios del fichero httpd.conf
- Proteger apache de ataques DOS (denial of service, denegación de servicio)
- Timeout. -> 300 seconds -> En caso de ataque bajarlo. UN umbral muy corto podría plantear problemas en scripts CGI
- KeepAliveTimeout -> 5 seconds -> Debería ser bajado en caso de ataque
- LimitRequestBody -> 0 bytes (unlimited) -> En caso de ataque basado en HTTP Request Body con peticiones de tamaño de cuerpo muy grande, limitar el cuerpo de mensaje enviado desde el cliente.
- LimitRequestFields -> 100 fields -> En caso de de ataque basado en HTTP Request Header fields con demasiados HTTP request headers, limitar el número.
- LimitRequestFieldSize -> 8190 bytes. Limita el tamaño de cada campo por petición.
- LimitRequestLine -> 8190 bytes. Limita el tamaño de cada línea de petición.
- MaClients -> 256 requests. Límite de conexiones simultáneas máximas.
Entry Filed under: Apache2. .
2 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
Genki | Noviembre 16, 2007 at 5:31 pm
Muy buenos trucos
sobre todo lo de mod_security
2. Asegurar Apache « | Junio 8, 2008 at 2:18 pm
[...] Base – Fuente [...]