centos7防火墙开启与关闭及开通策略
- 一、前言
- 二、环境
- 三、防火墙策略
- 3.1 firewall与iptables
- 3.2 防火墙开启、关闭、状态查看
- 3.3 防火墙添加策略
一、前言
前言很长,嫌啰嗦的小伙伴请直接下跳,在项目的前期开发中,大多数公司的测试或者开发环境所使用的虚拟机一般都是不接互联网开发的,所以为了方便一般都会将环境中的服务器的防火墙关掉,来省去部署应用与中间件后还要同时维护端口号的操作。其实这样是很危险的,防火墙是抵御外部攻击的守护神,学习防火墙策略是很有必要的。而且很多公司在项目上线前都要做入网安评测试,防火墙策略也是测试项目之一,如果项目累积到一定程度,所用到的中间件与微服务越来越多,到时在开通防火墙会给防火墙策略和功能性测试带来很大工作量,有一个端口没有开放就会影响整体项目的功能,排查起来及其不方便。本人也是在项目中遇到了此类问题,特此写文章总结。
文章参考于:
Centos7安装防火墙firewall
防火墙(firewalld与iptables)
CentOS7 防火墙(firewall)的操作命令
特此感谢!
二、环境
系统:centos7.5
三、防火墙策略
3.1 firewall与iptables
在centos7之前的系统使用的防火墙策略为iptables,从centos7之后的系统使用的是firewall命令动态管理iptables,底层也是用的iptables。而firewall和iptables的命令也是有很大区别的。当然centos7也可以使用iptables作为防火墙。
3.2 防火墙开启、关闭、状态查看
首先,输入命令确认自己的系统版本
$ cat /etc/redhat-release
可以查看到系统版本为Centos7.5版本,一般centos7都是默认安装firewall防火墙的,如需写在安装请使用yum命令安装与卸载,本文不做单独讲解。
查看防火墙状态(此命令与文章之后的命令为centos7系统的firewall命令,并不适用与centos7以下的系统)
$ systemctl status firewalld.service
或者使用firewall命令查看
$ firewall-cmd --state
running表示防火墙开启,not running标识防火墙关闭
启动防火墙命令
$ systemctl start firewalld.service
关闭防火墙命令
$ systemctl stop firewalld.service
重启防火墙命令
$ systemctl restart firewalld.service
设置开机启动命令
$ systemctl enable firewalld.service
禁止开机启动命令
$ systemctl disable firewalld.service
查看是否开机启动命令
$ systemctl is-enabled firewalld.service
3.3 防火墙添加策略
再添加防火墙策略前先确保防火墙为开启状态,然后执行命令。目前只介绍几种常见防火墙策略命令,如有特殊需求的请自行百度,此文章会在以后工作中遇到新需求后持续更新。
1.允许指定ip访问指定端口号
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=”" port protocol="" port="" accept"
例子:
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.92.183.44” port protocol=“tcp” port=“22” accept” #允许10.92.183.44 访问22端口
2.允许指定ip段访问指定端口号
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.92.183.0/24” port protocol=“tcp” port=“22” accept” #允许10.92.183.0网段 访问22端口
3.允许指定ip段访问指定端口段
$ firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.92.183.0/24” port protocol=“tcp” port=“7000-9100” accept” #允许10.92.183.0网段 访问7000-9100端口
参数解读
–permanent
在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。
使用–permanent 参数后需重启防火墙策略才会生效
$ firewall-cmd --reload
查看防火墙策略
$ firewall-cmd --list-all
到此,防火墙基本的策略添加就搞定了,本文只适用于centos7以上系统,后续有其他需求会陆续更新。