Posts filed under ‘Apache2’

Trucos para asegurar apache

Basado en http://articles.techrepublic.com.com/2415-7343_11-159903.html 

  1. 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
  2. No instalar, o bien desactivar(LoadModule), los módulo  de apache innecesarios
  3. 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
  4. Ejecutar mod_security para prevenir diversos ataques (DDOS, SQL injection, transversal directory, etc)
  5. 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.
  6. 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
  7. Cambiar la directiva  Listen 80 (o el puerto que usemos) por Listen ip_maquina:80
  8. No permitir que los usuario puedan acceder a contenido fuera del directorio raíz de apache. <Directory />  Options None (No usarFollowSymlinks)
  9. Eliminar los comentarios del fichero httpd.conf
  10. 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.
Anuncios

septiembre 20, 2007 at 11:59 am 3 comentarios

Apache2 básico: Herramientas – Estructura – configuración – ssl

HERRAMIENTAS Y COMANDOS ÚTILES

  • apache2ctl (stop/start/startssl)
  • /etc/init.d/apache2 force-reload
  • apache2-ssl-certificate: Para crear certificados. Por defecto los guarda en /etc/apache2/ssl
  • a2enmod: Para habilitar módulos instalados (Crea un enlace de /etc/apache2/mods-enabled a /etc/apache2/mods-available)
  • a2ensite: Para habilitar sitios instalados (Crea un enlace de /etc/apache2/sites-enabled a /etc/apache2/sites-available)

ESTRUCTURA DE FICHEROS POR DEFECTO

Configuración:
/etc/apache2
/etc/apache2/apache2.conf

Sitio por defecto:
/var/www/

Cgi:
/usr/lib/cgi-bin

ACTIVACIÓN DE SSL

  1. Activar el módulo ssl (si no está instalado buscarlo con apt-get e instalarlo)
  2. Poner en /etc/apache2/ports.conf
    Listen 443
  3. En el virtual host que queramos que funcione sobre sslponer:
    NameVirtualHost *:443
    <VirtualHost *:443>
  4. Activar el motor ssl dentro del VirtualHost con el certificado creado
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem

marzo 29, 2007 at 6:53 pm Deja un comentario


Calendario

septiembre 2017
L M X J V S D
« Feb    
 123
45678910
11121314151617
18192021222324
252627282930  

Posts by Month

Posts by Category