ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux安全防火墙(iptables)配置计谋 [打印本页]

作者: 羊蹓狼    时间: 2024-6-19 21:45
标题: Linux安全防火墙(iptables)配置计谋
目次

概念
防火墙的主要功能和特点:
防火墙分类
其他概念
通信五要素:
通信四要素
用户态和内核态
四个表五个链
四个表
五条链
数据包过滤的匹配流程
三种报文流向:
规则内的匹配顺序:
iptables
iptables命令的格式和相关选项
管理选项
匹配条件
数据包的控制范例
利用实例
实行预备
开机不自启 而且立即关闭
开机自启 而且 立即开启
查看
添加规则
 删除规则
修改规则
通用匹配
网络协议:
IP所在:
IP范围匹配
网络接口:
使整个网段不能用指定的端口
端口匹配:
多端口匹配
MAC匹配
隐藏扩展模块
计谋备份与还原
备份iptables设置
一键导入,设置为当前防火墙设置
修改iptables的默认设置
直接把配置导入配置文件:
自界说链
创建自界说链:
向自界说链添加规则,例如:


概念


防火墙(Firewall)是一种网络安全设备或软件,用于保护计算机网络免受未经授权的访问、恶意攻击和恶意软件的陵犯。它充当了网络和互联网与内部网络之间的关卡,对流量举行过滤和监控,以确保网络安全和保护敏感数据。
防火墙可以部署在不同的层级,包括网络层、数据链路层和应用层,以提供不同级别的保护。有硬件防火墙和软件防火墙两种范例,它们可以独立运行或组合利用,以实现全面的网络安全。
综而言之,防火墙是网络安全的关键构成部分,有助于保护网络和系统免受恶意攻击、未经授权的访问和数据走漏。在建立防火墙计谋时,必须根据网络需求和威胁模型来界说规则,以确保网络的安全性和可用性。
除此以外,另有防水墙,ensp:不透明的工作方式,就是你干什么都知道,但你自己不知道。

防火墙的主要功能和特点:

防火墙分类







其他概念

通信五要素:

        源ip和目标ip
        源端口和目标端口
        协议(tcp/udp)
通信四要素

        源ip和目标ip
        源端口和目标端口
用户态和内核态


用户态防火墙:面向利用对象,就是利用工具,配置计谋
内核态防火墙:代码层(开辟)
iptables就属于用户态防火墙,配置规则见效后,立即见效,无需重启。centos7之前,iptables是默认配置,现在默认是firewalld。centos7之后要利用iptables要把firewalld关闭

四个表五个链

         


在 Linux 上,iptables 防火墙系统通常利用四个主要表来控制网络数据包的过滤和处理。这四个表分别是:​​​​filter​​​​、​​​​mangle​​​​、​​​​nat​​​​ 和 ​​​​raw​​​​。每个表有不同的目标和功能,用于管理不同条理的数据包处理。
四个表





这四个表共同构成了 iptables 防火墙的核心,允许管理员通过配置规则和链来控制数据包的流向、处理和修改。这种细粒度的控制有助于实行网络安全计谋和网络所在转换等功能。管理员可以利用不同链和规则来自界说防火墙行为,以满足网络情况的需求。
五条链


四表五链
规则表的作用:容纳各种规则链
规则链的作用:容纳各种防火墙规则
总结:表里有链,链里有规则
数据包过滤的匹配流程


三种报文流向:

流入本机:PREROUTING --> INPUT-->用户空间进程 httpd服务-目标转换-httpd 流出本机:用户空间进程 -->OUTPUT--> POSTROUTING httpd服务-out-源所在 转发:PREROUTING --> FORWARD --> POSTROUTING -----FOR------
规则内的匹配顺序:

自上向下按顺序依次举行查抄,找到相匹配的规则即制止(LOG计谋例外,表示记载相关日记) 若在该链内找不到相匹配的规则,则按该链的默认计谋处理(未修改的状况下,默认计谋为允许)
iptables

iptables命令的格式和相关选项


管理选项

匹配规则:从上到下按照顺序依次查抄,找到匹配的规则立刻制止匹配。找到匹配规则,会按照链的默认规则举行实行。假如不指定表名,默认就是filter

匹配条件

匹配条件是用来确定是否应用某个规则的依据。
数据包的控制范例

ACCPET:允许数据包通过
DROP:直接丢弃数据包,没有任何回应信息
REJECT:拒绝数据包通过,会给一个相应信息
SNAT:修改数据包的源所在
DNAT:修改数据包的目标所在
利用实例

实行预备

CentOS7默认利用firewalld防火墙,没有安装iptables,若想利用iptables防火墙。必须先关闭firewalld防火墙, 再安装iptables
bash systemctl stop firewalld.service
setenforce 0
systemctl disable --now firewalld.service
开机不自启 而且立即关闭

systemctl enable --now firewalld.service
开机自启 而且 立即开启

yum -y install iptables iptables-services systemctl start iptables.service systemctl enable iptables.service
查看

大略查看默认规则:
[root@localhost ~]#iptables -L
数字化的形式查看规则: [root@localhost ~]#iptables -nL
注意:当-nL同时利用时,n一定要在L 的前面,否则会报错,利用-vnL时也是如此,L要在最背面
指定表查看:
[root@localhost ~]#iptables -t filter -vnL
查看指定表中的指定链
[root@localhost ~]#iptables -t filter -vnL INPUT #不指定表,默认就是filter
pkts:对应规则匹配到的报文的个数。
bytes:对应匹配到的报文包的巨细总和。
target:规则对应的target,通常表示规则对应的”动作”,即规则匹配成功后需要接纳的步调。
prot:表示规则对应的协议,是否只针对某些协议应用此规则。
opt:表示规则对应的选项。
in:表示数据包由哪个接口(网卡)流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则。
out:表示数据包由哪个接口(网卡)流出,我们可以设置通过哪块网卡流出的报文需要匹配当前规则。
source:表示规则对应的源头所在,可以是一个IP,也可以是一个网段。
destination:表示规则对应的目标所在。可以是一个IP,也可以是一个网段。

