iptables 防火墙

防火墙:隔离功能

部署在网络边缘或者主机边缘,在工作中,防火墙的主要作用,决定哪些数据可以被外网使用,以及哪些数据可以进入内网访问

主要工作在网络层

安全技术

1.入侵检测系统:检测出威胁,病毒,木马,不会阻断网络访问,时候提供报警,监督,类似于监控,看着你,但是不干预,出了事再来找你

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

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

防水墙:waterwall 防止信息泄露(实时监控)

软件防火墙:360,金山毒霸,iptables,firewall

硬件防火墙:路由器,交换机,三层交换机

保护范围:

1.主机防火墙:服务范围就是当前自己的主机

2.网络防火墙:必经之路

 

实现方式

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

2.软件防火墙:代码实现,判断

网络协议划分:
网络层:数据包过滤防火墙

应用层(代理服务器)设置数据的进出

linux防火墙:firewalld   centos7专门自带的

                     iptables 数据包过滤防火墙

                     selinux:自带的安全工具

集成在一个内核中,net filter组件

iptables数据包过滤防火墙

工作在网络层,正对数据包继续宁过滤和限制 

iptables属于用户态

net filter 属于内核态

过滤数据包:ip地址 端口 协议(tcp udp),都可以在iptables中进行配置,可以限制,也可以放行

iptables的构成和工作机制

组成部分:四表五链组成(selinux,也是一个表,不在我们讨论范围之内)

四表:

raw:连接跟踪机制,加快封包穿过防火墙的速度

mangle:数据标记

nat:地址转换表

filter(默认表):过滤规划表,根据规则来定义或者过滤符合条件的数据包

四表的优先级 security----->raw----->mangle---->nat----->filter

五链:

INPUT 处理数据包进入本机的规则

OUTPUT 处理数据包发出的规则,一般不做处理

PREROUTING 处理数据包进入的规则

POSTROUTING 处理数据包离开本机之后的规则  结合地址转换使用

FORWARD 处理数据转发的规则

iptables的规则

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

匹配顺序:

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

2. 报文流向

流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返回用户
流出本机:httpd----------->响应--------->output--------------->postrouting-(地址转换)------------>用户
转发:数据包进来,肯定不是同一网段,路由转发-------->forward--------->数据包出去,不允许转发,数据包直接丢弃。

iptables的命令格式:

iptables [ -t 表明](不指定表名,默认是filter)管理选项 [链名] [匹配条件] [-j 控制类型]

管理选项:

-A 在链的末尾追加一条,添加

-I 在链中插入一条新的规则,可以指定序号(后面跟上数字,表示序号)

-P 修改链的默认策略

-D 删除

-R 修改替换规则

-L 查看链中的规则

-vnL

v:显示详细信息  n:把规则以数字形式进行展示

-F 清空链中的所有规则,慎用

匹配条件:

-p 指定匹配的数据包协议类型

s 指定匹配的数据包源ip地址

-d 指定匹配数据包目的ip地址

-i 指定数据包进入本机的网络接口

-o 指定数据包离开本机使用的网络接口

--sport 指定源端口号

--dport 指定目的端口号

控制类型:

ACCEPT:允许数据包通过

DROP: 拒绝,直接丢弃,不给出任何信息回应

REJECT:拒绝,会给个响应信息

SNAT: 修改数据包的源ip地址

DNAT: 修改数据包的目的地址

不加-t指定,默认就是filter

 加-t指定

清空链中数据,慎用

 

拒绝ping

 

-I链中指定插入新规则(根据表的优先级匹配,在表中从上到下进行检查,找到匹配规则立即停止)

 

 在规则前面显示编号

指定端口,端口要写在协议后 (-p tcp --dport 80)

指定ip地址,写在协议前(-s 192.168.88.20 -p icmp)

指定多个ip地址

 指定端口

 删除

 

网段端口一起使用

 

 修改规则,一般不用

-R

 

在生产中,iptables所有的链的默认规则都是DROP

 

 

整个网段,直至访问80端口的服务

 

禁止22,80端口传输

 

端口号:小的数字写前面,大的写后面; :表示22端口和80端口

隐藏拓展模块

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

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

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

-m multiport指定多端口,使用多端口,多个端口用,隔开 

-m multiport --dport       -m multiport --sport   

 

  ip范围

-m iprange --src-range 源ip地址的范围

-m iprange --dst-range 目的ip地址的范围

 

 

mac地址

-m mac --mac-source

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/44104.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【后端面经】微服务构架 (1-3) | 熔断:熔断-恢复-熔断-恢复,抖来抖去怎么办?

文章目录 一、前置知识1、什么是熔断?2、什么是限流?3、什么是降级?4、怎么判断微服务出现了问题?A、指标有哪些?B、阈值如何选择?C、超过阈值之后,要不要持续一段时间才触发熔断?5、服务恢复正常二、面试环节1、面试准备2、面试基本思路三、总结 在微服务构架中…

【业务功能篇50】ObjectMapper-将java对象转为json字符串

ObjectMapper可以实现Java对象和json字符串间互相转换,我们经常用到的是它的Java对象转json字符串功能。 这里目的是 Java对象 json字符串相互转换 api 【json字符串转为Java对象:readValue(json字符串,类.class)】【Java对象转为json字符串&#xff1a…

WPF实战学习笔记09-创建工作单元

创建工作单元 添加包 Microsoft.EntityFrameworkCore.AutoHistory A plugin for Microsoft.EntityFrameworkCore to support automatically recording data changes history. Microsoft.EntityFrameworkCore.UnitOfWork A plugin for Microsoft.EntityFrameworkCore to suppor…

Python实战项目——旅游数据分析(四)

由于有之前的项目,所以今天我们直接开始,不做需求分析,还不会需求分析的可以看我之前的文章。Python实战项目——用户消费行为数据分析(三) 导入库 import numpy as np import pandas as pd import matplotlib.pyplo…

Canal深入调研

Canal深入调研 1.canal的设计 1.1 Canal的设计理念 canal的组件化设计非常好,有点类似于tomcat的设计。使用组合设计,依赖倒置,面向接口的设计。 说明: ​ server代表一个canal运行实例,对应于一个jvm ​ instance…

elasticsearch操作(命令方式)

说明:elasticsearch是目前最流行的搜索引擎,功能强大,非常受欢迎。特点是倒排索引,在海量数据的模糊查找领域,效率非常高。elasticsearch的安装和使用参考:http://t.csdn.cn/yJdZb。 本文介绍在es的索引库…

ajax/axios访问后端测试方法

文章目录 1、浏览器执行javascript方法GET请求POST请求 2、Postman测试工具GET请求POST请求 3、idea IDE提供的httpclient4、Apache JMeter 1、浏览器执行javascript方法 GET请求 http://localhost:6060/admin/get/123 POST请求 技巧:打开谷歌浏览器&#xff0c…

隧道安全监测解决方案

隧道安全监测 解决方案 一、监测目的 通过监控量测,实现信息化施工,不仅能及时掌握隧道实际的地质情况,掌握隧道围岩、支护衬砌结构的受力特征和变形情况,据此可以尽早发现塌方、大变形等灾害征兆,及时采取措施&…

使用ffmpeg合并视频遇到的坑

下面以Linux环境介绍为主 1.ffmpeg可执行命令不同的环境是不同的,Linux在执行命令前还需要授权。 2.合并视频命令: 主要命令: {} -f concat -auto_convert 0 -safe 0 -i {} -y -c:v copy 坑一:其中第一个花括号替换的是可执行命令所在的…

elementui全局给select option添加title属性

场景 有天边上的同事问了我一个问题,示例如下,有个数据特别长,导致下拉部分被横向撑大。希望在全局对所有的option进行处理,按照select的宽度,超出隐藏。 处理 方式一 第一眼看过去直接修改源码好了,修…

权智A133P 安卓10移植SPI转串WK2124驱动

硬件连接示意图 主控CPU通过SPI总线与WK2XXX芯相连接。WK2XXX控制4个UART的数据收发。 其中重要的参数有CS片选线和IRQ中断引脚。 LInux串口驱动框架 当WK2XXX驱动在内核注册成功后,会在/dev目录下面生成ttysWK0,ttysWK1,ttysWK2,ttysWK3节点。上层通过open,read,w…

精通正则表达式 - 打造高效正则表达式

目录 一、典型示例 1. 稍加修改——先迈最好使的腿 2. 效率 vs 准确性 3. 继续前进——限制匹配优先的作用范围 4. “指数级”匹配 二、全面考察回溯 1. 传统 NFA 的匹配过程 2. POSIX NFA 需要更多处理 3. 无法匹配时必须进行的工作 4. 看清楚一点 5. 多选结构的代…

Spring Boot日志:SLF4J和Logback

日志的分类 SpringBoot中的日志库分为两种: 实现库:提供具体的日志实现,例如日志级别的控制、打印格式、输出目标等。外观库:自身不提供日志实现,而是对其他日志库进行封装,从而方便使用。基于外观模式实…

Redis实战案例24-关注推送

1. Feed流实现方案 拉模式主要缺点,延迟问题,极端情况某个用户关注了成千上万的up主,每位up主又发布了十几条博客,此时拉模式的延迟就会很高; 推模式缺点也很明显,内存消耗太大,假设up主是千万级…

网络安全 Day20-计算机网络基础知识05(网络原理)

计算机网络基础知识05(网络原理) 1. OSI 模型2. VMware虚拟机NAT模式下上网原理3. 不能上网故障排查 1. OSI 模型 OSI 7层网络通信原理模型 OSI 国际网互联 OSI 数据包封装解封装过程 北京局域网主机A到深圳局域网主机B数据工作流程 2. VMware虚拟机N…

《零基础入门学习Python》第066讲:GUI的终极选择:Tkinter3

今天我们一起来学习三个组件:Checkbutton、Radiobutton 和 LabelFrame。 同样,我们还是通过案例来讲解。 一、Checkbutton Checkbutton(多选框)。大家都知道什么叫做“翻牌子”,今天的第一个例子就是来写一个翻牌子…

巅峰极客2023 hellosql

随便输一个payload,有waf 这题只有两个回显,分别是太酷啦和nonono,不显示报错、登录成功等各种信息,目前只能想到用时间盲注。 抓包fuzz,194都是被过滤的 不止这些,手工测出来if、sleep、benchmark、*、rp…

opencv-20 深入理解HSV 色彩空间(通过指定,标记颜色等来拓展ROI区域)

RGB 色彩空间是一种被广泛接受的色彩空间,但是该色彩空间过于抽象,我们不能够直接通过其值感知具体的色彩。 我们更习惯使用直观的方式来感知颜色,HSV 色彩空间提供了这样 的方式。 通过 HSV色彩空间,我们能够更加方便地通过色调、…

Keil系列教程08_Configuration(二)

1写在前面 本文接着上一篇文章《Keil系列教程07_Configuration(一)》讲述的工程目标选项的后三项配置:Shortcut Keys快捷键、Text Completion代码完形、Other其他。 这后面三部分内容在该系列教程其它也会牵涉,也是一些常用、重要…

idea中常用的快捷键

快捷键: 1.快速生成main方法 main/psvm public static void main(String[] args) {} 2.快速复制当前行的代码: ctrld 3.快速捕获异常: altctrlt 4.快速打印结果: sout/soutv System.out.println(s); System.out.println("s " s); 5.自动生成对象的返回值…