Resumen de problemas relacionados con el firewall de Linux

01. configuración del servicio de firewall de Linux

01. Para CentOS 6

Ver el estado del firewall:

[root@ufo130 ~]# service iptables status
iptables:未运行防火墙。

Apague el firewall actual:

[root@ufo130 ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter                   	[确定]
iptables:清除防火墙规则:                                	[确定]
iptables:正在卸载模块:                                  	[确定]

Encienda el firewall actual:

[root@ufo130 ~]# service iptables start
iptables:应用防火墙规则:                                 	[确定]

Apague permanentemente el firewall, no se iniciará automáticamente después de arrancar:

  • Consultar si iptables está habilitado
[root@ufo130 ~]# chkconfig --list | grep iptables
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
  • Se puede ver que: 2/3/4/5 están todos iniciados y el firewall está cerrado
[root@ufo130 ~]# chkconfig iptables off
[root@ufo130 ~]# chkconfig --list | grep iptables
iptables       	0:off	1:off	2:off	3:off	4:off	5:off	6:off

Encienda permanentemente el firewall y comience automáticamente cuando se active la oportunidad:

[root@ufo130 ~]# chkconfig iptables on
[root@ufo130 ~]# chkconfig --list | grep iptables
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off

02. Para CentOS 7

Ver el estado actual del firewall:

[root@ufo130 ~]# systemctl status firewald.service

Apague el estado actual del firewall:

[root@ufo130 ~]# systemctl stop firewald.service

Active el estado actual del firewall:

[root@ufo130 ~]# systemctl start firewald.service

Apague permanentemente el firewall, no se iniciará después de arrancar:

[root@ufo130 ~]# systemctl disable firewald.service

Encienda permanentemente el firewall y comience automáticamente cuando se active la oportunidad:

[root@ufo130 ~]# systemctl enable firewald.service

02. Ver la configuración del firewall de Linux (CentOS 6)

01. Compruebe qué puertos están abiertos

Compruebe si el puerto es accesible:

[root@ufo130 tmp]# telnet 192.168.137.168 5432
[root@ufo130 tmp]# telnet localhost 5432

Los puertos abiertos se encuentran en el archivo / etc / sysconfig / iptables

[root@ufo130 tmp]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

O ver directamente a través del comando iptables -nL

[root@ufo130 tmp]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Use el comando para abrir un puerto

iptables -A INPUT -p tcp --dport 80 -j REJECT 
#禁止来自80端口访问的数据包
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
#允许来自80端口访问的数据包
iptables -A OUTPUT -p tcp --sport 80 -j REJECT 
#禁止从80端口出去的数据包
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT 
#允许从80端口出去的数据包
iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
#打开49152~65534之间的端口

También abra el puerto modificando el archivo / etc / sysconfig / iptables y luego agregue una línea al archivo

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

Descripción de parámetros:

  • -Se considera que un parámetro agrega una regla
  • -P especifica qué protocolo es, el protocolo tcp comúnmente utilizado y, por supuesto, udp, como DNS en el puerto 53
  • -Dport es el puerto de destino, cuando los datos ingresan al servidor desde el exterior, es el puerto de destino
  • -Datos deportivos del servidor, se utiliza para el puerto de origen de datos
  • -J es especificar ACCEPT (recibir) o DROP (no recibir)

Surte efecto después de guardar y reiniciar

/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

La configuración de firewall relacionada con CentOS 7 se omite temporalmente ...

02. Ejemplos de configuraciones relacionadas

Permitir solo el acceso a la URL especificada

iptables -A Filter -p udp --dport 53 -j ACCEPT
iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter -d www.ctohome.com -j ACCEPT
iptables -A Filter -d www.guowaivps.com -j ACCEPT
iptables -A Filter -j DROP

Abra algunos puertos de una IP, pero todos los demás están cerrados

iptables -A Filter -p tcp --dport 80 -s 192.168.1.22 -d www.pconline.com.cn -j ACCEPT
iptables -A Filter -p tcp --dport 25 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 109 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 110 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter -p udp --dport 53 -j ACCEPT
iptables -A Filter -j DROP

Los siguientes son los puertos, primero selle todas las direcciones IP (estrategia común)

iptables -I INPUT -p tcp --dport 9889 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9889 -j ACCEPT

Abra varios puertos

iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT

Puerto serial abierto

iptables -A Filter -p tcp -m multiport --source-port 22,53,80,110 -s 192.168.20.3 -j REJECT iptables -A Filter -p tcp --source-port 2:80 -s 192.168.20.3 -j REJECT

Prohibir múltiples servicios portuarios

iptables -A Filter -m multiport -p tcp --dport 21,23,80 -j ACCEPT

Solo se permiten PING 202, 96, 134, 133, otras IP públicas no pueden hacer PING

iptables -A Filter -p icmp -s 192.168.1.22 -d 202.96.134.133 -j ACCEPT
iptables -A Filter -p icmp -j DROP

Permitir solo ciertos servicios, negar otros (2 reglas)

iptables -A Filter -p tcp -s 192.168.0.1 --dport 1000 -j ACCEPT
iptables -A Filter -j DROP

Prohibir PING de una dirección IP:

iptables -A Filter -p icmp -s 192.168.0.1 -j DROP

Prohibir un determinado servicio de dirección IP:

iptables -A Filter -p tcp -s 192.168.0.1 --dport 80 -j DROP
iptables -A Filter -p udp -s 192.168.0.1 --dport 53 -j DROP

Prohibir un determinado servicio de puerto de una determinada dirección IP

iptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j ACCEPT
iptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j DROP

Prohibir un determinado servicio de puerto de una determinada dirección MAC

iptables -I Filter -p tcp -m mac --mac-source 00:20:18:8F:72:F8 --dport 80 -j DROP

Prohibir que una determinada dirección MAC acceda a Internet:

iptables -I Filter -m mac --mac-source 00:11:22:33:44:55 -j DROP

03. Cómo configurar la lista blanca relacionada

Restringir todo

iptables -P INPUT DROP

Lista blanca

iptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT

Restricción de acceso al puerto, restringir el puerto 80, 443

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP

Lista blanca 1.2.3.4

iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT

Lista blanca 1.2.3. [0-255]

iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT

04. El archivo de configuración del cortafuegos no existe o no se puede iniciar

1. ¿No existe / etc / sysconfig / iptables?
2. ¿No se puede activar el cortafuegos?

Razón :

  • En un sistema Linux recién instalado, el cortafuegos está desactivado de forma predeterminada y, por lo general, no hay una política de cortafuegos configurada, por lo que no hay un archivo / etc / sysconfig / iptables.

Solucion :

  • Use el comando iptables en la consola para escribir una regla de firewall, como: iptables -P OUTPUT ACCEPT
  • Use service iptables save para guardar, el valor predeterminado es guardar en el archivo iptables en el directorio / etc / sysconfig

03. Resumen

01. Clasificación de firewall

  • El firewall de filtrado de paquetes (filtrado de paquetes) selecciona y filtra los paquetes de datos en la capa de red y utiliza una tabla de control de acceso (ACL) para verificar la dirección de origen, la dirección de destino, el puerto de origen y destino, la IP y otra información del flujo de datos.
  • Cortafuegos de tipo servidor proxy

02. conceptos básicos de iptables

  • Reglas: condiciones predefinidas por el administrador de la red
  • Cadenas: es la ruta por la que se propagan los paquetes de datos.
  • Tablas (tablas): la tabla de filtro de 3 tablas incorporada, la tabla nat y la tabla mangle se utilizan para lograr funciones de conversión de direcciones de red y reconstrucción de paquetes de filtrado
  • La tabla de filtro es la predeterminada del sistema, la tabla INPUT (paquetes entrantes), FORWORD (paquetes reenviados), OUTPUT (procesando paquetes generados localmente), la tabla de filtro solo puede aceptar y descartar paquetes.
  • tabla nat (traducción de direcciones de red), PREROUTING (modificar el próximo paquete de datos), OUTPUT (modificar el paquete de datos generado localmente antes del enrutamiento), POSTROUTING (modificar el próximo paquete de datos)
  • mangle, PREROUTING, OUTPUT, FORWORD, POSTROUTING, INPUT

03. Otro

iptables es leer las reglas en orden, la configuración recomendada de reglas de firewall

  • Mantenga las reglas simples
  • El orden de las reglas es importante
  • Intenta optimizar las reglas
  • Realiza copias de seguridad relevantes

04. Configuración

formato de comando iptables

     iptables [-t] -命令 匹配操作(大小写敏感)

     动作选项:
     ACCEPT          	接收数据包
     DROP             	丢弃数据包
     REDIRECT      		将数据包重新转向到本机或另一台主机的某一个端口,通常功能实现透明代理或对外开放内网的某些服务
	 SNAT             	源地址转换
     DNAT             	目的地址转换
     MASQUERADE       	IP伪装
     LOG               	日志功能

Definir reglas
para denegar todos los paquetes primero y luego permitir los paquetes requeridos

  iptalbes -P INPUT DROP
  iptables -P FORWARD DROP
  iptables -P OUTPUT ACCEPT

Ver la lista de reglas de todas las cadenas en la tabla nat

  iptables -t nat -L

Agregar, insertar, eliminar y reemplazar reglas

 iptables [-t 表名] <-A|I|D|R> 链名 [规则编号] [-i|o 网卡名称] [-p 协议类型] [-s 源ip|源子网] [--sport 源端口号] [-d 目的IP|目标子网] [--dport 目标端口号] [-j 动作]

参数:
	-A 增加
    -I 插入
    -D 删除
    -R 替换

Ejemplo relacionado
Prohibir al host con IP 192.168.1.5 acceder a esta máquina desde eth0

iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP

Prohibir que la subred 192.168.5.0 acceda a servicios web

iptables -t filter -I INPUT 2 -s 192.168.5.0/24 -p tcp --dport 80 -j DROP

Prohibir IP 192.168.7.9 para acceder al servicio FTP

iptables -t filter -I INPUT 2 -s 192.168.7.9 -p tcp --dport ftp -j DROP

Ver las reglas de la cadena INPUT en la tabla de filtros

iptables -t filter -L INPUT

Eliminar todas las reglas en la tabla nat

iptables -t nat -F

Está prohibido el acceso a www.playboy.com

iptables -I FORWARD -d wwww.playboy.com -j DROP

Prohibir el acceso a Internet 192.168.5.23

iptables -I FORWARD -s 192.168.5.23 -j DROP

Supongo que te gusta

Origin blog.csdn.net/qq_42226855/article/details/112203620
Recomendado
Clasificación