列出当前防火墙规则,并表现每条规则的行号、具体信息、以数值格式表现的 IP 所在和端标语






 删除规则


  1. 内容匹配删除(有两个相同的则作用为去重) 如果有两个重复的规则,则删除序号较小的 [root@localhost ~]# iptables -D INPUT -p icmp -j REJECT #删除序号小的
  2. 演示删除序号较小的 [root@localhost ~]# iptables -t filter -A INPUT -p icmp -j REJECT
  3. [root@localhost ~]# iptables -t filter -A INPUT -p icmp -j ACCEPT
  4. [root@localhost ~]# iptables -t filter -A INPUT -p icmp -j REJECT
  5. [root@localhost ~]# iptables -nL INPUT --line-number
  6. Chain INPUT (policy ACCEPT)
  7. num target prot opt source destination
  8. 1 REJECT icmp -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
  9. 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
  10. [root@localhost ~]# iptables -D INPUT -p icmp -j REJECT #第二次就时删除指定。 [root@localhost ~]# iptables -nL INPUT --line-numbers
  11. Chain INPUT (policy ACCEPT)
  12. num target prot opt source destination
  13. 1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
  14. 注意:按照内容匹配删除规则,只能每次删除内容相同序号较小的规则。
  15. 直到删除最后一条时,才能将该规则全部清除 。
  16. 一定要报保证该匹配的内容存在,且完全匹配规则才能删除,不然报错。
复制代码
修改规则

  1. -R 直接修改。
  2. 为了保险起见,我们可以尝试着先添加一条新的规则,
  3. 确保新规则不会带来任何不利的影响再删除旧的规则(也能达到替换的效果)
  4. [root@localhost ~]# iptables -t filter -A INPUT -p icmp -j ACCEPT
  5. [root@localhost ~]# iptables -nL INPUT --line-number  #查看规则
  6. Chain INPUT (policy ACCEPT)
  7. num  target     prot opt source               destination
  8. 1    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
  9. [root@localhost ~]# iptables -R INPUT 1 -p icmp -j REJECT #替换
  10. [root@localhost ~]# iptables -nL INPUT --line-number  #ACCEPT替换成了REJECT
  11. Chain INPUT (policy ACCEPT)
  12. num  target     prot opt source               destination
  13. 1    REJECT     icmp --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
复制代码


        #防止把允许远程毗连的相关规则清除后导致无法远程毗连主机,此情况假如没有保存规则可重启主机办理
此时的办理方案有三种:
第一种:我的防火墙设置只是暂时设置,并为保存,重启服务器即可
第二种:操纵服务器,重启iptables服务
第三种:进入机房操纵该服务器(将设置规复,重新修改规则)炸!
在生产中都是默认DROP

通用匹配


        #这是假的取反。界说的默认计谋还在实行ACCEPT,只有该变默认计谋,才能见效
        [root@localhost ~]#iptables -P INPUT DROP #这时候才能取反
        其他的服务不受影响,这个时候,把计谋清空,全部的协议都将被DROP
        [root@localhost ~]#iptables -F
        只能进虚拟机重启

        克制网段内的ip所在ping主机

        这里写发要注意,小的数字写在前面,大的写在背面

计谋备份与还原



yum -y install iptables iptables-services
systemctl start iptables.service
systemctl enable iptables.service
我们对iptables命令行中的设置,都是暂时设置,只要遇到服务器关机,或者服务重启时,
全部的设置都会清空且还原为原来的设置。
为此,我们可以对已经测试完毕符合我们需求的防火墙设置举行备份,在须要时,可以一键还原
备份iptables设置

格式:iptables-save >/指定的文件
[root@localhost ~]# iptables-save >/opt/iptables.bak
一键导入,设置为当前防火墙设置

[root@localhost ~]#iptables-restore </opt/iptables.bak
修改iptables的默认设置

iptables的默认配置文件存在于 cat /etc/sysconfig/iptables
直接把配置导入配置文件

cat /opt/iptables.bak >/etc/sysconfig/iptables
立即见效了,实行情况下,了解就可以了。不要尝试
[root@localhost opt]# systemctl restart iptables #重启之后见效的就是配置文件中的内容,操纵需谨慎,
注意拍快照,方便还原
自界说链


创建自界说链:

  1. iptables -N MYCHAIN
复制代码
向自界说链添加规则,例如:

  1. iptables -A MYCHAIN -s 192.168.1.0/24 -j DROP
复制代码
这条规则将克制192.168.1.0/24网段的访问,丢弃源所在的流量。 

可以利用类似的命令来添加更多规则到自界说链中,根据需求举行配置。假如想要删除自界说链,确保满足以下条件:
可以利用-x选项来删除自界说链,例如:
  1. iptables -X MYCHAIN
复制代码
示例
自界说链利用
自界说链添加:iptables -N custom(链名) 创建链
自界说链改名:iptables -E custom(原来名称) ky29(新名称) 自界说链改名
创建自界说链规则:iptables -t filter -I ky29 -p icmp -j REJECT 创建自界说规则,
iptables的链中添加一条对应到自界说链中才能见效
iptabales创建对应链规则然后跳转自界说链web:iptables -t filter -I INPUT -p icmp -j custom
删除自界说规则链:先删除iptables INPUT链中的对应关系,然后删除自界说链中的规则。 iptables -D INPUT 1
iptables -D ky27 1
然后再用 iptables -X ky27 删除这个链


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4