iptables与防火墙

目录

防火墙

安全技术

划分方式

iptables 

构成

四表

优先级

五链

iptables的规则

匹配顺序

iptables的命令格式

管理选项

匹配条件

控制类型

隐藏扩展模块

注意事项


防火墙

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

软件防火墙:360 卡巴斯基 金山毒霸 iptables firewalld
硬件防火墙:路由器 交换机 三层交换机 

防水墙:waterwall 防止信息泄漏

安全技术

1、入侵检测系统:检测数威胁,病查,木马,不会阻断网络访问,事后提供报警和监督。类似于监控。看着你,但是不干预。出了事以后再来找你。
2、入侵防御系统]一旦检测出威胁,会立即予以阻断,主动的方式保护网络安全。透明模式模式工作的。一般都是用在线部罢的方式(所有数据进出的必经之路。)
现在市面上大部分的防火墙都是上述二者的结合体。

划分方式

1.保护范围
主机防火墙
服务范围就是当前自己的主机
网络防火墙
必经之路

2.实现方式
硬件防火墙
既有专业的硬件来实现防火墙功能,又有软件来进行配合
软件防火墙
依靠代码实现判断

3.网络协议
网络层
包过滤防火墙
应用层(代理服务器)
设置数据的进出


linux防火墙
firewalld centos7专门自带的
iptables 包过滤防火墙
selinux 自带的安全工具
集成在一个内核中:netfilter组件

iptables 

包过滤防火墙,工作在网络层,针对数据包进行过滤和限制
iptables属于用户态,netfilter属于内核态

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

构成

iptables的构成和工作机制
iptables的组成部分
四表五链组成(selinux也是一个表,不在讨论范围中)

 

 

四表

raw
连接跟踪机制,可以加快封包穿过防火墙的速度,数据包跟踪
mangle
数据标记
nat
地址转换表
filter
过滤规则表,可以根据规则来定义或者过滤符合条件的数据包,默认表

优先级

security----raw>---->mangle---->nat---->filter

五链

INPUT
处理数据包进入本机的规则
OUTPUT
处理数据包发出的规则,一般不做处理
prerouting
处理数据包进入的规则  结合地址转换使用
postrouting
处理数据包离开本机之后的规则  结合地址转换使用
FORWARD
处理数据转发规则

iptables的规则

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

匹配顺序

1.根据表的优先级匹配,在表中从上到下进行检查,找到匹配规则后立即停止,不再向下继续查找,如果匹配不到规则就按照链的默认规则进行处理
2.报文流向
流入本机
prerouting---->INPUT---->用户进程(httpd服务)
流出本机
httpd---->响应---->OUTPUT---->postrouting---->用户
转发
数据包进来,肯定不是同一网段,路由转发---->forward---->数据包出去,不允许转发,数据包直接丢弃。

yum -y install iptables iptables-services

iptables的命令格式

