防火墙的相关技术

防火墙的相关技术iptables N 链名 添加自定义链 iptables E 原链名新链名 给自定义链改名 iptables I 新链名 1 picmp jACCEPT 给自定义链里面添加规则把自定义规则添加到系统链之下 iptables IIN

大家好,欢迎来到IT知识分享网。

安全技术

1.入侵检测机制:特点是阻断,量化,定位来自内外的网络威胁情况。提供报警和事后监督,类似于监控。

2.入侵防御:以透明的模式进行工作,分析数据包的内容。一切进入本机的内容进行防护,木马,蠕虫,系统漏洞进行分析判断,然后进行阻断。是一种主动的防护机制,一般部署在整个架构或者是集群的入口处。(必经之路)

3.防火墙的主要功能就是隔离。它是工作在网络或者是说主机的边缘。对网络或者主机进出的数据包按照一定规则进行检测。(网络层转发的数据包)

防火墙示例图:

防火墙的相关技术

在工作当中,一般对防火墙的设置都是白名单,拒绝所有,允许个别。

4.防水墙,都是透明模式监控,一切对于防水墙来说都是透明的。在事前,事中,事后,都可以进行检测。

防火墙的种类

保护范围:

主机防火墙,仅为当前主机服务 网络防火墙,防护另一侧的局域网。

网络层防火墙:iptables,包过滤防火墙。

访问控制,每个数据包的源ip地址,目的ip地址,端口号,协议等等进行组合式监控,由此进行判断数据包是否允许通过。

面试题:通信的五要素和四要素分别是什么

五要素:源/目的IP 源/目的端口 协议

四要素:源/目的IP 源/目的端口

iptables

iptables:系统自带的包过滤防火墙

firewalld:主机防火墙,他也有包过的滤功能。centos7以后集成的

iptables:内核防火墙,内置四个表,而且在所有表中,配置规则。配置之后立即生效,不需要重启服务。

四个表

raw表:连接跟踪。是跟踪数据的一种机制,配置之后可以加快防火墙的穿越速度(关闭raw里面的追踪)

mangle表:修改数据包的标记位规则

nat表:地址转换的规则表

filter表:包过滤规则表,根据预定义的规则,人工设置的规则,对符合条件的数据包进行过滤。也是iptables的默认表。

四个表是有优先级的(由高到低):raw —> mangle —> nat —> filter

四表五链

五个链:

prerouting链:处理数据包进入本机之前的规则(raw)

input链:处理数据包进入本机的规则。(mangle、filter)

FORWARD链:处理数据包转发到其他主机的规则。(mangle、filter)

output链:处理本机发出数据包的规则,一般不做处理。(结合nat使用)

postrouting链:处理数据包离开本机之后的规则(结合nat使用)

配置规则:表里有链,链里有规则。iptables的配置规则是写在链当中的。

同一网段:

防火墙的相关技术

不同网段:

防火墙的相关技术

iptables的管理选择

-A:在指定链的末尾进行追加

-I:在指定链的行插入新的规则。可以指定插入规则的位置

-P:修改默认策略(链的策略)

-D:删除(慎用)

-R:修改或替换某个规则

-L:查看链指定链当中的规则 一般会和-n和-v一起使用

-n:以数字形式显示规则

-v:查看详细信息

-line-numbers:给每个链中的规则进行编号查看

-F:情况指定链当中的规则(慎用)

-X:清空自定义链的规则

-t:指定表名(可加可不加)

iptables的匹配条件

-p:指定数据包的协议类型

-s:指定数据包的源ip地址

-d:指定数据包的目的ip地址

-i:指定数据包进入本机的网络接口(例如网卡设备ens33)

-o:指定数据包离开本机的时候使用的网络接口

–sport:指定源端口号

–dport:指定目的端口号

iptables对数据包进行控制的类型

-j:后面跟上控制类型

ACCEPT:允许数据包通过

DROP:拒绝数据包通过。是直接丢弃数据包,不给任何回应的信息

REJECT:也是拒绝数据包通过。但是会给一个回应的信息。

SNAT:修改数据包的源地址

DNAT:修改数据包的目的地址

匹配规则的策略:从上往下匹配,按照规则顺序匹配。如果匹配到了规则,后面的规则就不再继续匹配了。针对相同的规则,匹配之后后续的规则也不再生效。

iptables练习

防火墙的相关技术

如果不指定表名默认就是查看filter表

防火墙的相关技术

固定格式:iptables -vnL

给规则序号查看:iptables -vnL –line-numbers

防火墙的相关技术

