Directiva de seguridad de TI mediante firewall y configuración dns

En el siguiente artículo se intenta abordar el tema de la elaboración de directivas de seguridad mediante el ejemplo de firewall y DNS. Se puede utilizar en su empresa en su totalidad o como modelo para un mayor desarrollo.

cortafuegos

1.El firewall está diseñado para aumentar la seguridad de su organización mediante:

 

  • Bloquear los intentos de acceso no autorizados (controlar y restringir el acceso a la red interna).
  • Inspección del tráfico de red en múltiples niveles (m.in. firewall lleva a cabo el control basado en direcciones IP, dirección y estado de las conexiones, protocolos y aplicaciones, usuarios individuales).
  • Crear zonas de seguridad y modelar las características del tráfico entre ellas.
  • Ocultar la organización interna y la estructura de la red.
  • Monitoree las zonas de seguridad para generar alarmas apropiadas.
  • Recopilar registros sobre eventos y proporcionar oportunidades para crear estadísticas e informes.

2. Al agd.com tráfico exterior se limita al acceso a su sitio web público fuera en el puerto 443. La parte administrativa de la página sólo está disponible desde la red interna en el puerto 8080. El servicio dns está disponible en el puerto 53. Además, una conexión dentro de la empresa a un servidor de correo en el puerto 110, el puerto 3306 para las conexiones de base de datos y una conexión al puerto 2020 a ssh para la administración remota del servidor están abiertos.

 

3. El siguiente procedimiento está dirigido a los administradores de la red y no debe divulgarse a personas no autorizadas:

 

  • El script detallado de iptables está latente y se encuentra en una caja fuerte en el piso 8 del edificio A. Utilícese si realiza cambios en la configuración del firewall. El administrador principal de la red es la persona autorizada para hacerlo.

 

El firewall está configurado con un script para iptables que se ve así:

#!/bin/sh
##############################################################################
IPTABLES=iptables
PATH="/usr/sbin"
# Dirección del servidor 
SERVIDOR ="192.168.1.3"
 
# Dirección del PC administrador 
ADMIN="192.168.1.10" 

# Espacio de direcciones de nuestra web y la tarjeta que apoyo 
WEW_NET="192.168.1.0/24"
WEW_DEV="eth0"
 
# Dirección de salida - tarjeta externa y de servicio
ZEW_NET="0/0"   
ZEW_DEV="eth1"
 
# Servicios TCP que queremos pasar  
TCP_IN="ssl,dns" # 443, 53
TCP_OUT="ssl,dns" # 443, 53
  
# Servicios UDP, que pasan a través de
UDP_IN="443"
UDP_OUT=""
 
# Servicios ICMP que queremos pasar 
ICMP_IN=""
ICMP_OUT=""
 
#################################################################################
 
# Eliminamos regulaciones anteriores
$IPTABLES -F ENTRADA
$IPTABLES -F ADELANTE
$IPTABLES -F OUTPUT
 
# Configuración de la directiva predeterminada 
$IPTABLES -P INPUT DROP
$IPTABLES -P SALIDA ACEPTAR  
$IPTABLES -P FORWARD DROP
 
# Guardar todo nuestro tráfico en los registros 
$IPTABLES -A INPUT -j LOG -m limit --limit 15/hor              
$IPTABLES -A OUTPUT -j LOG -m limit --limit 15/hour
$IPTABLES -A FORWARD -j LOG -m límite --limit 15/hora
 
# Cargar la posibilidad de seguir los enlaces 
ip_conntarck modprobe
ip_conntarck_ftp modprobe
 
# Desactivar las respuestas a pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
 
# Protección contra los ataques pitufos 
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
 
# Ponemos en la protección contra la comunicación de error ICMP 
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
 
# Permite el registro de paquetes extraños (spoofed. source routed. redirects) 
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
 
# No aceptamos datagrama IP con la opción "ruta de origen"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
 
# No aceptamos paquetes icmp redict que pueden cambiar nuestras placas de enrutamiento
echo "0" /proc/sys/net/ipv4/conf/all/accept_redirects
 
