防火墙
在传输层隔离数据包,实现允许特定的流量访问策略,也可对指定的端口进行允许或阻止,来部署有效的网络安全措施。
范围划分:
- 主机防火墙:服务范围为当前一台主机
- 网络防火墙:服务范围为防火墙一侧的局域网
实现划分: - 硬件防火墙:在专用硬件级别来实现部分功能的防火墙
- 软件防火墙:通过硬件平台上防火墙之类的应用软件
网络划分: - 网络层防火墙:OSI模型下四层,数据包过滤防火墙
- 应用层防火墙:OSI模型第七层,proxy代理网关
包过滤防火墙:
网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否 允许该数据包通过
优点:对用户来说透明,处理速度快且易于维护
缺点:无法检查应用层数据,如病毒等
Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中
Netfilter官网文档:https://netfilter.org/documentation/
iptables
由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
#查看有没有安装iptables
[root@centos7 ~]# iptables --version
iptables v1.4.21
iptables的四表五链
四表:
规则表 | 作用 |
---|---|
filter | 过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表 |
nat | network address translation |
mangle | 修改数据标记位规则表 |
raw | 关闭启用的连接跟踪机制,加快封包穿越防火墙速度 |
security | 用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现 (了解) |
优先级由高到低:
security -->raw–>mangle–>nat–>filter
五链:
规则链 | 功能 |
---|---|
INPUT链 | 处理入站数据包 |
OUTPUT链 | 处理出站数据包 |
FORWARD链 | 处理转发数据包 |