查看指定表查看指定链和规则编号:iptables -f filter -vnL INPUT –line-numbers

防火墙的相关技术

对IP地址进行限制

iptables -F #没有指定表名,默认清除filter表内容

iptables -t filter -A INPUT -p icmp -j REJECT

iptables -A INPUT -p icmp -j ACCEPT #无法生效的原因是针对相同的规则,匹配之后后续的规则也不再生效。

iptables -vnL INPUT –line-numbers #查看表内的链策略

iptables -I INPUT 1 -p icmp -j ACCEPT #把同意通过的策略使用-I插入到第一条。后续的拒绝就没用了

对指定IP地址进行限制

iptables -F

iptables -A INPUT -s 20.0.0.20 -p icmp -j REJECT #所有20来的icmp协议ping主机都会被拒绝 #-s指定源ip地址

防火墙的相关技术

iptables -A INPUT -s 20.0.0.20,20.0.0.30 -p icmp -j REJECT #阻断多个IP地址可使用,隔开

禁止指定端口和IP

ssh root@20.0.0.10 #使用远程连接测试一下

iptables -F #清空

iptables -A INPUT -s 20.0.0.20 -p tcp –dport 22 -j REJECT #iptables拥有固定格式必须先指定ip地址再指定协议再端口,此处IP是源IP。端口是目的端口。

yum -y intall httpd #安装httpd

systemctl restart httpd #开启httpd

使用2 3 访问 1的hppd

curl 20.0.0.10 #访问test1的httpd协议

iptables -A INPUT -s 20.0.0.20 -p tcp –dport 80 -j REJECT

防火墙的相关技术

对规则进行删除操作

iptables -vnL –line-numbers #以数字化详细展示表内的信息

num:–line-numbers 序号

pkts:匹配规则收到的报文个数

bytes:包的大小综合

target:规则对应的动作

port:规则对应的协议

iptables -D INPUT 序号 #指定序号删除

防火墙的相关技术

iptables -R INPUT 1 -p icmp -j ACCEPT #修改策略

修改iptables默认策略

iptables -P INPUT DROP

iptables -vnL

策略是拒绝,规则是允许

iptables -A INPUT -p icmp -j ACCEPT #允许所有主机ping

iptables -A INPUT -p tcp –dport 80 -j ACCEPT #允许访问httpd服务

防火墙的相关技术

拒绝所有允许个别

systemctl restart iptables #还原临时修改,恢复默认配置

防火墙的相关技术

通用匹配规则

ip+端口+网段+接口(网卡设备)

iptables -A INPUT -s 20.0.0.20 -j DROP

iptables -A INPUT -i ens33 -s 20.0.0.0/24 -j DROP #禁止20网段内所有ip从ens33这个网卡端口走

防火墙的相关技术

iptables -A INPUT -s 20.0.0.0/24 -p tcp –dport 80 -j REJECT #禁止指定设备连接

隐藏扩展模块

-p指定协议时,不需要使用-m指明扩展模块。如果没有-p需要-m指明拓展模块

iptables -F

iptables -A INPUT -p tcp –dport 22:80 -j REJECT #拒绝多个端口访问。必须小的端口号在前,大的端口号在后面。

防火墙的相关技术

-m的使用方法

-m:显示匹配。后面可以跟上扩展模块,可以明确指定类型(多端口,MAC地址,IP范围) -m multiport –sport –dport

iptables -A INPUT -p tcp -m nultiport –dport 80 ,22,21,20,53 -j REJECT #使用扩展模块指定多端口,此时端口可以任意顺序排列,使用逗号,隔开。

使用扩展模块来匹配IP地址范围

匹配源IP范围:-m iprange –src-range

匹配目的IP范围:-m iprange –dst-range

iptables -A INPUT -p icmp -m iprange –src-range 20.0.0.20-20.0.0.30 -j REJECT

使用扩展模块来匹配mac地址范围

iptables -A INPUT -m mac –mac-source mac地址 -j REJECT

ifconfig 选一个mac地址

多端口和IP范围多练练

备份还原

备份:

iptables-save > /opt/保存配置的文件 #保存规则

还原:

iptables-restore < /opt/保存配置的文件 #还原规则

/etc/sysconfig/iptables #iptables的默认配置文件位置

cat /opt/保存配置的文件 > /etc/sysconfig/iptables #写入配置文件永久保存

restart重启iptables

如何使用自定义链

iptables -N 链名 #添加自定义链

iptables -E 原链名 新链名 #给自定义链改名

防火墙的相关技术

iptables -I 新链名 1 -p icmp -j ACCEPT #给自定义链里面添加规则

