美文网首页
防火墙firewalld -day15

防火墙firewalld -day15

作者: Linux运维 | 来源:发表于2020-05-12 22:36 被阅读0次

一、防火墙

1.防火墙分类

软件:iptables(四表五链)
硬件:firewalld

2.安全

  • 硬件环境:OSI

硬件层面:电源(usp)、温度监控、机柜上锁等
系统层面:ssh端口;秘钥登录;防火墙限制来源IP;刚装系统建议升级软件、升级内核
服务层面:mysql、redis密码设定复杂的;用内网IP
web应用:https传输;接入WAF(web应用防火墙);上云


  • 云环境:OSI

系统层面:安全组(控制来源IP);安骑士、云服务中心;快照
服务层面:mysql、redis密码设定复杂的;用内网IP
web应用:https传输;接入WAF(web应用防火墙);上云
数据层面:备份、异地备份

二、firewalld基本概述

1.firewalld介绍
firewalld是一个centos7以上系统的内置防火墙,简单,但是底层还是调用的netfilter

2.firewalld核心概念
区域:事先定义好的模板集合
选择对应的区域,就能应用对应区域的模板规则

区域需要捆绑网络接口:
一个区域可以绑定多个网卡
一个网卡只能绑定一个区域

3.常用的区域

区域 含义
public 默认区域
trusted 白名单(默认允许所有)
drop 黑名单(默认拒绝所有)

三、firewalld的操作

命令:firewall-cmd

一些选项

选项 含义
--get--default-zone 查看当前所在区域
--list-all 查看public(默认)规则明细
--zone=trusted 指定区域
--permanent 永久变动规则
--reload 重载,临时变动的规则会被打回原形
--add 增加规则
--remove 移除规则
accept 动作,允许
drop 动作,禁止

1.限定来源IP,-source=
使用firewalld各个区域规则结合配置,调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许。

#1.默认eth0 eth1都走public,那么我们可以将public的所有规则给清空
[root@web01 ~]# firewall-cmd --remove-service=ssh
[root@web01 ~]# firewall-cmd --remove-service=dhcpv6-client

#2.将来源IP是10.0.0.0/24 走trusted区域
[root@web01 ~]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted

2.限制端口,-port=

#添加一个端口
[root@web01 ~]# firewall-cmd --add-port=8080/tcp
#添加多个端口
[root@web01 ~]# firewall-cmd --add-port={9000,9003,9006}/tcp

3.服务限制,-service=

#添加http服务,放行http服务
[root@web01 ~]# firewall-cmd --add-service=http

4.端口转发
10.0.0.1 请求 10.0.0.7:5555 ---> 实际请求 172.16.1.8:22

[root@web01 ~]# firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.8
#需要开启转发规则
[root@web01 ~]# firewall-cmd --add-masquerade

5.富规则,-rich-rule='rule ...'

①比如允许10.0.0.1主机能够访问80端口或http服务,允许172.16.1.0/24能访问8080端口

[root@web01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" service name="http" accept'
[root@web01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.16.1.0/24" port port="8080" protocol="tcp" accept'

②当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.8的22端口

[root@web01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" forward-port port="5555" protocol="tcp" to-port="22" to-addr=172.16.1.8'
#开启转发规则
[root@web01 ~]# firewall-cmd --add-masquerade

6.实现内部主机共享上网

ifdown eth0 关闭eth0网卡
ifup eth0 开启eth0网卡

1.修改内网网卡配置文件,添加
GATEWAY=能上网机器的内网IP
DNS1=223.5.5.5

2.重启网卡
ifdown eth1 && ifup eth1

3.开启转发规则
firewall-cmd --add-masquerade --permanent      #永久开启

4.测试

相关文章

网友评论

      本文标题:防火墙firewalld -day15

      本文链接:https://www.haomeiwen.com/subject/prnonhtx.html