Linux (cortafuegos iptables)

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.

Supongo que te gusta

Origin blog.csdn.net/ZZZ_CCC01/article/details/131941485
Recomendado
Clasificación