iptabless [ -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 修改数据包得目的ip地址

iptables -t filter -A INPUT -p icmp -j REJECT

iptables -vnL --line-number 显示序号

通用匹配
网络协议 端口 ip地址

隐藏扩展模块

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

-m multiport 指定多端口,端口号用逗号隔开
-m multiport --dport 
-m multiport --sport 

IP范围
-m iprange --src-range 源ip地的范围
-m iprange --dst-range 目的地范围

mac地址
-m mac --mac-source

-p 指定协议时,tcp udp 指明了是什么协议,就不需要再用 -m指明扩展模块
指定多端口可以用冒号也可用-m隐藏模块实现

注意事项

IP地址,且写在协议,端口写在协议后
指定多个IP地址用逗号隔开
多个端口用冒号隔开,小的端口号在前,大的端口号在后
修改规则一般不用
在生产中,iptables所有的链的默认规则都是DROP

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

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

相关文章

Java 悲观锁 乐观锁

锁可以从不同的角都分类。其中乐观锁和悲观锁是一种分类方式 一、悲观锁、乐观锁定义 悲观锁就是我们常说到的锁。对于悲观锁来说,他总是认为每次访问共享资源时会发生冲突,所以必须每次数据操作加上锁,以保证临界区的程序同一时间只能有一个…

从零学算法560

560. 和为 K 的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。 示例 1: 输入:nums [1,1,1], k 2 输出:2 示例 2: 输入:nums [1,2,3], k 3 输出&…

SQLite Studio 连接 SQLite数据库

1、在SQLite中创建数据库和表 1.1、按WINR,打开控制台,然后把指引到我们的SQLite的安装路径,输入D:,切换到D盘,cd 地址,切换到具体文件夹,输入“sqlite3”,启动服务 1.2、创建数据库…

多租户分缓存处理

多租户redis缓存分租户处理 那么数据库方面已经做到了拦截,但是缓存还是没有分租户,还是通通一个文件夹里, 想实现上图效果,global文件夹里存的是公共缓存。 首先,那么就要规定一个俗称,缓存名字带有globa…

数据库应用:MySQL MHA高可用集群

目录 一、理论 1.MHA 2.MySQL MHA部署准备 3.MySQL MHA部署 二、实验 1.MHA部署 三、问题 1.中英文符兼容报错 2.MHA测试 ssh 无密码认证语法报错 3.MHA测试 ssh 无密码认证log-bin报错 4.MHA测试 mysql 主从连接情况报错slave replication 5.MHA测试 mysql 主从连…

Elasticsearch监控工具Cerebro安装

Elasticsearch监控工具Cerebro安装 1、在windwos下的安装 1.1 下载安装包 https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip 1.2 解压 1.3 修改配置文件 如果需要修改相关信息,编辑C:\zsxsoftware\cerebro-0.9.4\conf\applica…

腾讯云大数据型CVM服务器实例D3和D2处理器CPU型号说明

腾讯云服务器CVM大数据型D3和D2处理器型号,大数据型D3云服务器CPU采用2.5GHz Intel Xeon Cascade Lake 处理器,大数据型D2云服务器CPU采用2.4GHz Intel Xeon Skylake 6148 处理器。腾讯云服务器网分享云服务器CVM大数据型CPU型号、处理器主频性能&#x…

css3的filter图片滤镜使用

业务介绍 默认:第一个图标为选中状态,其他三个图标事未选中状态 样式:选中状态是深蓝,未选中状体是浅蓝 交互:鼠标放上去选中,其他未选中,鼠标离开时候保持当前选中状态 实现:目前…

算法练习(3):牛客在线编程04 堆/栈/队列

package jz.bm;import java.util.*;public class bm4 {/*** BM42 用两个栈实现队列*/Stack<Integer> stack1 new Stack<>();Stack<Integer> stack2 new Stack<>();public void push(int node) {stack1.push(node);}public int pop() {while (!stack1…

Component template should contain exactly one root element

在vue中报错&#xff1a; Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead报错的大致意思是&#xff1a;组件的模板应该只能包含一个根元素&#xff0c;也就是是说作为元素的直…

【每日一题】—— C - (K+1)-th Largest Number (AtCoder Beginner Contest 273)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

【计算机网络 01】说在前面 信息服务 因特网 ISP RFC技术文档 边缘与核心 交换方式 定义与分类 网络性能指标 计算机网络体系结构 章节小结

第一章--概述 说在前面1.1 计算机网络 信息时代作用1.2 因特网概述1.3 三种交换方式1.4 计算机网络 定义与分类1.5 计算机网络的性能指标1.6 计算机网络体系结构1 常见的计算机网络体系结构2 计算机网络体系结构分层的必要性3 计算机网络体系结构分层思想举例4 计算机网络体系结…

理解JavaScript 的发布者/订阅者模式

什么是发布者/订阅者模式 发布者-订阅者模式是一种软件设计模式&#xff0c;用于实现对象之间的一对多依赖关系。在这种模式中&#xff0c;一个对象&#xff08;被称为发布者&#xff09;而其他对象&#xff08;成为订阅者&#xff09;可以在发布者上注册自己&#xff0c;以接…

本地文件夹上传到Github

本地文件夹上传到Github 步骤1. 下载git步骤2. 在github中新建一个库&#xff08;Repository&#xff09;步骤3. 设置SSH key步骤4. 添加SSH keys步骤5. 本地文件上传到github参考 步骤1. 下载git 下载git客户端&#xff0c;并在本地安装完成。 步骤2. 在github中新建一个库&a…

Install Ansible on CentOS 8

环境准备&#xff1a; 1.至少俩台linux主机&#xff0c;一台是控制节点&#xff0c;一台是受控节点 2.控制节点和受控节点都需要安装Python36 3.控制节点需要安装ansible 4.控制节点需要获得受控节点的普通用户或root用户的权限&#xff0c;控制节点需要ssh客户端&#xff0c;…

HTTPS工作原理

先简述一下什么是HTTPS&#xff0c;HTTPS就是在HTTP的基础上增加了SSL/TLS来完成加密传输&#xff0c;以免敏感信息被第三方获取&#xff0c;所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 一、客户端发起HTTPS请求 这个没什么好说的&#xff0c;就是…

windows和linux中查找文档中的特定字符

一、windows上&#xff0c;使用find命令。 语法&#xff1a;findstr [参数] [字符串] [磁盘&#xff1a;[目录]文件] findstr [/v] [/n] [/i] [/offline] “string” [[drive:][path]filename[ …]] 参数说明&#xff1a; /b 如果位于行的开头则匹配模式。 /e …

lil_matrix()

看代码的时候遇到的&#xff0c;简单记录记录一下。 这是一种用于逐步构建稀疏矩阵的结构&#xff08;官方文档中写的&#xff09;&#xff0c;换句话说这是一种存储稀疏矩阵的方式。该稀疏矩阵通过两个list存储&#xff1a; rows [list([ ]) list([ ]) list([ ]) ... list(…

【C#】类的赋值是引用

在C#中&#xff0c;类的赋值是将一个类的实例赋给另一个类的实例或者将一个类的实例赋给一个变量。 例如&#xff0c;假设有一个名为Person的类&#xff1a; csharp public class Person { public string Name { get; set; } public int Age { get; set; } } 然后可以创建两个…

[JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测

系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 文章目录 系列文章目录前言一、本章节效果图二、介绍2.1、准备地图素材2.2、封装地图上…