当前位置: 首页 > news >正文

iptable防火墙

防火墙

防火墙的主要功能是隔离,决定数据是否可以被外网访问以及哪些数据可以进入内。

它主要部署在网络边缘或者主机边缘,应用在网络层。

防火墙的安全技术:

1、入侵检测系统:检测数威胁,病毒,木马,不会阻断网络访问,事后提供报警和监督,类似于监控。

2、入侵防御系统:一旦检测出威胁,会立即予以阻断,主动的方式保护网络安全。透明模式模式工作的。一般都是用在线部署的方式。(所有数据进出的必经之路。

现在市面上大部分的防火墙都是上述二者的结合体。

防水墙

广泛意义上的防水墙:防水墙(Waterwall),与防火墙相对,是一种防止内部信息泄漏的安全产品。

防火墙主要分为软件防火墙和硬件防火墙

防火墙的保护范围

1、主机防火墙:服务范围就是当前白己的主机。

2、网络防火墙:服务范围为防火墙一侧的局域网。

实现方式

1、硬件防火墙:既有专业的硬件来实现防火墙功能,又有软件来进行配合。

2、软件防火墙:主要靠代码实现防护与数据判断。

网络协议划分

网络层:包过滤防火墙。

应用层:也叫代理服务器,可以设置数据的进出。

包过滤防火墙(iptables)

主要工作在网络层,用于针对数据包进行过滤和限制。

iptables属于用户态

netfilter 属于内核态。

过滤数据包:ip地址端口协议。都可以在iptables中进行配置,可以限制,也可以方行。

iptable的组成部分

由四表五链组成(selinux,也是一个表,一般不纳入范围).

注: 按优先级从左往右,从高到低。

四表:

raw表:提供连接跟踪机制,可以加快封包穿过防火墙的速度。数据包跟踪

mangle表:数据标记

net表:地址转换表

filter表:过滤规则表,可以根据规则来定义或过滤符合条件的数据包,也是默认表。

五链:

input:处理数据包进入本机的规则。

output:处理数据包发出的规则,一般不做处理。

prerouting:处理数据包进入的规则,主要结合地址转换使用。

postrouting:处理数据包离开本机后的规则,主要结合地址转换使用。

forward:处理数据转发的规则。

iptable的规则

表里面有链,链里面有规则,规则就是我们自定义的对于数据包的控制命令。

匹配顺序

1、根据表的优先级进行匹配,在表中从上到下进行检查,找到匹配规则立即停止,不再表中向下继续查找,如果匹配不到规则,按照链的默认规则进行处理。

管理选项

-A 在链的末尾追加一条,添加
-I 在链中插入一条新的规则,后面跟上数字,表示序号
-P 修改链的默认策略
-D 删除,根据编号进行删除
-R 修改,替换规则
-L 查看链中的规则
-F 清空链中的所有规则
​v 显示详细信息
n 把规则已数字形式进行展示

匹配条件

-p  指定匹配的数据包协议类型
-s  指定匹配的数据包源ip地址
-d  指定匹配数据包的目的ip地址
-i  指定数据包进入本机的网络接口
-o  指定数据包离开本机使用的网络接口
--sport:指定源端口号,写在协议后
--dport:指定目的端口号

控制类型

ACCEPT:允许数据包通过
DROP:  拒绝,直接丢弃数据包,不给回应信息
REJECT:拒绝,会给响应信息
SNAT:  修改数据包源ip地址
DNAT:  修改数据包目的IP地址

实例

禁止所有网段访问80端口

隐藏扩展模块

-p指定协议时,tcp udp指明了是什么协议,就不需要再用-m指明扩展模块。

指定对端口,可以用冒号的形式,也可以用-m隐藏模块来实现。

-m 可以用明确的形式指出类型(包括多端口,mac地址,IP地址,数据包状态)

http://www.lryc.cn/news/97471.html

相关文章:

  • 二、SQL-5.DQL-9).执行顺序
  • Ubuntu通用镜像加速配置
  • Linux安装部署Nacos和sentinel
  • Vue3+ElementPlus+TS实现右上角消息数量实时更新
  • 去除重复字母(力扣)贪心 + 队列 JAVA
  • Spring,SpringBoot,Spring MVC的区别是什么
  • 在CSDN学Golang云原生(Docker镜像)
  • Hive窗口函数大全
  • 达闼面试(部分)(未完全解析)
  • Makefile常用函数
  • mysql的一些知识整理
  • 修改密码和再次确认密码的js和element-ui的使用
  • 蓝桥杯专题-真题版含答案-【垒骰子_动态规划】【抽签】【平方怪圈】【凑算式】
  • kubernetes调试利器——kubectl debug工具
  • 浅谈es5如何保证并发请求的返回顺序
  • 深入浅出Pytorch函数——torch.squeeze
  • 【LeetCode】121.买卖股票的最佳时机
  • 【力扣】74. 搜索二维矩阵 <二分法>
  • Spring Task+Cron表达式
  • 你们公司的【前端项目】是如何做测试的?字节10年测试经验的我这样做的...
  • 华为战略方法论:BLM模型之关键任务与依赖关系
  • django的ORM模板的fake更新
  • 239.滑动窗口最大值
  • Redis基础原理
  • .NET 5 Web API 中JWT详细教程:保护你的Web应用
  • MyBatis-Plus自动填充
  • Dubbo服务提供者失效踢出原理解析
  • el-select下拉框处理分页数据,触底加载更多
  • 如何设计自动化测试脚本?一文5个步骤带你从0到1设计
  • PostgreSQL实战-数据库迁移部署