防火墙的相关技术

把自定义规则添加到系统链之下

iptables -I INPUT 1 -p icmp -j 自定义链名 #把自定义链中的规则添加到系统的链当中

防火墙的相关技术

删除自定义规则和链

先删除添加在系统链内的自定义规则,再删除自定义链当中的规则,再删自定义链

iptables -vnL –line-numbers #查看表

iptables -D INPUT 1 #删除添加在系统链内的自定义规则

iptables -D 自定义链名 1 #删除自定义链当中的规则

iptables -X 自定义链名 #删自定义链

防火墙的相关技术

iptables的核心

通信元素

四表五链

怎么查 
iptables -vnL –line-numbers iptables -t -vnL –line-numbers


iptables -I INPT

默认规则 DROP 配置规则都是ACCEPT 所以iptables -F慎用

固定格式:iptables -I INPUT 1 -s 20.0.0.20 -p tcp –dport 80 -j REJECT ip在前,再写协议,再写端口

配置防火墙策略

systemctl restart firewalld

firewall-cmd –get-default-zone 显示当前系统中的默认区域

firewall-cmd –list-all 显示默认区域内的所有规则

firewall-cmd –set-default-zone=block 修改默认区域为限制

firewall-cmd –set-default-zone=public 修改默认区域为放行

firewall-cmd –list-service 查看区域内允许通过的服务

firewall-cmd –add-service=http –zone=public 配置策略添加服务

firewall-cmd –remove-service=http –zone=public 配置策略删除服务

方法1 firewall-cmd –add-service=http –add-service=ftp –zone=public 配置策略同时添加多个服务

方法2 firewall-cmd –add-service={ftp,http} 配置策略同时添加多个服务

命令行的方式都是临时添加

把服务改为永久添加

firewall-cmd –add-service={ftp,http} –zone=public –permanent 添加永久生效

firewall-cmd –reload 配置永久生效,需要重新加载配置

firewall-cmd –list-all

firewall-cmd –remove-service=http –zone=public –permanent 永久删除

firewall-cmd –reload

firewall-cmd –list-all

端口管理

firewall-cmd –zone=public –add-port=80/tcp 配置添加80端口

firwall-cmd –zone=public –remove-port=80/tcp 配置删除80端口

firewall-cmd –zone=public –add-port={3306,80,21}/tcp 配置添加多个端口

firewall-cmd –zone=30-35/tcp 范围配置多个端口

SNAT和DNAT的工作原理

防火墙的相关技术

SNAT和DNAT实验操作:

防火墙的相关技术

准备三台虚拟机:test1  test2  test3 开始模拟 配置tesst1的IP为 192.168.233.10  内网IP 配置tesst2的IP为 ens33 192.168.233.254 ens36 12.0.0.254 做SNAT地址转换 配置tesst3的IP为 12.0.0.100  外网IP 关闭三台虚拟机的防火墙和安全机制 给test1和test3安装httpd服务 systemctl stop firewalld #关闭防火墙 setenforce 0 #关闭安全机制 vim ifcfg-ems33 #修改test2的ip地址

防火墙的相关技术

vim ifcfg-ens36 #统一设备名称 修改36端口ip地址为外网网关

防火墙的相关技术

回到test3 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改ip地址为12.0.0.100 网关12.0.0.254 注释DNS

防火墙的相关技术

回到test1 systemctl restart httpd #开启httpd 打开网页测试一下httpd页面是否正常 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #注释DNS 

防火墙的相关技术

重启test1  test2  test3 的网卡 进入test2 ifconfig #检查配置是否生效 配置地址转换 iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens36 -j SNAT --to 10.0.0.10 #-t:指定表名 #nat:地址转换的表明 #-A:添加一条规则,行尾追加 #POSTROUTING:在出本机的时候添加一个地址转换的规则 #-S:20.0.0.0/24:指定源IP地址 #-o ens36:从网卡设备ens36出去的设备都会做转换 #-j SNAT:指定控制类型做源地址转换 #--to 10.0.0.10:所有的源IP属于233.0这个网段,只要是从ens36出来的,都会把它们的IP地址转换成#10.0.0.10 iptables -t nat -vnL #查看表信息 回到test2 vim etc/sysctl.conf 这是修改内核参数的文件,可以立即生效 开启转发功能 net.ipv4.ip_forward=1 

防火墙的相关技术

sysctl -p #配置的内核文件即可生效 回到虚拟机3验证结果 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/152053.html

(0)
上一篇 2025-03-10 16:26
下一篇 2025-03-10 16:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信