PDF de programación - Seguridad en entornos Apache - Hardening Apache

Imágen de pdf Seguridad en entornos Apache - Hardening Apache

Seguridad en entornos Apache - Hardening Apachegráfica de visualizaciones

Actualizado el 22 de Mayo del 2020 (Publicado el 18 de Junio del 2017)
475 visualizaciones desde el 18 de Junio del 2017
2,2 MB
73 paginas
Creado hace 12a (03/04/2008)
Intro. Conf. CA FP SSL DoS Cons. Concl.

Seguridad en entornos Apache

- Hardening Apache -

VI Foro de seguridad RedIRIS

Sergio Castillo Pérez

scastillo@deic.uab.es

Departamento de Ingeniería de la Información y de las Comunicaciones

Universidad Autónoma de Barcelona (UAB)

1 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Índice

1

Introducción

2 Configuración y directivas básicas

3 Control de acceso

4

5

Identificación remota y HTTP Fingerprinting

SSL/TLS

6 Network DoS

7 Otras consideraciones

8 Conclusiones

Sergio Castillo

2 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Índice

1

Introducción

2 Configuración y directivas básicas

3 Control de acceso

4

5

Identificación remota y HTTP Fingerprinting

SSL/TLS

6 Network DoS

7 Otras consideraciones

8 Conclusiones

Sergio Castillo

3 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Un poco de historia...

Historia:

Basado en el servidor httpd 1.3 de NCSA (National Center for Supercomputing
Applications), escrito por Rob McCool.

Primera versión publicada en abril de 1995.

Actualmente tres ramas de desarrollo:

1.3.x
2.0.x
2.2.x

Sergio Castillo

4 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Características de Apache

¿Por qué Apache es diferente a los demás?

Sergio Castillo

5 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Características de Apache

¿Por qué Apache es diferente a los demás?

