一、防火墙基础
1、防火墙的作用和特点
1)防火墙的作用
对数据包进行过滤,发现可疑流量进行阻断
2)防火墙的特点
增强安全
防止外网对内部网络发送攻击
2、防火墙的类型
1)软件防火墙
Windows防火墙、iptables、firewalld、TMG都属于软件防火墙
处理数据速度慢
2)硬件防火墙
华为防火墙、深信服、ASA防火墙都属于硬件防火墙
处理数据速度快
可靠性强
3、防火墙功能分类
1)代理防火墙
过滤用户访问资源
需要指定防火墙代理IP地址和端口上网
2)网络防火墙
对数据包进行过滤
3)状态防火墙
硬件防火墙属于状态化防火墙
4、netfilter和firewalld的区别
1)netfilter
属于Linux系统的内核模块
netfilter模块支持数据包过滤功能
2)firewalld
属于防火墙管理工具
通过firewalld配置netfilter
5、firewalld的功能和模式
1)firewalld功能
支持IPv4和IPv6
支持直接网桥
2)firewalld模式
运行模式:重新启动或者关机开机防火墙规则丢失
永久模式:重启或者关机防火墙规则不会丢失
6、firewalld检查源网络的方式和区域类型
1)firewalld检查源网络方式
源网络关联到指定区域:执行区域所在的规则
源没有关联到指定区域:执行接口所在区域规则
接口没有关联到指定的区域:执行默认区域public区域的规则
2)防火墙区域类型
Trusted:信任区域,允许所有流量通过属于内部区域
Public:公共区域,默认接口不设置区域属于public区域,不允许流量入站允许出站
work:工作区域允许ssh、ipp-client、dhcp其他全部拒绝
home:家庭区域,允许ssh、ipp-client、samba-cient、dhcp,拒绝其他流量入站
internal:内部区域,不允许流量入站,允许信任网络流量
external:外部区域允许ssh其他流量全部拒绝,非信任网络
dmz:非军事化区域,保存对外提供服务的服务器
block:隔离区域不允许流量入站
drop:丢弃区域,拒绝所有流量
二、firewalld防火墙配置
1、firewalld工具类型
1)firewall-cmd
适合在字符模式配置防火墙
2)firewall-config
适合图形化配置防火墙使用
2、防火墙接口区域的划分
备份ens34 ens35
[root@centos02 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34
[root@centos02 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens35
配置DNS
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens35
;
重启网卡
[root@centos02 ~]# systemctl restart network
查看IP地址是否生效
[root@centos02 ~]# ifconfig
开启路由功能
[root@centos02 ~]# vim /etc/sysctl.conf
检查是否正确
[root@centos02 ~]# sysctl -p
开启firealld
[root@centos02 ~]# systemctl start firewalld
[root@centos02 ~]# systemctl enable firewalld
将ens32设置到trusted区域
[root@centos02 ~]# firewall-cmd --add-interface=ens32 --zone=trusted
将ens34设置到extetnal区域
[root@centos02 ~]# firewall-cmd --add-interface=ens34 --zone=external
将ens35设置到dmz区域
[root@centos02 ~]# firewall-cmd --add-interface=ens35 --zone=dmz
查看trusted区域所有规则
[root@centos02 ~]# firewall-cmd --zone=trusted --list-all
查看防火墙区域类型
[root@centos02 ~]# firewall-cmd --get-zones
查看接口所在区域
[root@centos02 ~]# firewall-cmd --get-zone-of-interface=ens32
[root@centos02 ~]# firewall-cmd --get-zone-of-interface=ens34
[root@centos02 ~]# firewall-cmd --get-zone-of-interface=ens35
查看活动区域
[root@centos02 ~]# firewall-cmd --get-active-zones
查看默认区域
[root@centos02 ~]# firewall-cmd --get-default-zone
修改默认区域为trusted并查看
[root@centos02 ~]# firewall-cmd --set-default-zone=trusted
[root@centos02 ~]# firewall-cmd --get-default-zone
修改ens2接口到dmz
[root@centos02 ~]# firewall-cmd --change-interface=ens32 --zone=dmz
将ens32接口从dmz区域移除
[root@centos02 ~]# firewall-cmd --remove-interface=ens32 --zone=dmz
删除后返回默认区域
[root@centos02 ~]# firewall-cmd --get-zone-of-interface=ens32
修改ens32网关
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
重启网卡
[root@centos02 ~]# systemctl restart network
检查
[root@centos02 ~]# route -n
修改外网上ens32的网关
Ping通192.168.200.10
[root@centos02 ~]# ping 192.168.200.10
dmz
在外网安装网站
[root@centos03 ~]# yum -y install httpd mod_ssl
创建来自外网的网址
[root@centos03 ~]# echo “WWW.WAN.COM” > /var/www/html/index.html
开启外网的防火墙
[root@centos03 ~]# systemctl start firewalld
[root@centos03 ~]# systemctl enable firewalld
查看内网的ens32
[root@centos01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32
允许https协议通信
[root@centos03 ~]# firewall-cmd --add-service=https --zone=external
允许TCP443号端口通信
[root@centos03 ~]# firewall-cmd --add-port=443/tcp --zone=external
浏览器访问
查看用户写的防火墙规则
[root@centos03 ~]# firewall-cmd --list-all --zone=external
删除TCP协议的443端口
[root@centos03 ~]# firewall-cmd --remove-port=443/tcp --zone=external
访问192.168.10.10
查看端口号规则
[root@centos04 ~]# firewall-cmd --list-ports --zone=dmz
进制发送ping请求
[root@centos04 ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz
查看ping规则