Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo planificar una ruta de aprendizaje sobre seguridad de redes Linux?

¿Cómo planificar una ruta de aprendizaje sobre seguridad de redes Linux?

El principio del firewall

La función del firewall

Función principal: filtrar paquetes de datos entre dos redes

INERNET--- - --fire wall------servidor------LAN

Kernel de Linux Netfilter

El espacio del kernel de Linux y el espacio de la aplicación son diferentes

p>

El espacio del kernel está protegido y cualquier paquete de datos que entre y salga del servidor debe ser procesado por el kernel

Todos los paquetes de datos enviados a la computadora local deben pasar por INPUT

Cualquier esclavo Los paquetes de datos generados por esta máquina y enviados a otros deben pasar por SALIDA

Un dato reenviado desde el enrutador local, el objetivo no es usted mismo, pero enviado a otros pasará por ADELANTE

ENTRADA/SALIDA protege la máquina local ADELANTE protege a los usuarios de LAN

Principio de filtrado de paquetes

Un paquete de datos necesita pasar por el enrutamiento local. Para determinar cómo hacerlo, ENRUTAMIENTO. es muy importante. Determina cómo proceder

Si un paquete es igual a la dirección de mi tarjeta de red local, se puede recibir localmente y se ingresa INPUT, de lo contrario, FORWARD

Si es un paquete. se genera localmente y se envía después de la SALIDA

El filtrado de paquetes consiste en establecer condiciones en estos tres lugares, configurar obstáculos, bloquear o pasar paquetes de datos y establecer el método de procesamiento de paquetes

Método de procesamiento de paquetes

iptable -A INPUT -p icmp -j DROP

Los métodos de procesamiento de paquetes incluyen destino, descartar (DROP), aceptar (ACEPTAR) (rebotar), registro de RECHAZO ( LOG), etc.

comando iptables

iptables -A INPUT -p icmp -j DROP Agregar una regla de filtrado

ping 192.168.0.101

iptables - L -nVer reglas de filtro

iptables -F Borrar reglas de filtro

iptables --help more

iptables -L -n –line -number

p>

Agregue una regla para denegar el acceso de todos los paquetes al puerto 21

iptables -A INPUT -p tcp -d 192.168.0.101 --dport 21 -j DROP

Al modificar iptables -F, debe cerrar todas las puertas del firewall y abrir los puertos uno por uno

iptables -L -n –line-numbers

Supongamos que solo abrimos un servidor

Si este servidor también es un servidor DNS

iptables -A INPUT -p udp --dport 53 -j ACCEPT recibe solicitudes de resolución DNS de otras máquinas

iptables -A OUTPUT -p udp --sport 53 -j ACCEPT Este servidor DNS envía una respuesta de resolución DNS

iptables -D INPUT 5 elimina la quinta regla en INPUT

Si este servidor también necesita conectarse al SSH de otros servidores

Hasta ahora, los servicios que acceden a esta máquina han sido ignorados

En esta máquina, hay muchos servicios. guard está en 127.0.01, por lo que necesitamos abrir el dispositivo de loopback local

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

^IN^ Función de sustitución del comando OUT

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j

ACEPTAR

servicio iptables guardar

Ahora prestemos atención al puerto 22

Entrada de cadena (política DROP)

1 ACEPTAR tcp -- 0.0 .0.0/0 192.168.0.101 tcp dpt:22

SALIDA de cadena (política DROP)

1 ACEPTAR tcp -- 192.168.0.101 0.0.0.0/0 tcp spt:22 < / p>

Todos los paquetes entrantes deben pasar por el puerto 22

Todos los paquetes salientes deben pasar por el puerto 22. Sin embargo, si debido a vulnerabilidades o virus del sistema, los paquetes se envían activamente desde el puerto 22 en lugar de Si se responde al paquete solicitándolo, surgirá un gran problema en este momento

Por lo tanto, debemos agregar una regla para ver si otros solicitan este paquete y responderé a otros

iptables -A SALIDA -p tcp --sport 22 -m state --state ESTABLECIDO -j ACEPTAR

iptables -D SALIDA 1 eliminar la primera regla

iptables -n -L --line-numbers

SALIDA de cadena (política DROP)

6 ACEPTAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22 estado ESTABLECIDO

Lo mismo ocurre con el puerto 80

iptables -A SALIDA -p tcp --sport 80 -m state --state ESTABLECIDO -j ACCEPT

servicio iptables save

También es problemático acceder al SSH de otras personas como cliente

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT El paquete enviado desde el cliente definitivamente ser aceptado incondicionalmente

iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLECIDO -j ACCEPT acepta servicios de otros

Si hay un virus en el servidor Respuesta SSH, se envía activamente a la máquina invitada, ocurre un problema. En este momento, debo agregar la respuesta del paquete de servicio SSH que solicité

LOG target

iptables -A. ENTRADA -p tcp –dport 22 -j LOG –log-level 5 –log-prefix “IPTABLES”

Editar /etc/syslog.conf

Nota: El nivel de registro 5 debe ser consistente con el nivel en syslog.conf. El nivel se puede obtener a través de la ayuda del manual de syslog.

iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "iptable:"

vi /etc/rsyslog.conf

kern.=notice /var/log/firewall.log

¿Por qué aparece el aviso aquí?

man syslog para ver el nivel del mensaje

#define KERN_EMERG "<0>" /* el sistema no se puede utilizar */

#define KERN_ALERT "<1> " /* se debe tomar acción inmediatamente */

#define KERN_CRIT "<2>" /* condiciones críticas */

#define KERN_ERR "<3>" /* condiciones de error * /

#define KERN_WARNING "<4>" /* condiciones de advertencia */

#define KERN_NOTICE "<5>" /* condición normal pero significativa */

#define KERN_INFO "<6>" /* informativo */

#define KERN_DEBUG "<7>" /* mensajes de nivel de depuración */

En el firewall define El nivel es 5, por lo que el kernel correspondiente es aviso

iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLECIDO -j ACCEPT

iptables -n - L –número-línea

iptables -D ENTRADA 8

iptables -I ENTRADA 6 -p tcp --dport 22 -j LOG --log-level 5 --log- prefijo "iptable:"

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -D INPUT 1 mueve las reglas con las mismas reglas a la parte posterior de la log

servicio iptables save

tail /var/log/firewall.log -f

Traducción de direcciones NAT

filter.org/

iptables -A FORWARD -s 192.168.0.0/24 -j ACEPTAR Permitir acceso local a Internet

iptables -A FORWARD -d 192.168.0.0/24 -j ACEPTAR

Light Si esto no funciona, necesita abrir el archivo de reenvío en el kernel

más /proc/sys/net/ipv4/ip_forward

echo 1 > / proc/sys/net/ipv4/ip_forward

Esto solo puede tener efecto temporalmente Si se reinicia el servidor, el valor volverá a ser 0

vi /etc/sysctl.conf <. /p>

# Controla el reenvío de paquetes IP

net.ipv4.ip_forward = 1

servicio iptables save

Aún no podemos usarlo en este momento, porque la LAN se reenvía a Internet a través del máquina local y la red La dirección no conoce la IP de la LAN local

Así que tenemos que pasar NAT

iptables -t nat -L -n

Tabla NAT de Netfilter

Espacio del kernel---->PREROUTING---->ROUTING---->FORWARD---->POSTROUTING

SNAT ocurre en POSTROUTING

PREROUTING- --->FORWARD---->POSTROUTING

destino: 11.22.33.1:22 destino: 11.22.33.1:22

fuente: 10.0 .0.1: fuente: 11.22.33.44:

proto: tcp proto: tcp

Dirección local:

eth0: 10.0.0.254

eth1: 11.22.33.44

Aplicación SNAT

10.0.0.241 eth0:10.0.0.254 /eth1:192.168.0.254 192.168.0.1

iptables -t nat - A POSTROUTING -s 10.0.0.0/24 -j SNAT –to-source 192.168.0.254

IP:10.0.0.241 getway: 10.0.0.254 máscara de subred:255.255.255.0

ping Si se puede hacer ping a 192.168.0.1, el acceso es exitoso

En uso real

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE admite traducción dinámica

Encuentra automáticamente la IP de origen al regresar

iptables -t nat -F

DNAT ocurre en PREROUTING

PREROUTING---- >FORWARD---->POSTROUTING

destino: 11.22.33.44:22 destino: 10.0.0.1:22

fuente: 11.22.33.1:< puerto> fuente: 11.22.33.1 :

proto: tcp proto: tcp

Dirección local:

eth0: 10.0.0.254

eth1: 11.22 .33.44

Aplicación DNAT

10.0.0.241 eth0:10.0.0.254 /eth1:192.168.0.254 192.168.0.1

iptables - t nat -A PREROUTING - d 10.0.0.254 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1

192.168.0.1 Este es un servidor real, no puede ser visto por visitantes 10.0.0.241, los visitantes ven solo un firewall

Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir:

/beauty9235/archive/2008/12/01/3423069.aspx