Extensible gracias a su arquitectura modular (http://modules.apache.org/):

mod_auth
mod_ssl
mod_security
. . .

Sergio Castillo

5 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Características de Apache

¿Por qué Apache es diferente a los demás?

Extensible gracias a su arquitectura modular (http://modules.apache.org/):

mod_auth
mod_ssl
mod_security
. . .

Soporte de diversos lenguajes para la generación dinámica de páginas web:

PHP
Python
Perl
. . .

Sergio Castillo

5 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Características de Apache

¿Por qué Apache es diferente a los demás?

Extensible gracias a su arquitectura modular (http://modules.apache.org/):

mod_auth
mod_ssl
mod_security
. . .

Soporte de diversos lenguajes para la generación dinámica de páginas web:

PHP
Python
Perl
. . .

Altamente configurable.

Sergio Castillo

5 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Características de Apache

¿Por qué Apache es diferente a los demás?

Extensible gracias a su arquitectura modular (http://modules.apache.org/):

mod_auth
mod_ssl
mod_security
. . .

Soporte de diversos lenguajes para la generación dinámica de páginas web:

PHP
Python
Perl
. . .

Altamente configurable.
Multiplataforma: GNU/Linux, *BSD, Solaris, MS-Windows, . . .

Sergio Castillo

5 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Características de Apache

¿Por qué Apache es diferente a los demás?

Extensible gracias a su arquitectura modular (http://modules.apache.org/):

mod_auth
mod_ssl
mod_security
. . .

Soporte de diversos lenguajes para la generación dinámica de páginas web:

PHP
Python
Perl
. . .

Altamente configurable.
Multiplataforma: GNU/Linux, *BSD, Solaris, MS-Windows, . . .
¡Open Source!

Sergio Castillo

5 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Cuota de mercado

Market Share for Top Servers Across All Domains August 1995 - February 2008∗

∗Fuente: http://news.netcraft.com/archives/web_server_survey.html

Sergio Castillo

6 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Seguridad en Apache

Consideración:

Un porcentaje elevado de administradores no modifica la configuración por
defecto.

Sin embargo, mejorar la seguridad no se centra exclusivamente en crear una
buena configuración. Otros aspectos: sistema operativo y red.

Seguridad en el sistema operativo:

Keep up to date
Mecanismos contra buffers overflow: ASLR, NX, Canary, . . .
Integridad del sistema de ficheros: Tripwire, Aide, . . .
HIDS
. . .

Seguridad en la red:

Infraestructura: DMZ
NIDS
Cortafuegos
. . .

Sergio Castillo

7 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Índice

1

Introducción

2 Configuración y directivas básicas

3 Control de acceso

4

5

Identificación remota y HTTP Fingerprinting

SSL/TLS

6 Network DoS

7 Otras consideraciones

8 Conclusiones

Sergio Castillo

8 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Proceso básico de configuración

Medidas básicas:

Compilación vs. paquetes binarios.

Keep up to date.

Ejecución de Apache bajo un usuario/grupo específico no privilegiado:

User apache
Group apache

Modificar los permisos de los archivos relacionados con Apache.

Integrar Apache en entornos jail/chroot (mod_chroot).

Sergio Castillo

9 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Proceso básico de configuración

Medidas básicas:

Deshabilitar módulos innecesarios:

mod_userdir
mod_info
mod_status
mod_include
mod_autoindex
mod_{perl,python,php,...}

Algunos módulos pueden mejorar la seguridad:

mod_rewrite
mod_headers
mod_setenvif
mod_security
mod_auth
mod_ssl

Sergio Castillo

9 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Proceso básico de configuración

Directivas asociadas a permisos sobre el árbol de directorios:

Order, Allow, Deny, Options y AllowOverride:

<Directory />

Order Deny,Allow
Deny from all
Options None
AllowOverride None

</Directory>
<Directory /var/www/htdocs>

Order Allow,Deny
Allow from all
Options None
AllowOverride None

</Directory>

Sergio Castillo

10 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Proceso básico de configuración

Directivas asociadas a las conexiones:

TimeOut, KeepAlive, MaxKeepAliveRequests, KeepAliveTimeout:

# Tiempo de espera de 30 segundos para clientes ‘‘lentos’’
TimeOut 30
# Permitir reusar las conexiones para peticiones consecutivas
KeepAlive On
# Permitir hasta 100 peticiones para la misma conexión
MaxKeepAliveRequests 100
# Esperar hasta 10 segundos a la siguiente petición antes
# de cerrar la conexión
KeepAliveTimeout 10

Sergio Castillo

11 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Proceso básico de configuración

Directivas asociadas al comportamiento de las instancias:

Apache 1.x (prefork):

# Lanzar 5 instancias al iniciarse Apache
StartServers 5
# Mantener 5 servidores listos para gestionar peticiones
MinSpareServers 5
# No mantener más de 10 servidores sin hacer nada
MaxSpareServers 10
# Permitir hasta 150 clientes en total
MaxClients 150
# Permitir hasta 30 peticiones por instancia
MaxRequestsPerChild 30

Apache 2.x: Incorpora el concepto de multiprocessing modules:

Cada módulo determina una forma distinta de cómo procesar las
peticiones.
Sólo un módulo activado.
Objetivo: optimización para cada sistema operativo.
Diversos modelos: prefork, worker, . . .

Sergio Castillo

12 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Índice

1

Introducción

2 Configuración y directivas básicas

3 Control de acceso

4

5

Identificación remota y HTTP Fingerprinting

SSL/TLS

6 Network DoS

7 Otras consideraciones

8 Conclusiones

Sergio Castillo

13 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Control de acceso

¿Qué mecanismos de control de acceso proporciona Apache?

Orientado a usuario:

Archivos de texto plano (mod_auth)
Archivos DBM (mod_auth_dbm)
Digest (mod_auth_digest)
Certificados digitales (mod_ssl) → autenticación mutua

Mediante IP de origen (mod_access)

Según contenido de peticiones (mod_setenvif + mod_access)

Uso de lenguajes: PHP, perl, python, . . . Diseño de mecanismos “a medida”.

Sergio Castillo

14 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Control de acceso

Ejemplo de control de acceso basado mod_auth:

user@host ~/public_html $ cat .htaccess
AuthName "Solo usuarios autorizados"
AuthType Basic
AuthUserFile /export/home/user/public_html/.htpasswd
Require valid-user
user@host ~/public_html $ htpasswd -c .htpasswd sergio
New password: ********
Re-type new password: ********
Adding password for user sergio
user@host ~/public_html $ cat .htpasswd
sergio:dZE5vdiBsOjLo

Sergio Castillo

15 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Control de acceso

Ejemplo de control de acceso basado en mod_auth:

Sergio Castillo

16 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Control de acceso

Ejemplos de control de acceso por IP y por contenido:

<Directory /var/www/localhost/htdocs/>

Order Deny,Allow
Allow from 127.0.0.0/8 192.168.0.0/24
Deny from all

</Directory>

SetEnvIf Request_URI "\.gif$" nogif=y
<Directory />

Order Deny,Allow
Deny from env=nogif

</Directory>

Sergio Castillo

17 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Control de acceso

¿Es seguro el C.A. basado en login/password?

Respuesta: no necesariamente, depende de la calidad de las contraseñas.

La autenticación usando, p.e., mod_auth, mod_auth_dbm o
mod_auth_digest puede ser atacada mediante fuerza bruta/diccionarios:

user@host ~ $ hydra 192.168.1.1 http-get -L user-dic.txt -P pass-dic.txt -m /
Hydra v5.4 (c) 2006 by van Hauser / THC - use allowed only for legal purposes.
Hydra (http://www.thc.org) starting at 2008-03-02 21:44:28
[DATA] 16 tasks, 1 servers, 3020 login tries (l:10/p:302), ~188 tries per task
[DATA] attacking service http-get on port 80
[80][www] host: 192.168.1.1
[STATUS] attack finished for 192.168.1.1 (waiting for childs to finish)
Hydra (http://www.thc.org) finished at 2008-03-02 21:44:28

password: crack

login: admin

Solución:

Podemos “mitigar” estos ataques mediante mod_evasive.
Emplear preferiblemente métodos más robustos (i.e.: certificados
digitales).

Sergio Castillo

18 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Índice

1

Introducción

2 Configuración y directivas básicas

3 Control de acceso

4

5

Identificación remota y HTTP Fingerprinting

SSL/TLS

6 Network DoS

7 Otras consideraciones

8 Conclusiones

Sergio Castillo

19 / 57

Intro. Conf. CA FP SSL DoS Cons. Concl.

Identificación remota y HTTP Fingerprinting

¿Qué es el HTTP Fingerprinting?

HTTP Fingerprinting: proceso remoto de identificación de servidores web
mediante las diferencias existentes en las implementaciones del protocolo HTTP.

Estrategias de identificación:
Cadenas identificativas.
Códigos de error
  • Links de descarga
http://lwp-l.com/pdf4450

Comentarios de: Seguridad en entornos Apache - Hardening Apache (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad