目录
一.安全技术和防火墙
1.安全技术
入侵检测系统(Intrusion Detection Systems)︰特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类似于监控系统一般采用旁路部署(默默的看着你)方式。
入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为局立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)
防火墙(FireWall ) :隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ(demilitarized zone)网络中.
2.防火墙的分类
1.按保护范围划分
- 主机防火墙:服务范围为当前一台主机
- 网络防火墙:服务范围为防火墙一侧的局域网
2.按实现方式划分
- 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现
- 软件防火墙:运行于通用硬件平台之上的防火墙的应用软件
3.按网络协议划分
- 网络层防火墙:OSI模型下四层,又称为包过滤防火墙
- 应用层防火墙/代理服务器:proxy代理网关,OSI模型七层
二.Linux防火墙的基本概念
1.Netfilter
Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中
2.防火墙工具
1.iptables
由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
2.firewalld
centos7中默认打开
3.nftbales
适用于centos8
4.firewalld和iptables的区别
Firewalld | iptables | |
配置文件 | /usr/lib/firewalld/ /etc/firewalld/ | /etc/sysconfig/iptables |
对规则的修改 | 不需要全部刷新策略,不丢失 现行连接 | 需要全部刷新策略,丢失连接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
3.firewalld服务
1.firewalld zone分类
zone名称 | 默认配置 |
trusted | 允许所有流量 |
home | 拒绝除和传出流量相关的,以及ssh,mdsn,ipp-client,samba-client,dhcpv6-client预定义服务之外其它所有传入流量 |
internal | 和home相同 |
work | 拒绝除和传出流量相关的,以及ssh,ipp-client,dhcpv6-client预定义服务之外的其它所有传入流量 |
public | 拒绝除和传出流量相关的,以及ssh,dhcpv6-client预定义服务之外的其它所有传入流量,新加的网卡默认属于public zone |
external | 拒绝除和传出流量相关的,以及ssh预定义服务之外的其它所有传入流量,属于external zone的传出ipv4流量的源地址将被伪装为传出网卡的地址。 |
dmz | 拒绝除和传出流量相关的,以及ssh预定义服务之外的其它所有传入流量 |
block | 拒绝除和传出流量相关的所有传入流量 |
drop | 拒绝除和传出流量相关的所有传入流量(甚至不以ICMP错误进行回应) |
2.预定义服务
服务名称 | 配置 |
ssh | Local sSH server.Traffic to 22/tcp |
ipp-client | Local lPP printing.Traffic to 631/udp. |
dhcpv6-client | Local DHCPv6 client.Traffic to 546/udp on the fe80::/64 IPv6 network |
samba-client | Local Windows file and print sharing client.Traffic to 137/udp and 138/udp. |
mdns | Multicast DNS (mDNS) local-link name resolution.Traffic to 5353/udp to the 224.0.0.251(IPv4) or ff02:fb (IPv6) multicast addresses. |
3.firewalld预定义服务配置
firewall-cmd --get-services查看预定义服务列表
/usrllib/firewalld/services/*.xml预定义服务的配置
4.firewalld三种配置方法
firewall-config图形工具:需安装firewall-config包
firewall-cmd命令行工具: firewalld包,默认安装
/etc/firewalld/配置文件,一般不建议
三.firewalld防火墙配置方法
1.运行时配置
- 实时生效,并持续至Firewalld重新启动或重新加载配置
- 不中断现有连接
- 不能修改服务配置
2.永久配置
- 不立即生效,除非Firewalld重新启动或重新加载配置
- 中断现有连接
- 可以修改服务配置
四.firewall命令
安装firewalld:# yum install firewalld
启动:# systemctl start firewalld
查看状态:# systemctl status firewalld 或者 firewall-cmd --state
停止:# systemctl disable firewalld
禁用:# systemctl stop firewalld
查看版本:# firewall-cmd --version
查看帮助:# firewall-cmd --help
显示状态:# firewall-cmd --state
查看区域信息:# firewall-cmd --get-active-zones
查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=ens33
拒绝所有包:# firewall-cmd --panic-on
取消拒绝状态:# firewall-cmd --panic-off
查看是否拒绝:# firewall-cmd --query-panic
更新防火墙规则:# firewall-cmd --reload (无需断开连接)
更新防火墙规则:# firewall-cmd --complete-reload(需要重启服务)
列出所有支持的 zone:# firewall-cmd --get-zones
查看当前的默认 zone:# firewall-cmd --get-default-zone
设置默认接口区域:# firewall-cmd --set-default-zone=public (立即生效无需重启)
查看所有打开的端口:# firewall-cmd --zone=dmz --list-ports
加入一个端口到区域:# firewall-cmd --zone=dmz --add-port=8080/tcp (永久生效加--permanent)