防火墙(firewalld和iptables)
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,防火墙:保证数据的安全性是继数据可用性之后的最为重要的一项工作防火墙作为公网和内网之间的保护屏障防火墙种类:硬件防火墙:网关服务器软件防火墙:装在操作系统中的软件防火墙管理工具主要功能:依据策略对穿越
千家信息网最后更新 2024年09月21日防火墙(firewalld和iptables)
防火墙:保证数据的安全性是继数据可用性之后的最为重要的一项工作防火墙作为公网和内网之间的保护屏障防火墙种类:硬件防火墙:网关服务器软件防火墙:装在操作系统中的软件防火墙管理工具主要功能:依据策略对穿越防火墙的自身流量进行过滤。在centos和RHEL系统中:firewalld:7版本以上(centos7.x,RHEL7.x)iptables:6版本(centos6.x,RHEL6.x)注:iptables和firewalld都不是真正的防火墙,他们都只是定义防火墙策略的防火墙管理工具而已,或者说,他们只是一种服务firewalld和iptables的区别:iptables服务会把配置好的防火墙策略交给内核层的netfilter网络过滤器来处理firewalld服务会把配置好的防火墙策略交给内核层的nftables包过滤框架来处理
firewalld和iptables的区别:
firewalld | iptables | |
---|---|---|
配置文件 | /usr/lib/firewalld/ 和 /etc/firewalld/ | /etc/sysconfig/iptables |
对规则的修改 | 不需要全部刷新策略,不丢失现行连接 | 需要全部刷新策略,丢失连接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
第一个防火墙管理工具--firewalldcentos1版本以上默认使用的防火墙配置管理工具拥有基于CLI(命令行界面)和GUI(图形化用户界面)两种管理方式。定义:基于firewalld服务的防火墙会查询每个网络数据包的头部。依据头部中包含的信息,可以配置规则来过滤每个数据包。
通过网络发送信息的过程:信息在通过网络发送之前,会被分解成更小的单元(称为数据包)。数据包:数据类型、源ip地址、目标ip地址,还有源端口。
数据包通过网络到达目的地,防火墙会检查每一个数据包的头部的字段,按照已配置好的规则,去采取以下动作:1、允许数据包进入系统2、如果当前系统时网络间的网关或者路由器,则将数据包转发给其他系统3、对数据包的传输速率进行限制4、拒绝数据包,并给原始ip地址发送一条消息5、丢弃数据包,并且不发送任何类型的信息。
-----------------------以上都是有关firewalld的基本概念-------------------------------
相较于传统的防火墙管理工具,firewalld支持动态更新技术,并加入了区域(zone)的概念简单来说,firewalld基于区域,区域就是firewalld预先准备了几套防火墙策略的结合(策略模板),用户可以根据生产环境场景的不同选择合适的策略集合
常见区域:
drop(丢弃) | 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接 |
---|---|
block(限制) | 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohited信息所拒绝 |
public(公共) | 在公共区域内使用,不能相信网络的其他计算机不会对宁的计算机造成危害,只能接收经过选取的连接 |
external(外部) | 特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信他们不会对您的计算机造成危害,只能接收经过选择的连接 |
dmz(非军事区) | 用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接 |
work(工作) | 用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收过选择的连接 |
home(家庭) | 用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接 |
internal(内部) | 用于内部网络。您可以基本上信任网络内的其他计算机。仅仅接收经过限制的连接 |
trusted(信任) | 可接收所有的网络连接 |
9大区域:trusted home internal work public external dmz block drop
常见区域元素:
interfaces(接口)网卡 | 与区域相关的网络接口 |
---|---|
sources(源地址) | 与区域相关的源ip地址 |
services(服务) | 允许通过区域的入战服务 |
ports(端口) | 允许通过区域的目标端口 |
protocols(协议) | 目标端口的协议,tcp、udp |
masquerade(伪装) | 指定是否启用源网络地址转换(NAT) |
forward-ports(转发端口) | 端口转发规则(将发送给本地端口的流量映射到同一台或另一台主机上的其他端口上) |
source-ports(源端口) | |
icmp-blocks(ICMP堵塞) | 用于堵塞ICMP信息 |
rich rules(福规则) | 写高级的防火墙规则 |
注:如果使用多个区域的话,必须有关联源地址或接口
firewalld拥有两种配置模式:1、运行时配置(runtime) 当前生效模式,重启会生效2、永久配置模式(permanent) 不会立即生效,只会重新启动或者重加载才会生效。
firewalld配置方法:1、firewall-cmd 命令行,终端管理工具2、firewall-config 图形化界面工具3、/etc/firewalld中的配置文件/etc/firewalld:用户自定义配置文件存放目录,可以在、/usr/lib/firewalld中拷贝模板,优先读取/usr/bil/firewalld:默认配置文件
firewalld操作:查看:firewall-cmd --get-区域元素名 //查看指定的元素有哪些firewall-cmd --get-default-zone //查看firewall默认区域firewall-cmd --set-default-zone=区域名 //设置firewalld默认区域firewalld默认区域是public区域firewall-cmd --get-zones //列出所有fiewalld区域注:firewall-cmd 是firewalld防火墙配置管理工具CLI版本使用的命令
永久生效:firewall-cmd --set-default-zone=区域名 --permanent
firewall-cmd --get-active-zone //查看当前正在运行的区域网卡firewall-cmd --zone=work --add-interface=网卡名称 //添加一块网卡到指定区域中firewall-cmd --get-zone-of-interfce=网卡名称 //查看指定网卡所在区域firewall-cmd --zone=work --change-interface=网卡名称 //为指定区域更改网卡firewall-cmd --zone=work --remove-interface=网卡名称 //为指定区域删除某块网卡firewall-cmd --zone=区域名 --query-unterface=网卡名称 //判断指定区域中有没有该网卡firewall-cmd --list-all-zones //查看所有区域里面的详细信息firewall-cmd --zone=区域 --list-all // 查看指定区域的详细信息firewall-cmd --list-all 当没有 --zone的选项,查看的是默认区域中详细信息源ip地址:firewall-cmd --zone=work --add-source=源ip地址 为指定区域添加源ip地址firewall-cmd --zone=work --remove-source=源ip地址 为指定区域删除ip地址
写一个富规则,规则内容为:将来自192.168.80.0/24的访问流量,从端口的80端口转发到本地的25端口。firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.80.0/24 forward-port port=80 protocol=tcp to-port=25' --permanentfirewalld防火墙富规则,规则内容为:将来自192.168.10.0/24的访问流量,从端口的8080端口转发到本地的5423端口firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.10.0/24 forward-port port=8080 protocol=tcp toport=5423' --permanentfirewalld防火墙富规则,规则内容为:允许来自192.168.80.0/24的流量访问http服务firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.80.0/24 service name=http ACCEPT'firewalld防火墙富规则,规则内容为:拒绝来自192.168.90.0/24的流量访问端口3260.firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.90.0/24 port port=3260 protocol=tcp drop'防火墙firewalld,将80端口,转换为2000端口:firewall-cmd --add-forward-port=port=80:proto=tcp:to-port=2000 --permanent
在同一台服务器中端口转发:firewall-cmd --add-forward-port=port=源端口:proto=协议:toport=目的端口firewall-cmd --add-forward-port=port=8000:proto=tcp:toport=80在不同服务器上端口转发:firewall-cmd --add-forward-port=port=源端口:proto=协议:toport=目的端口:toaddr=目标服务器IP地址192.168.80.101:8000相当于访问192.168.80.101:80例子:192.168.80.105firewall-cmd --add-forward-port=port=8000:proto=tcp:toport=80:toaddr=192.168.80.100
永久打开转发功能:方法一:(centos6和7)echo 1 > /proc/sys/net/ipv4/ip_forward方法二:(centos7)vi /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p //生效
iptables防火墙富规则:
1、让内网通过外网卡上网方法一:iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens37 -j SNAT --to 192.168.90.100方法二:iptables -t nat -A POSTROUTING -s 192.168.80.100 -o ens37 -j SNAT --to 192.168.90.100注:192.168.80.100是内网卡ip地址 192.168.90.100是外网卡ip地址客户端和内网服务器必须都要指定网关,否则无效
2、当外部客户端访问外部地址(90.100)时,服务器将请求转发给内网服务器(80.102)iptables -t nat -A PREROUTING -i ens33 -d 192.168.90.100 -p tcp --dport 80 -j DNAT --to 192.168.80.102注:同样客户端和内网服务器都需要网关
iptables策略,访问192.168.90.100的时候,访问的是192.168.80.101iptables -t nat -A PREROUTING -i ens32 -d 192.168.90.100 -j DNAT --to-destination 192.168.80.101
备份保存:iptables-save > /opt/a.txt还原:iptables-restore < /opt/a.txt
iptables -nL --line //查看 iptables 当前所有规则的命令
请求或禁止来自 10.0.0.188 ip 地址访问 80 端口的请求iptables -A INPUT -s 10.0.0.188 -p tcp --dport 80 -j DROP/ACCEPT实现把访问 10.0.0.8:80 的请求转到 172.16.1.17:80iptables -t nat -A PREROUTING -i ens32 -d 10.0.0.8 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.17:80实现 192.168.80.0/24 段所有主机通过 10.0.0.8 外网 IP 共享上网。iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens32 -j SNAT --to 10.0.0.8禁止ping本机,但是本机可以ping通其它主机iptables -A INPUT -p icmp --icmp-type 8 -j DROPiptables -A INPUT -p icmp --icmp-type 0 -j ACCEPTiptables -A INPUT -p icmp --icmp-type 3 -j ACCEPTiptables -A INPUT -p icmp -j DROPiptables防火墙规则:当一个公网主机去访问 服务器的外网口公网地址(80.182)的时候,服务器把请求转发给内网真正提供服务的内网服务器(90.181)。iptables -t nat -A PREROUTING -i ens33 -d 192.168.80.182 -j DNAT --to 192.168.90.181 实现172.16.1.0/24段所有主机通过124.32.54.26外网IP共享上网。iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o ens32 -j SNAT --to 124.32.54.26将来自192.168.10.0/24的数据,其源地址转换为192.168.90.100iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens34 -j SNAT --to-source 192.168.90.100iptables策略,访问192.168.90.100的时候,访问的是192.168.80.101iptables -t nat -A PREROUTING -i ens32 -d 192.168.90.100 -j DNAT --to-destination 192.168.80.101iptables防火墙规则: 拒绝转发源地址是80网段的,目的地址是192.168.90.100,且协议是TCP21端口的数据包。iptables -A INPUT -s 192.168.80.0/24 -d 192.168.90.100 -p tcp --dport 21 -j REJECT拒绝192.168.0.0/24网段的1024-65534的源端口访问SSHiptables -A INPUT -p tcp -s 192.168.0.0/24 --sport 1024-65534 --dport ssh -j REJECT写一个防火墙配置脚本,只允许远程主机访问本机的80端口iptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -P INPUT DROP拒绝源地址是80网段的,目的地址是90网段的,且协议是TCP的21端口的数据包。iptables -I FORWARD -s 192.168.80.0/24 -d 192.168.90.0/24 -p tcp --dport 21 -j DROP/REJECT禁止转发源IP地址位于192.168.80.21与192.168.80.28之间的TCP数据包。iptables -A FORWARD -m iprange --src-range 192.168.80.21-192.168.80.28 -p tcp -j DROP/REJECT允许192.168.80.20到192.168.80.100的ip地址主机的ICMP流量能够访问本服务器iptables -A INPUT -p icmp -m iprange --src-range 192.168.80.20-192.168.80.100 -j ACCEPT
iptables的匹配类型:通用匹配:协议-p,-s,-d,-i,-o隐含匹配:--sport,--dport,TCP协议标记,icmp类型显式匹配:多端口,mac地址,ip地址范围,数据包状态iptables控制类型有哪些:ACCEPT 允许REJECT 拒绝DROP 丢弃LOG 记录日志iptables中规则、规则链、规则表的关系:多条规则组成规则链,规则链在规则表中,规则链中设置默认策略。
将nat的默认策略设置为drop:iptables -t nat -P INPUT DROP删除nat表OUTPUT链中的第5条策略:iptables -t nat -D OUTPUT 5iptables -t nat -F OUTPUT
防火墙
防火
区域
端口
地址
规则
数据
服务
网络
网卡
配置
策略
服务器
信息
工具
管理
主机
流量
管理工具
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
泰安联想服务器代理客服电话
小学生网络安全征文450字
机电设备管理软件开发
沈阳软件开发面试问题
数据库添加字段实体类
铁路无缝线路设备数据库管理系统
马化腾服务器在美国
吐鲁番软件开发解决方案
Java对于数据库的报错
购买服务器赚钱吗
搭建服务器硬件需求
ssh连接mysql数据库
直销软件知晓软件开发
有哪些适合做数据库
江苏常规软件开发零售价格
学校无线网络安全吗
数据库截取字符串
密云区信息化软件开发优势
蓝灯服务器
网络安全应急响应机制论文
海外网络安全专家天津
云免需要什么服务器
数据库技术实操视频
武汉国家网络安全产业
tp3.2连接数据库
服务器备份方案
某软件开发公司办公系统
微服务数据库优化
ssh连接mysql数据库
数字货币新基建网络安全股票