lunes, 6 de octubre de 2008

Cómo proteger un servidor Web con IPsec

En este Post vamos a ver como proteger un servidor web con el protocolo IPsec, acontinuacion se daran los pasos para realizar la configuracion, tomen nota que es muy importante para prevenir posibles riesgos:


Un servidor Web seguro permite a los clientes Web comunicarse con el servicio Web. En un servidor Web seguro, el tráfico que no sea de la red debe someterse a comprobaciones de seguridad. El siguiente procedimiento incluye las omisiones del tráfico de red. Además, este servidor Web puede realizar solicitudes de clientes DNS no seguras. El resto del tráfico requiere ESP con los algoritmos AES y SHA-1.


Antes de empezar:
Debe encontrarse en la zona global para poder configurar la directiva IPsec.

1. En la consola del sistema, asuma el rol de administrador principal o conviértase en superusuario.
La función de administrador principal incluye el perfil de administrador principal.

Nota:
El inicio de sesión remoto expone el tráfico cuya seguridad es crítica a intrusos. Aunque proteja de algún modo el inicio de sesión remoto, la seguridad del sistema se reducirá a la seguridad de la sesión remota.

2. Determine qué servicios deben omitir las comprobaciones de directiva de seguridad.
En el caso de un servidor Web, estos servicios incluyen los puertos TCP 80 (HTTP) y 443 (HTTP seguro). Si el servidor Web proporciona consultas de nombres DNS, el servidor también podría incluir el puerto 53 tanto para TCP como para UDP.
3. Cree un archivo en el directorio /etc/inet para la directiva del servidor Web.
Asigne al archivo un nombre que indique su finalidad, por ejemplo IPsecWebInitFile. Escriba las siguientes líneas en el archivo:
# Web traffic that web server should bypass.
{lport 80 ulp tcp dir both} bypass {}
{lport 443 ulp tcp dir both} bypass {}

# Outbound DNS lookups should also be bypassed.
{rport 53 dir both} bypass {}

# Require all other traffic to use ESP with AES and SHA-1.
# Use a unique SA for outbound traffic from the port
{} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
4. Copie el contenido del archivo que ha creado en el Paso 3 en el archivo /etc/inet/ipsecinit.conf .
5. Proteja el archivo IPsecWebInitFile con permisos de sólo lectura.
# chmod 400 IPsecWebInitFile
6. Proteja el servidor Web sin rearrancar.
Elija una de las siguientes opciones:

- Si está utilizando IKE para la administración de claves, detenga el daemon in.iked y reinícielo.
# pkill in.iked
# /usr/lib/inet/in.iked
- Si está administrando las claves manualmente, utilice los comandos ipseckey e ipsecconf.
Utilice IPsecWebInitFile como argumento para el comando ipsecconf. Si utiliza el archivo ipsecinit.conf como argumento, el comando ipsecconf genera errores cuando las directivas del archivo ya están implementadas en el sistema.
# ipseckey -c -f /etc/inet/secret/ipseckeys
# ipsecconf -a /etc/inet/IPsecWebInitFile
Precaución:
Lea la advertencia cuando ejecute el comando ipsecconf. Un socket que ya está bloqueado, es decir, un socket que ya está en uso, constituye una puerta trasera no segura al sistema. Si desea más información al respecto, consulte Consideraciones de seguridad para ipsecinit.conf eipsecconf. La misma advertencia aparece al reiniciar el daemon in.iked.
También puede rearrancar. Al rearrancar se asegura de que la directiva IPsec esté aplicada en todas las conexiones TCP. Al rearrancar, las conexiones TCP utilizan la directivadel archivo de directiva IPsec.
7. (Opcional) Active un sistema remoto para comunicarse con el servidor Web para tráfico que no sea de red.
Escriba la siguiente directiva en el archivo ipsecinit.conf de un sistema remoto:
# Communicate with web server about nonweb stuff
#
{laddr webserver} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
Un sistema remoto puede comunicarse de forma segura con el servidor Web para tráfico que no sea de red sólo cuando las directivas IPsec de los directivas coinciden.

En el siguiente post seguiremos dando mas configuraciones para mantener la seguridad en diferentes dispositivos de comunicacion, atravez del protocolo IPV6 (IPsec).