iptables防火墙工具

安全技术

安全技术

  1. 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。
  2. 入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)
  3. 防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中.

防火墙的分类

按保护范围划分:

  • 主机防火墙:服务范围为当前一台主机
  • 网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分:

  • 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为, 山石hillstone,天融信,启明星辰,绿盟,深信服, PaloAlto , fortinet, Cisco, Checkpoint, NetScreen(Juniper2004年40亿美元收购)等
  • 软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront

按网络协议划分:

  • 网络层防火墙:OSI模型下四层,又称为包过滤防火墙
  • 应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

防水墙

广泛意义上的防水墙:防水墙(Waterwall),与防火墙相对,是一种防止内部信息泄漏的安全产品。 网络、外设接口、存储介质和打印机构成信息泄漏的全部途径。防水墙针对这四种泄密途径,在事前、事 中、事后进行全面防护。其与防病毒产品、外部安全产品一起构成完整的网络安全体系。

netfilter/iptables关系

netfilter

  • 位于Linux内核中的包过滤功能体系
  • 称为Linux防火墙的"内核态"(内核空间)
  • 是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集。

iptables

  • 位于/sbin/iptables
  • 用来管理防火墙规则的工具称为Linux防火墙的"用户态"
  • 它使插入、修改和删除数据包过滤表中的规则变得容易

防火墙

iptables四表五链

四表

  • raw表:确定是否对该数据包进行状态跟踪。
  • mangel表:为数据包设置标记。
  • nat表:修改数据包中的源、目标IP地址或端口
  • filter表:确定是否放行该数据包(过滤)

五链

  • INPUT链:处理发送到本站入站数据包。
  • OUTPUT链:处理出本站数据包。
  • FORWARD链:处理转发数据包。
  • PREROUTING链:在进行路由选择后处理数据包。
  • POSTROUTING链:在进行路由选择前处理数据包。

规则表的作用∶容纳各种规则链

规则链的作用∶容纳各种防火墙规则

黑白名单

  1. 黑名单:默认全部允许通过,添加谁才不允许谁通过。
  2. 白名单:默认全部不允许通过,添加谁允许谁通过。

iptables命令

控制类型 作用
ACCEPT 允许数据包通过(默认)
DROP 允许数据包通过(默认)
REJECT 拒绝数据包通过,会给数据发送端一个响应信息
SNAT 修改数据包的源地址
DNAT 修改数据包的目的地址
MASQUERADE 伪装成一个非固定公网IP地址
LOG 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则。LOG只是一种辅助动作,并没有真正处理数据包
管理选项 用法示例
-A 在指定链末尾追加一条 iptables -A INPUT (操作)
-I 在指定链中插入一条新的,未指定序号默认作为第一条 iptables -I INPUT (操作)
-P 指定默认规则 iptables -P OUTPUT ACCEPT (操作)
-D 删除 iptables -t nat -D INPUT 2 (操作)
-p 服务名称 icmp tcp
-R 修改、替换某一条规则 iptables -t nat -R INPUT (操作)
-L 查看 iptables -t nat -L (查看)
-n 所有字段以数字形式显示(比如任意ip地址是0.0.0.0而不是anywhere,比如显示协议端口号而不是服务名) iptables -L -n,iptables -nL,iptables -vnL (查看)
-v 查看时显示更详细信息,常跟-L一起使用 (查看)
--line-number 规则带编号 iptables -t nat -L -n --line-number /iptables -t nat -L --line-number
-F 清除链中所有规则 iptables -F (操作)
-N 新加自定义链
-X 清空自定义链的规则,不影响其他链 iptables -X
-Z 清空链的计数器(匹配到的数据包的大小和总和)iptables -Z
-S 看链的所有规则或者某个链的规则/某个具体规则后面跟编号

查看filter表所有链 iptables -L

用数字形式(fliter)表所有链 查看输出结果 iptables -nL

清空所有链 iptables -F

插入规则

删除规则

修改规则

规则匹配

通用匹配
  • 协议匹配:-p 协议名
  • 地址匹配:-s 源地址、-d 目的地址 可以是IP、网段、域名、空(任何地址)
  • 接口匹配:-i 入站网卡、-o出站网卡
端口号匹配

端口匹配: --sport 源端口、--dport 目的端口,可以是个别端口、端口范围 --sport 1000 匹配源端口是1000的数据包 --sport 1000:3000 匹配源端口是1000-3000的数据包 --sport :3000 匹配源端口是3000及以下的数据包 --sport 1000: 匹配源端口是1000及以上的数据包 --sport和--dport 必须配合 -p <协议类型> 使用

ICMP类型匹配
  • "Echo-Request"(代码为8)表示请求
  • "Echo- -Reply"(代码为0)表示回显
  • "Dest ination-Unreachable" (代码为3)表示目标不可达
  • 关于其它可用的ICMP 协议类型,可以执行"iptables -P icmp -h"命令,查看帮助信息
多端口匹配
  • m multiport --sport 源端口列表
  • m multiport --dport 目的端口列表
相关推荐
车载诊断技术3 分钟前
电子电气架构--- 实施基于以太网的安全车载网络
网络·人工智能·安全·架构·汽车·电子电器架构
向上的车轮10 分钟前
ODOO学习笔记(8):模块化架构的优势
笔记·python·学习·架构
Kika写代码1 小时前
【基于轻量型架构的WEB开发】课程 13.2.4 拦截器 Java EE企业级应用开发教程 Spring+SpringMVC+MyBatis
spring·架构·java-ee
丶21363 小时前
【WEB】深入理解 CORS(跨域资源共享):原理、配置与常见问题
前端·架构·web
CodingBrother4 小时前
软考之面向服务架构SOA-通信方法
架构
码哥字节5 小时前
重生之从零设计 MySQL 架构
数据库·mysql·架构
wclass-zhengge14 小时前
系统架构(01架构的特点,本质...)
架构·系统架构
白总Server17 小时前
UI架构解说
大数据·服务器·网络·数据库·web安全·架构·数据库架构
努力进修17 小时前
“高级Java编程复习指南:深入理解并发编程、JVM优化与分布式系统架构“
java·jvm·架构
你的微笑,乱了夏天18 小时前
微服务链路追踪skywalking安装
分布式·后端·中间件·架构·skywalking