IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux安全—iptables详解(概念和filter表) -> 正文阅读

[系统运维]Linux安全—iptables详解(概念和filter表)

Linux安全—iptables详解(概念和filter表)

iptables基础知识:

Linux包过滤防火墙:通常所说的Linux防火墙本质是通过内核层面的netfilter(内核态)实现的,iptables,firewalld等其他工具是用来管理防火墙规则的管理界面工具(用户态)
包过滤防火墙特点:主要针对IP地址和端口(网络层会拆解数据包,将端口显示出来)

iptables组成(表+链+规则)

1,规则:对数据包进行过滤或处理
2,链(5种):容纳各种防火墙规则,分别为:
INPUT链:处理进站数据包(场景:通常作为最终服务器/主机使用,属于filter表)
OUTPUT链:处理出站数据包(场景:通常作为最终服务器/主机使用,属于filter表和nat表)
FORWARD链:处理转发数据包(场景:通常作为中间设备使用,属于filter表)
POSTROUTING链:在进行路由选择后处理数据包(场景:属于nat表,提供SNAT功能)
PREROUTING链:在进行路由选择前处理数据包(场景:属于nat表,提供DNAT功能)
总结:因为路由选址是通过目的IP进行的,所以DNAT需要先转化地址再匹配路由,所以通过PREROUTING实现,反之SNAT属于POSTROUTING
3,表(4种):容纳各种链,这里仅介绍常使用的nat表和filter表
raw:是否对数据进行状态跟踪
mangle:为数据包设置标记
nat:提供SNAT/DNAT功能(常用)
filter:对数据进行过滤(常用)

iptables匹配顺序和匹配原则:

匹配顺序:
表的匹配顺序:raw-mangle-nat-filter
链的匹配顺序:
入站数据:PREROUTING-INPUT
出站数据:OUTPUT-POSTROUTING
转发数据:PREROUTING-FORWARD-POSTROUTING
匹配原则:
按顺序依次检查,匹配既停止(LOG策略除外),若未匹配到符合的规则,则按照该链的默认规则处理(全局允许/全局拒绝)

iptables命令语法:

语法:iptables [-t 表名] [选项] [链名] [条件] [-j 控制类型]
举例:iptables  -I INPUT -s 192.168.1.34 -j drop(限制源IP为192.168.1.34的主机访问)

在这里插入图片描述

iptables书写注意事项:

1,如果不指定表,默认使用filter表,不指定链名的时,默认指表内的所有链
2,选项,表名和控制类型需要大写,其他小写
3,除非设置链接的默认规则,否则必须指定匹配条件

数据包的控制类型分类:

ACCEPT:允许数据包通过(常用)
DROP:直接丢弃数据包,没有提示信息(常用)
REJECT:拒绝数据包通过,必要时给出提示信息
LOG:记录日志,匹配不停止,仍然往下匹配其他规则

iptables常见参数及含义:

规则查询:
-L:列出所有的规则条目
-n:以数字形式显示地址,端口等信息
-v:以更详细的方式显示规则信息
注意:通常-nvL参数一起使用
在这里插入图片描述
–line-numbers:显示规则的序号,也可以直接使用–line
在这里插入图片描述

规则添加:

t:指定表,如果不指定,默认是filter表
-I:指定链,规则会添加到链的开头(常用)
-A:指定链,规则会添加到链的结尾
举例:

iptables -I INPUT -s 192.168.1.1 -p icmp -j DROP 添加一条INPUT方向,拒绝源地址是192.168.1.1的icmp协议的规则

在这里插入图片描述
设置默认规则:
-P:为指定的链设置默认规则(匹配的最后一条,一般为全拒绝)

举例:iptables -P INPUT ACCEOT (可以不指定选项和使用-j参数)

在这里插入图片描述
修改规则链的默认规则:可以直接使用-P参数

举例:iptables -P  INPUT DROP 

在这里插入图片描述

规则删除:

D:删除链内指定序号的一条规则
-F:清空所有的规则
举例:

iptables -D INPUT 1  删除INPUT链种序号为1的规则

在这里插入图片描述

规则的匹配条件分类:

通用匹配:可直接使用,不依赖其他条件或者拓展(包括网络协议,IP地址等)
协议匹配:-p 协议名
地址匹配:-s 源地址 -d 目的地址
接口匹配: -i 入站网卡 -o出站网卡

举例:本地PC(IP:192.168.1.1)去ping远程主机(IP:192.168.1.34)

未设置规则前:可以ping通192.168.1.34且可以抓到192.168.1.1的数据包
在这里插入图片描述
设置规则后:iptables -I INPUIT -s 192.168.1.1 -p icmp -i ens33 -j DROP
在这里插入图片描述
测试:无法正常ping通192.168.1.34且只能抓取到请求192.168.1.1的数据包,没有返回包,说明数据包被直接丢弃了
在这里插入图片描述

隐含匹配:要求以特定的协议匹配作为前提(包括端口,TCP标记等)

接口匹配:-sport 源端口 -dport 目的端口(需要和-p条件一起使用,指定协议)
和通用匹配一致:未设置规则前:
在这里插入图片描述

设置规则后:无法正常tcping通192.168.1.34的80端口且只能抓取到请求192.168.1.1的数据包,没有返回包,说明数据包被直接丢弃了

命令: iptables -I INPUT -s 192.168.1.1 -p tcp  --dport 80 -j DROP

在这里插入图片描述

显式匹配:要求以-m扩展模块的形式明确指出类型(包括多端口,MAC地址。数据包状态等)

常用参数:
-m state --state链接状态

常用命令:iptables -I INPUT  -p tcp -m state --state ESTABLISHED -j ACCEPT   允许TCP连接状态为ESTABLISHED的链接

iptables的nat表的SNAT和DNAT应用:

因为iptables的SNAT和DNAT的知识较多,详细写在文章Linux安全—iptables(nat表)中,可点击链接查看

总结:

Linux防火墙iptables不管是在运维,还是安全场景(基线核查,应急响应等)中使用都是很多的,本篇文章内容主要为iptables的基础介绍和常用表中filter表的介绍,主要书写思路为概念介绍—例子说明—截图说明,希望对大家有所帮助,文章也会持续进行更新和完善。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:56:35  更:2022-09-13 12:00:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:58:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码