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命令安装与卸载,本文不做单独讲解。

zabbix centos 防火墙设置 centos防火墙策略配置_端口号

查看防火墙状态(此命令与文章之后的命令为centos7系统的firewall命令,并不适用与centos7以下的系统)

$ systemctl status firewalld.service

zabbix centos 防火墙设置 centos防火墙策略配置_zabbix centos 防火墙设置_02


或者使用firewall命令查看

$ firewall-cmd --state

running表示防火墙开启,not running标识防火墙关闭

zabbix centos 防火墙设置 centos防火墙策略配置_centos7防火墙_03


启动防火墙命令

$ 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以上系统,后续有其他需求会陆续更新。