目录
安全技术
防火墙的分类
按保护范围划分
按实现方式划分
按网络协议划分
应用层防火墙(7层)
防火墙的工作原理
linux防火墙的基本认识
防火墙工具介绍
1.iptables
2.firewalld
3.nftables
安全技术
—— 入侵检测系统(Intrusion Detection Systems)
特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式
—— 入侵防御系统(Intrusion Prevention System)
以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式(必经之路)
—— 防火墙( FireWall )
隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中.
防火墙的分类
按保护范围划分
主机防火墙:服务范围为当前一台主机
网络防火墙:服务范围为防火墙一侧的局域网
按实现方式划分
硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件
按网络协议划分
网络层防火墙:OSI模型下四层,又称为包过滤防火墙
应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层
应用层防火墙(7层)
应用层防火墙/代理服务型防火墙,也称为代理服务器(Proxy Server)
将所有跨越防火墙的网络通信链路分为两段
内外网用户的访问都是通过代理服务器上的“链接”来实现优点:在应用层对数据进行检查,比较安全
缺点:增加防火墙的负载
正向代理:也就是翻墙,代理的是客户端
可以绕开防火墙限制,加快访问速度
反向代理:代理的是服务器
负载均衡(lvs,haproxy,nginx)
防火墙的工作原理
接收数据包
数据包为:mac头部 ip头部 协议/端口 7层协议(http) 真实数据 校验位
过程:
收包>拆包>检查(没问题)>装包
收包>拆包>检查(有问题)>隔离或者丢弃
4层原理:传输层 通过协议,端口号,ip,mac控制流量
7层原理:应用层,控制真实数据,协议(7层协议:http,dns等),端口号,mac地址,ip地址
linux防火墙的基本认识
—— Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中
—— Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统;Netfilter采用模块化设计,具有良好的可扩充性,提供扩展各种网络服务的结构化底层框架;Netfilter与IP协议栈是无缝契合,并允许对数据报进行过滤、地址转换、处理等操作
防火墙工具介绍
1.iptables
由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
2.firewalld
从CentOS 7 版开始引入了新的前端管理工具
软件包:
firewalld
firewalld-config
管理工具:
firewall-cmd 命令行工具
firewall-config 图形工作
3.nftables
五个勾子函数和报文流向
Netfilter在内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、
PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规则
由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上提示:从 Linux kernel 4.2 版以后,Netfilter 在prerouting 前加了一个 ingress 勾子函数。可以使用这个新的入口挂钩来过滤来自第2层的流量,这个新挂钩比预路由要早,基本上是 tc 命令(流量控制工具)的替代品
内核中数据包的传输过程
—— 当一个数据包进入网卡时,数据包首先进入 PREROUTING链,内核根据数据包目的 IP判断是否需要传送出去
—— 如果数据包是进入本机的,数据包就会沿着图向下移动,到达 INPUT链,数据包到达 INPUT链之后,任何进程都会收到它,本机上运行的程序可以发送数据包,这些数据包经过 OUTPUT链,然后到达 —— 如果数据包是要转发出去的,且内核允许转发,数据包就会向右移动,经过 FORWARD链,然后到达 POSTROUTING链输出
四表五链
四表
-
raw表 :确定是否对该数据包进行状态跟踪
-
mangle表 :为数据包设置标记
-
nat表 :修改数据包中的源,目标IP地址或端口
-
filter表 :确定是否方向该数据包
五链
-
pre_routing :路由选择前
-
post_routing :路由选择后
-
input :进入本机
-
output :出本机
-
forward :转发
iptables 命令
基本语法
iptables -t 指定表 子命令 指定链 规制 //例 iptables -t filter -A INPUT -s 192.168.88.40 -j DROP
选项
iptables | 作用 |
---|---|
-A | 在指定链末尾追加一条 |
-I | 在指定链插入一条新的 |
-P | 指定默认规则 |
-D | 删除 |
-R | 修改,替换某一条规则 |
-F | 清除链中所有规则 |
-N | 新加自定义链 |
-X | 清空自定义链的规则,不影响其他链 |
-Z | 清空链的计数器 |
-S | 看链的所有规则 |
规则选项
规则选项 | 作用 |
---|---|
-s | 源地址 |
-d | 目的地址 |
-p | tcp 、udp 、icmp协议 |
-i | 进口网卡 |
-o | 出口网卡 |
--sport | 源端口 |
--dport | 目标端口 |
跳转选项
跳转选项 | 作用 |
---|---|
DPOR | 丢弃 |
REJECT | 拒绝 |
ACCEPT | 允许 |
命令举例
查看规则表
iptables -vnL #查看规则表 v详细 n数字化 L(大写)防火墙列表