# No se utilizarán todas las tarjetas de paquetes de siembra que no sean los
# de la matriz de enrutamiento 
echo "1" /proc/sys/net/ipv4/conf/all/rp_filter
 
# Permitimos que los paquetes se ejecuten alrededor de nuestra computadora
# es decir, desbloquear petle return LOOPBACK
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
 
# Permitimos el uso de protocolos en modo pasivo on
$IPTABLES -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
  
# Desbloquear servicios en el servidor para otros que vienen de fuera
 
#$IPTABLES -A INPUT -p tcp -s 0/0 --dport 443 -j ACCEPT 
#$IPTABLES -A INPUT -p udp -s 0/0 --dport 443 -j ACCEPT 
 
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 443 -j ACCEPT 
$IPTABLES -A INPUT -p udp -s 0/0 --sport 443 -j ACCEPT 
 
# Desbloquear servicios de alcantarillado para una dirección IP dada - COMP ver definiciones anteriores de TCP_IN, UDP_IN
 
#$IPTABLES -A INPUT -p tcp -s $KOMP -m multipuerto --dport $TCP_IN -j ACCEPT # protocolo tcp
    #$IPTABLES -A INPUT -p udp -s $KOMP -m multipuerto --dport $UDP_IN -j ACCEPT # protocolo udp
 
#$IPTABLES -A INPUT -p udp -s $KOMP --dport 137:139 -j ACCEPT # protocol udp
 
# Permitimos todo desde una dirección IP dada – administración desde esta dirección J
 
$IPTABLES -A INPUT -s $KOMP -j ACCEPT # por lo tanto las reglas anteriores están desactivadas
 
# acceso a DNS
 
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 53 -d $SERWER -j ACCEPT
$IPTABLES -A INPUT -p udp -s 0/0 --sport 53 -d $SERWER -j ACCEPT
 
#$IPTABLES -A OUTPUT -p tcp -s $SERWER -d 0/0 --dport 53 -j ACCEPT
#$IPTABLES -A OUTPUT -p udp -s $SERWER -d 0/0 --dport 53 -j ACCEPT
  
# Cerramos paquetes con la dirección de nacimiento establecida en nuestro
 
$IPTABLES -A INPUT -i $WEW_DEV -s $SERWER -j DROP # Ataque terrestre
 
# Paquetes con direcciones no rutoved, multicast y reservadas
 
$IPTABLES -A INPUT -i $WEW_DEV -s 10.0.0.0/8 -j DROP #class A
$IPTABLES -A INPUT -i $WEW_DEV -s 172.16.0.0/12 -j DROP #class B
# $IPTABLES -A INPUT -i $WEW_DEV -s 192.168.0.0/16 -j DROP #class C - esto es lo que usamos
$IPTABLES -A INPUT -i $WEW_DEV -s 224.0.0.0/4 -j DROP #multicast
$IPTABLES -A INPUT -i $WEW_DEV -d 224.0.0.0/4 -j DROP #multicast
$IPTABLES -A INPUT -i $WEW_DEV -s 240.0.0.0/5 -j DROP #reserved
$IPTABLES -A INPUT -i $WEW_DEV -s 127.0.0.0/5 -j DROP #lo
 

  • Guardamos este script con 700 derechos de acceso y lo ejecutamos en el servidor.
  • A continuación, al ejecutar la secuencia de comandos de firewall, habilitar el almacenamiento de registros. Para ello, escriba el siguiente código al final del archivo /etc/syslog.conf:
*.* /dev/tty12 
*.* /var/log/firewall
  • Reinicie el daemon syslogd:
 # killall -HUP syslogd
  • A partir de ahora en el archivo /var/log/firwall (también en la consola 12 – alt +12) tendremos todos los registros del sistema.

4. Los cambios en la configuración del firewall sólo pueden ser realizados por el administrador de red principal. Esto se hace mediante la solicitud de 43 descargas de los administradores de red, que deben ser aprobados por el jefe de ti manager.

5. Los cambios en la configuración del firewall solo pueden ser solicitados por los administradores de departamentos de TI individuales.

6. Si un firewall se bloquea, los administradores de red son responsables de restablecer el firewall o, en el caso extremo de una oleada, en un servidor de copia de seguridad.

