工作中常用到的Linux系统firewall防火墙策略
firewall简介firewall的作用是为包过滤机制提供匹配机制(策略),通过各种不同的规则,告诉netfilter对来自指定源,前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加方便的组织和管理防火墙,firewalld提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,它支持IPv4,IPv6防火墙设置以及以太网,并且拥有两种配置模式,运行时配置与永久配置
目录
一,防火墙介绍
firewall简介:firewall的作用是为包过滤机制提供匹配机制(策略),通过各种不同的规则,告诉netfilter对来自指定源,前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加方便的组织和管理防火墙,firewalld提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,它支持IPv4,IPv6防火墙设置以及以太网,并且拥有两种配置模式,运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。
防火墙技术分为三类:包过滤,应用代理,状态检测
Linux的防火墙主要工作在网络层,针对TCP/IP数据包实时过滤和限制,属于典型的包过滤防火墙。
在CentOS7系统中几种防火墙共存,firewalld,iptables,ebtables,默认使用firewalld来管理netfilter子系统,本博客重点讲firewalld
netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于‘内核态’(内核空间)的防火墙功能体系
firewalld:指用于管理Linux防火墙的命令程序,属于“用户态”(用户空间)的防火墙管理体系
firewalld网络区域:
firewalld将所有的网络数据流量划分为多个区域,从而简化防护墙管理。根据数据包的源IP地址或传入网络接口等条件,将数据流量转入相应区域的防火墙规则,对于进入系统的数据包,首先检查的就是其源地址。
firewalld的预定义区域说明 区域 说明 trusted(信任区域)
可接收所有的网络连接 public(公共区域)
除非与传出流量相关,或与ssh或dhcpv6-client预定义服务相关,否则拒绝流量。该区域是新添加网络接口的默认区域 work(工作区域)
除非与传出流量相关,或与ssh或dhcpv6-client,ipp-client预定义服务相关,否则拒绝流量。 home(家庭区域)
除非与传出流量相关,或与ssh或dhcpv6-client,ipp-client,mdns,samba-client预定义服务相关,否则拒绝流量。用于家庭网络 internal(内部区域)
除非与传出流量相关,或与ssh或dhcpv6-client,ipp-client,mdns,samba-client预定义服务相关,否则拒绝流量。用于内部网络 external (外部区域) 除非与传出流量相关,或与ssh预定义服务相关,否则拒绝流量。,通过此区域转发IPV4传出流量将进行地址伪装,可用于路由器启用了伪装功能的外部网络
firewalld防火墙的配置方法:
firewall-config图形化工具
firewall-cmd命令行工具
/etc/firewalld/中的配置文件
二,firewall-cmd命令
1.系统firewall服务
启动,暂停,查看firewall服务
systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld
#查看firewall状态 或
firewall-cmd --state
2.禁用firewalld
systemctl stop firewalld
systemctl disable firewalld
3.获取预定义信息
#显示预定义的区域
firewall-cmd --get-zones
#显示预定义的服务
firewall-cmd --get-service
#显示预定义的ICMP类型
firewall-cmd --get-icmptypes
三,区域管理
1.显示当前系统中的默认区域
firewall-cmd --get-default-zone
2.显示默认区域的所有规则
firewall-cmd --list-all
3.显示网络接口ens33对应区域
firewall-cmd --get-zone-of-interface=ens33
4.将网络接口ens33对应区域更改为internal区域
firewall-cmd --zone=public --change-interface=ens33
firewall-cmd --zone=internal --list-interfaces
firewall-cmd --get-zone-of-interface=ens33
5.显示所有激活区域
firewall-cmd --get-active-zones
四,服务管理
1.为默认区域设置允许访问的服务
#显示默认区域内允许访问的所有服务
firewall-cmd --list-services
#设置默认区域允许访问http服务
firewall-cmd --add-service=http
#设置默认区域允许访问https服务
firewall-cmd --add-service=https
2.为internal区域设置允许访问的服务
#设置internal区域允许访问mysql服务
firewall-cmd --zone=internal --add-service=mysql
#设置internal区域不允许访问samba-client服务
firewall-cmd --zone=internal --remove-service=samba-client
#显示insernal区域内允许访问的所有服务
firewall-cmd --zone=internal --list-services
五,端口管理
1.在internal区域打开443/TCP端口
firewall-cmd --zone=internal --add-port=443/tcp
2.实现在internal区域禁止443/TCP端口访问
firewall-cmd --zone=internal --remove-port=443/tcp
后续会详细更新,感谢大家的支持
更多推荐
所有评论(0)