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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RISCV -3 RV32I/RV64I基本整型指令集

RISCV -3 RV32I/RV64I基本整型指令集 1 RV32I Base Integer Instruction Set1.1 Programmers’ Model for Base Integer ISA1.2 Base Instruction Formats1.3 Immediate Encoding Variants1.4 Integer Computational Instructions1.4.1 Integer Register-Immediate Instruction…

Java的集合类:List、Set、Map

在 Java 中,集合类是一组有序或无序的数据元素的集合。Java 集合类可用于存储和操作各种数据类型的元素,如整数、字符串、对象等。集合类是动态的,可以在运行时根据需要调整其大小。 Java 集合类可以分为三类: List - 有序集合&…

前端常用UI框架

前言: 作为一个前端码农,不仅要熟练使用原生技术,现在更需要掌握的是技术框架和ui框架,因为框架可以帮助我们快速的开发项目,并且能够保证界面的兼容和美观,下面是一些常用的前端ui框架,供大家参…

Windows 2012 R2 编辑ini文本遇到的编码问题

在编辑服务端配置文件时,发现对于ini文本文件: 需注意点一:如果另存为UTF-8保存的实际上格式是UTF-8-BOM编码格式; 但是两种格式是存在差异的: 因此造成在使用C#调用系统DLL读取文件时并未报错,但是当使用…

ChatGPT是否能够进行对话历史的回顾和追踪?

ChatGPT是一种强大的预训练语言模型,具有丰富的语言理解和生成能力。在情感识别和情感生成方面,ChatGPT可以发挥重要作用。 1. **情感识别**: 情感识别是指通过对文本进行分析和理解,确定文本所表达的情感类别,如喜欢…

[德语学习]冠词、代词

定冠词 格阳性 m阴性 f中性 n复数 Pl.第一格 Nderdiedasdie第二格 G第三格 Ddemderdemden第四格 Adendiedasdie 不定冠词 格阳性 m阴性 f中性 n复数 Pl.第一格 Neineineein-第二格 G-第三格 Deinemeinereinem-第四格 Aeineneineein- 人称代词 单数 格我你他/她/它尊称第一…

MySQL 数据库约束

目录 一、数据库约束 1、约束类型 二、NULL 约束 三、unique 约束 四、default 约束 五、primary key 约束 自增主键 六、foreign key 外键约束 七、check 约束 一、数据库约束 我们使用数据库来存储数据,一般是希望这里存储的数据是靠谱的,…

浅谈 Spring IOC 和 DI 以及 Spring 整合 Mybatis 的十四 个注解

IOC 和 DI IOC 控制反转Bean的创建@Component的三个衍生注解Bean作用范围Bean创建时机Bean获取3中常见报错及解决方案DI 依赖注入@Autowired注解两个常见问题多个实现类---2种解决方案关于报错排查步骤管理第三方Bean@Bean 注解配置类优化Spring整合Mybatis整合思想整合实现持久…

【梦辛工作室】IF判断优化、责任链模式 IfChain

大家好哇,我是梦辛工作室的灵,在最近的开发中,有许多需要判断的分支处理,且处理内容较多且复杂,代码就容易越写越复杂,导致后期无法继续更新跌打,然后基于这个环境,我用责任链模式写…

Stable Diffusion在各种显卡上的加速方式测试,最高可以提速211.2%

Stable Diffusion是一种基于扩散模型的图像生成技术,能够从文本生成高质量的图像,适用于CG,插图和高分辨率壁纸等领域。 但是它计算过程复杂,使得它的生成速度较慢。所以研究人员就创造了各种提高其速度的方式,比如Xf…

计算机视觉(二)图像特征提取

文章目录 颜色特征量化颜色直方图适用颜色空间:RGB、HSV等颜色空间操作 几何特征边缘 Edge边缘定义边缘提取 基于关键点的特征描述子引入几何特征:关键点几何特征:Harris角点FAST角点检测几何特征:斑点局部特征:SIFT预…

JavaScript 事件监听

语法:元素对象.addEventListener("事件类型",要执行的函数) 事件监听三要素: 事件源:哪个dom元素被触发了,要获取dom元素事件类型:用什么方式触发,eg:鼠标单击click、鼠标经过mouseover登事件调…

基于WebSocket实现的后台服务

基于WebSocket实现的后台服务,用于接收客户端的心跳消息,并根据心跳消息来维护客户端连接。 具体实现中,服务启动后会创建一个HttpListener对象,用于监听客户端的WebSocket连接请求。当客户端连接成功后,服务会为每个…

Linux环境PostgreSQL安装

今日一语:鲲鹏扶摇而直上九万里,雄鹰展翅高飞,这是因为鲲鹏一出世就得历劫,老鹰刚长出翅膀就会被扔下悬崖 下载安装包,解压到服务器中,然后 make && make install # 登录使用 ./psql # 切换数据库…

maven 离线模式打包

遇到问题 由于客户对于安全性的要求比较高 又想要自己打包,但不允许使用外网,这样就出现了没办法在线打包,需要离线打包。其实也很简单,只需要三步。 第一步 将项目中用到的依赖,下载到本地仓库中,然后将…

idea中Easy Code模版配置

首先找到模版位置 找到使用的模版,我用的是MybatisPlus-H,这是我新建的一个模版 controller.java.vm模版 ##导入宏定义 $!{define.vm}##设置表后缀(宏定义) #setTableSuffix("Controller")##保存文件(宏定义&#xff…

qemu搭建arm环境以及文件共享

几乎完全参照该文章 使用QEMU搭建ARM64实验环境 - 简书 ubuntu 14.04,linux3.16, busybox-1.31.0 arm-linux-gnueabi-gcc -v linux3.16以及busybox下载安装可参考链接 Ubuntu14.04安装qemu,运行linux-3.16gdb调试_qemu 安装 ubuntu 14_这个我…

Kamailio常用命令

kamctl --help:显示kamctl命令的帮助信息。 kamctl ps:列出当前的Kamailio进程列表。 kamctl stats:显示Kamailio的统计信息。 kamctl uptime:显示Kamailio的运行时间。 kamctl moni:启动Kamailio的监控模式。 ka…

Django开发股票分析系统

下面是一个简单的示例代码,展示了如何使用Django来创建一个股票管理分析系统。 首先,在你的虚拟环境中安装Django: pip install Django 然后,创建一个新的Django项目: django-admin startproject stock_management 进入…

Centos MySql安装,手动安装保姆级教程

1.删除原有的mariadb,不然mysql装不进去 查询MAriaDB命令 rpm -qa|grep mariadb 删除 rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 (yum -y remove mysql 如需要清除服务器上以前安装过的MySQL可执行此命令,执行前一…