7. No realice cambios en la configuración del firewall basándose en una solicitud no verificada.

8. Cualquier actualización de su sistema operativo y las aplicaciones que utiliza deben instalarse tan pronto como aparezcan. Si esta instrucción interfiere con el funcionamiento de los sistemas de producción críticos, se deben realizar actualizaciones siempre que sea posible.

9. La validación de la configuración debe ser auditada trimestralmente por los administradores de red.

  • Se puede hacer usando la herramienta nmap desde el comando external network:
nmap -p 1-65535 -T4 -A -v firma.com -Pn
  • El resultado debe ser el siguiente:
Informe de análisis de Nmap para agd.com (x.x.x.x)
El host está en marcha (latencia de 0,00047s).
No se muestra: 65533 puertos filtrados
VERSIÓN DEL SERVICIO DE ESTADO DEL PUERTO
53/TCP abierto tcpwrapped
443/TCP abierto tcpwrapped
  • En caso de incumplimiento, informe de este hecho al administrador de red principal que es responsable de causar la vulnerabilidad.

DNS

1. La seguridad de la configuración de DNS se basa en tres principios básicos:

  • El servidor debe coincidir con cualquier persona con sólo un dominio que admiten;
  • Responda a cada pregunta SOLO en la red que admite;
  • Le permite transferir sus dominios SOLO a sus servidores que siguen en la cadena;

2. Los cambios en la configuración de DNS solo los puede realizar el administrador de la red raíz. Esto se hace solicitando 45 descargas de los administradores de red, que deben ser aprobadas por el jefe de TI.

3. Solo los administradores de departamentos de TI individuales pueden solicitar cambios en la configuración de DNS.

4. No realice cambios en la configuración del firewall basándose en una solicitud no verificada.

5. Si dns se bloquea, los administradores de red son responsables de restablecer la red, o en el caso extremo de una oleada a un servidor de copia de seguridad.

6. Cualquier actualización de su sistema operativo y las aplicaciones que utiliza deben instalarse tan pronto como aparezcan. Si esta instrucción interfiere con el funcionamiento de los sistemas de producción críticos, se deben realizar actualizaciones siempre que sea posible.

7. La siguiente configuración está dirigida a los administradores de red y no debe divulgarse a personas no autorizadas:

En dns agd.com se basa en BIND dns y se ve así:

  • Antes de la sección de opciones globales de named.conf.options, debe definir quién puede consultar el servidor para cualquier dominio:
Antes de la sección de opciones globales de named.conf.options, debe definir quién puede consultar el servidor para cualquier dominio
  • A continuación, debe configurar los ajustes para quién puede solicitar nuestro dominio:
A continuación, configure la configuración de quién puede solicitar nuestro dominio
  • Se debe prestar especial atención a la Directiva permitir transferencias, que puede revelar todas las entradas en nuestro dominio. Si no tenemos servidores de copia de seguridad, bloqueamos esta opción como en la entrada anterior.
  • El siguiente paso es auditar la corrección de la configuración.
    • Para este propósito, podemos utilizar la herramienta de excavación.
    • Comprobamos el bloqueo de sondeo de nuestro servidor para otras direcciones, haciéndolo desde otra red:
cavar @ip_naszego_serwera jakieś_inne_ip 
  • el resultado de la acción debe ser similar al siguiente:
<>> DiG 9.3.2 <> > @agd.com wp.pl A
		 ; (Se ha encontrado 1 servidor)
		 ;; opciones globales: printcmd
		 ;; Obtuve respuesta:
		 ;; ->>HEADER<- opcode: QUERY, status: REFUSED, id: 65151
		 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  • Comprobamos la posibilidad de transferencia de dominios a través de un servidor externo:
cavar agd.com AXFR
  • El resultado de la acción debe ser similar al siguiente:
<>> DiG 9.3.2 <> > agd.com AXFR
;; opciones globales: printcmd
; Error de transferencia.
  • En caso de incumplimiento, informe de este hecho al administrador de red principal que es responsable de causar la vulnerabilidad.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). <br> Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Marcar el Enlace permanente.

Podziel się swoją opinią na temat artykułu