cortafuegos
Función: función de aislamiento; los firewalls generalmente se implementan en el borde de la red o en el borde del host (la entrada y salida de una red en su conjunto)
efecto principal:
Se utiliza para determinar a qué datos se puede acceder mediante la red externa y a qué datos se puede acceder mediante la red interna.
Tecnologías de seguridad utilizadas:
1. Sistema de detección de intrusiones: al detectar múltiples amenazas (como caballos de Troya, virus, etc.), no bloqueará inmediatamente el acceso a la red, pero informará a la policía y monitoreará después de un tiempo.
2. Sistema de prevención de intrusiones: una vez que se detecta una amenaza, la bloqueará inmediatamente, protegerá la seguridad de la red de manera proactiva, funcionará en modo transparente y, en general, adoptará un método de implementación en línea (es decir, todos los datos que entran y salen a través de esta detección)
Especial: pared de agua
Función: prevenir la fuga de información
Software cortafuegos: iptables, cortafuegos, Tinder, 360...
Firewall hardware: routers, switchs, switchs de capa 3...
Cómo se dividen los cortafuegos
1. Alcance de la protección
Firewall de host: Sirviendo al propio host actual
Firewalls de red: el camino a seguir
2. Método de implementación
Firewall de hardware: Dispone tanto de hardware profesional para realizar funciones como de software para configurar
Firewall de software: uso del código para realizar, juzgar
3. División del protocolo de red
Capa de red: firewall de filtrado de paquetes (paquetes)
Capa de aplicación (servidor proxy): establece la entrada y salida de datos
cortafuegos de Linux
CentOS 7 viene con
cortafuegos cortafuegos
cortafuegos de filtrado de paquetes iptables
selinux viene con herramientas de seguridad
Los tres anteriores están integrados en un núcleo: el componente netfilter
cortafuegos de filtrado de paquetes iptables
Funciona en la capa de red; filtra y limita paquetes
iptables pertenece al modo de usuario
Filtrar paquetes: la dirección IP, el puerto y el protocolo se pueden configurar en iptables y la página se puede restringir o liberar al mismo tiempo.
Protocolo de función principal: TCP
La composición y mecanismo de trabajo de iptables.
componente:
Cuatro tablas y cinco enlaces; (Especial: selinux también es una tabla, pero es la quinta tabla fuera del alcance de la discusión)
Cuatro mesas:
tabla sin formato: mecanismo de seguimiento de conexiones; puede acelerar la velocidad de los paquetes que pasan a través del firewall; seguimiento de paquetes
tabla mangle: marcadores de datos
tabla nat: tabla de traducción de direcciones
tabla de filtrado: tabla de reglas de filtrado; define o filtra paquetes calificados según las reglas; tabla predeterminada
Prioridad de las cuatro mesas
seguridad——>raw ——>mangle ——>nat ——>filtro
cinco cadenas
ENTRADA: procesar paquetes de datos, ingresar las reglas de esta máquina
SALIDA: Maneja paquetes de datos y envía las reglas de esta máquina.
Preenrutamiento: reglas para procesar paquetes entrantes
postrouting: maneja las reglas después de que el paquete de datos sale de la máquina
FORWARD: reglas para manejar el reenvío de paquetes
reglas de iptables
Hay cadenas en la tabla (cada tabla puede tener cinco cadenas) y hay reglas en la cadena (reglas: comandos de control personalizados para paquetes de datos)
orden coincidente
1. Haga coincidir de acuerdo con la prioridad de la tabla; verifique de arriba a abajo en la tabla, deténgase inmediatamente después de encontrar una regla coincidente, no continúe buscando hacia abajo en la tabla, si no coincide ninguna regla, siga las reglas predeterminadas de la tabla. trato en cadena con
2. Dirección del flujo de mensajes
Flujo hacia la máquina: preenrutamiento ——> cadena de ENTRADA —> proceso de usuario —> solicitud —> respuesta —> datos devueltos al usuario
Salida de esta máquina: ejemplo httpd—>respuesta (mensaje)—>cadena de SALIDA—>postrouting (si se realiza la traducción de direcciones)—>usuario
Reenvío: los paquetes de datos entran, deben provenir de diferentes segmentos de la red, reenvío de ruta --> cadena FORWARD --> los paquetes de datos salen
(Si no se permite el reenvío, el paquete se descartará directamente)
formato de comando iptables
iptables [-t nombre de la tabla] (si no usa -t para especificar la tabla, la tabla de filtro se especificará de forma predeterminada) opciones de administración [nombre de la cadena] [condición coincidente] [-j tipo de control]
Se puede agregar un campo al final --line-number: Indica el número de la condición personalizada
opciones de gestión
-A: Agregar uno al final de la cadena; agregar una regla
-I: Insertar una nueva regla en la cadena; especificar el número de secuencia que se insertará después -Especifico el número de secuencia
-P: modifica la política predeterminada (cadena)
-D: eliminar regla; puede especificar el número de serie a eliminar
-R: reemplazar, modificar reglas (generalmente no se usa)
-L: ver las reglas en la cadena; generalmente con v: mostrar detalles y n: mostrar las reglas en forma numérica -vnL
-F: Borra todas las reglas de la cadena; ¡úsala con precaución! ! ! !
condiciones coincidentes
-p: especifica el tipo de protocolo coincidente
-s: especifica la dirección IP de origen coincidente (paquete)
------ La dirección IP especificada debe escribirse antes del protocolo especificado; la especificación de varias direcciones IP debe estar separada por ","
-d: especifique la dirección IP de destino coincidente (paquete)
-i: especifica la interfaz de red donde el paquete de datos ingresa a la máquina
-o: especifica la interfaz de red donde el paquete de datos sale de la máquina
--sport: especifica el número de puerto de origen
------- El número de puerto especificado debe escribirse después del protocolo especificado; al mismo tiempo, varios números de puerto deben estar separados por ":", preste atención al formato de escritura de pequeño a grande, por ejemplo: 22 :80:443
--dport: especifica el número de puerto de destino
tipo de control
ACEPTAR: Permitir que pase el paquete.
DROP: Rechaza y descarta el paquete de datos directamente, sin dar ninguna respuesta de información al host.
RECHAZAR: Rechazar, pero responder al anfitrión
SNAT: modifica la dirección IP de origen del paquete
DNAT: modifica la dirección IP de destino del paquete
En producción, la regla predeterminada para todas las cadenas en iptables es DROP
módulo oculto
Cuando -p especifica el protocolo, si se ha especificado el protocolo, no es necesario usar -m para especificar el módulo de control; al especificar el número de puerto, puede usar la forma de dos puntos, o puede usar -m para que el módulo está implementado
-m se puede utilizar para indicar el tipo, multipuerto, dirección mac, dirección IP y estado del paquete de forma clara.
Uso: -p tcp -m multipuerto --dport 22,20,3306,80 -j ACEPTAR
Se puede ver que cuando se usa -m multiport para especificar múltiples puertos, se usa "." para separarlos y no es necesario considerar la clasificación por tamaño.
rango de IP
-m iprange --src-range rango de IP de origen
-m iprange --dst-range rango de IP de destino
Uso: -p icmp -m iprange --src-range 20.0.0.10-20.0.0.20 -j ACEPTAR
rango de direcciones mac
-m mac --mac-fuente
Copia de seguridad y restauración de iptables.
1. La configuración de iptables en la línea de comando es temporal, es decir, reiniciar el servicio la invalidará
2. Configuración permanente
paso:
Primero, haga una copia de seguridad de todas las políticas --> iptables-save > /opt/iptables.bak
Luego redirija la política de respaldo al archivo de configuración permanente predeterminado /etc/sysconfig/iptables de iptables
Otro formato de configuración temporal
iptables-restore < /opt/iptables.bak
Crear una cadena personalizada
iptables -N nombre de cadena personalizado
Si no se especifica ningún nombre de cadena (-t nombre de cadena), se creará en la tabla de filtro de forma predeterminada
Cambiar el nombre de la cadena en la tabla.
iptables -E nombre de cadena original nombre de cadena nueva
Las reglas creadas en la cadena personalizada deben agregarse a la cadena predeterminada para habilitarse
iptables -I ENTRADA -p icmp -j nombre de cadena personalizada
eliminar cadena personalizada
iptables -X nombre de cadena personalizada
Nota: Si se ha hecho referencia a las reglas de la cadena personalizada en la cadena predeterminada, primero debe eliminar las reglas de referencia en la cadena predeterminada, luego eliminar las reglas en la cadena personalizada y finalmente eliminar la cadena personalizada.
Cómo implementar la captura de paquetes en el sistema Linux
Utilice tcpdump para capturar paquetes de Linux; tcpdump es una herramienta que viene con Linux
Ejemplo de comando:
protocolo tcpdump -i nombre del dispositivo (como ens33) -t -s0 -c 10 (especificar tiempos de captura de paquetes) y puerto dst 80 y src net 20.0.0.0/24 -w (guardar) ./ens33.cap
-i ens33: solo captura paquetes que pasan ens33
-t: no muestra la marca de tiempo
-s0: captura paquetes completos
y puerto dst 80: el puerto de destino es 80
y src net 20.0.0.0/24: especifique el segmento de red como la dirección de origen del paquete
-w: guarda el contenido del paquete de datos; ./ indica que la ubicación para guardar es el directorio actual; o /../.. especifica directamente el archivo exacto para guardar
Captura dinámica de paquetes (es decir, capturar todo el tiempo, detener manualmente)
tcpdump tcp -i ens33 -s0 -w ./ens33.acp
Nota: El paquete capturado por esta herramienta no se puede analizar directamente en Linux, pero el paquete .cap guardado debe abrirse directamente en winshark.