centos防火墙配置端口白名单限制

需求:

由于一些公共组件例如redis,elasticsearch会有漏洞扫出,用户需要安全加固,使用升级组件方式加固,需要大量时间,并且所有客户端都需要更新,代价太大。因此统一针对组件的端口设置ip白名单,减少维护成本。cenos6和centos7的配置方式略有不同,因此分别总结。

查看cenos版本

cat /etc/redhat-release

一.cenos6的端口白名单配置

1.启动防火墙

# 查看防火墙状态
service iptables status
 
# 停止防火墙
service iptables stop
 
# 启动防火墙
service iptables start
 
# 重启防火墙
service iptables restart
 
# 永久关闭防火墙
chkconfig iptables off
 
# 永久关闭后重启
chkconfig iptables on

2.修改配置文件

vi /etc/sysconfig/iptables

#针对6379端口的白名单配置
iptables -A INPUT -p tcp -s 10.128.55.162 --dport 6379 -j ACCEPT
iptables -A INPUT -p tcp -s 10.128.55.10 --dport 6379 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.169.52 --dport 6379 -j ACCEPT
iptables -A INPUT -p tcp -s 127.0.0.1 --dport 6379 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 6379 -j DROP

#针对8161端口的白名单配置
iptables -A INPUT -p tcp -s 10.128.55.190 --dport 8161 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 8161 -j DROP

3.重启防火墙

# 重启防火墙
service iptables restart

二.cenos7的端口白名单配置

方式1

1、启动firewalld服务并设置开机自动启动,下面的命令必须在防火墙开启的状态下才可用 ,由于firewalld默认不是放行所有端口,所以启动firewalld会造成该机器的某些端口无法访问。

sudo systemctl enable firewalld
sudo systemctl start firewalld

# 更改防火墙默认区域为trusted,默认放行所有连接请求
sudo firewall-cmd --set-default-zone=trusted

2.新建一个zone,将想要访问本机80端口的ip,如:192.168.1.123 ,添加的这个zone中,同时在这个zone中放行端口。

sudo firewall-cmd --permanent --new-zone=newzone

3.配置ip白名单

sudo firewall-cmd --permanent --zone=newzone --add-source=10.98.201.1
sudo firewall-cmd --permanent --zone=newzone --add-source=10.98.201.10
sudo firewall-cmd --permanent --zone=newzone --add-source=10.98.201.11
sudo firewall-cmd --permanent --zone=newzone --add-source=10.98.201.12

4.配置开发的端口

sudo firewall-cmd --permanent --zone=newzone --add-port=7003/tcp
sudo firewall-cmd --permanent --zone=newzone --add-port=7004/tcp
sudo firewall-cmd --permanent --zone=newzone --add-port=7005/tcp

5.除192.168.1.123这个ip以外的地址访问本机时会使用当前默认的trusted这个zone里的规则,即禁止访问本机的80端口。

sudo firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="7003" drop"
sudo firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="7004" drop"
sudo firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="7005" drop"

6.重启防火墙

sudo systemctl restart firewalld

也可以重载配置

firewall-cmd --reload

7.查看配置是否生效

sudo firewall-cmd --list-all-zone
sudo firewall-cmd --list-all

也可以直接查看配置文件

vi /etc/firewalld/zones/public.xml


放行指定端口

#添加指定需要开放的端口: 

firewall-cmd --add-port=123/tcp --permanent

#重载入添加的端口: 

firewall-cmd --reload

#查询指定端口是否开启成功: 

firewall-cmd --query-port=123/tcp

放行指定IP

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.110.55" accept"

#重新载入 

firewall-cmd --reload

#来源

Centos7防火墙放行指定IP和端口 - 园子里的瓜 - 博客园

 centos7 指定ip访问端口

1. 查看防火墙端口开放列表

firewall-cmd --list-all

2. 指定ip端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept"

连续端口 

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306-3309" accept"

ip网段 

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306" accept"

3.重新载入,使配置生效

firewall-cmd --reload

4.删除规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept"

来源:

https://www.csdn.net/tags/Mtjacg1sMjgyNTMtYmxvZwO0O0OO0O0O.html

cenos7开放及查看端口

1、开放端口

firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 开放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #关闭5672端口

firewall-cmd --reload   # 配置立即生效

2、查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

来源

Centos7开放及查看端口 - heqiuyong - 博客园

你可能感兴趣的:(运维,centos)