Shell脚本攻略:Linux防火墙(一)

news2024/11/25 12:38:50

目录

一、理论

1.安全技术

2.防火墙

3.通信五元素和四元素

4.总结

二、实验

1.iptables基本操作

2.扩展匹配

3. 自定义链接


一、理论

1.安全技术

(1)安全技术

①入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。

②入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。

③防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中。
(2)防火墙分类

①按保护范围划分

主机防火墙:服务范围为当前一台主机。

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

②按实现方式划分

硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,华为、深信服等。

软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront。

③按网络协议划分

包过滤防火墙:只对osi模型下四层生效,速度快拆包少。

网络层防火墙:OSI模型下四层,又称为包过滤防火墙。

应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层。

2.防火墙

(1)iptables

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

 iptables的表、链结构

 规则表—(容纳)—规则链—(容纳)—防火墙规则

①四表

规则表之间的优先顺序:
Raw——mangle——nat——filter

规则表:

1)filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包 内核模块:iptables_filter.
2)Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
3) Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle
4) Raw表——两个链:OUTPUT、PREROUTING
作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
 

表1 四表

功能
secure表用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现。
raw表关闭启用的连接跟踪机制,加快封包穿越防火墙速度。
mangel表修改数据标记位规则表。
nat表地址转换规则表。
filter表过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表为filter表。

②五链

表2 五链

功能
INPUT链处理入站数据包。
OUTPUT链处理出站数据包。
FORWARD链转发数据包。
PREROUTING链处理路由选择前数据包。
POSTROUTING链处理路由选择后数据包。

 ③ 匹配流程

流程表、链
入站

                   PREROUTING→INPUT

(nat)          (filter)  

出站

OUT→POSTROUTING

(filter)          (nat)  

转发

PREROUTING→FORWARD→POSTROUTING

(nat)                 (filter)                     (nat)  

(2)黑白名单

      ① 黑名单:默认全部允许通过,添加谁才不允许谁通过。

      ② 白名单:默认全部不允许通过,添加谁允许谁通过。

(3)iptables基本语法

iptables  [-t  表名]    选项   [链名]  [条件] [-j 控制类型]

(4)iptales选项

管理选项

表3 iptables选项

选项功能
-A在链的末尾追加一条规则。
-I在链的行首插入一条新的规则,若-I 后加数字表示在第几条前插入新规则。
-D 删除规则。
 -P修改默认链的默认规则,默认都是ACCEPT,使用格式:iptables -P 修改的链     修改的默认规则。
-F清空防火墙规则,默认情况filter表,加-t 表名可以情况其他表。
-R 替换某条规则,-R  +要替换的规则编号。
-L 以列表查看iptables,使用组合时必须在最后一位。
-N添加自定义规则链。
-X   删除自定义规则链。

匹配条件

表4 匹配条件

条件功能
-p 指定服务名称,TCP、ICMP等。
-n数字化显示规则表,多用于和-n  -L选项配合看表。
 -v   显示规则表的详细信息。
--line--numbers--line--numbers

(5)控制类型

控制类型需要使用 -j 跳转到某类型处理数据包。

表5 控制类型

类型功能
ACCEPT允许通过
REJECT拒绝通过
DROP丢弃,会接受但是将数据包丢弃不处理
SNAT源地址转换  (内→外)
DNAT目的地址转换   (外→内)
LOG在/var/log/messages 文件中记录日志信息,然后将数据包传递给下一条规则

(6)隐藏扩展模块
iptables在使用-p 指定协议时,若指明特定协议后就无须再使用-m指明扩展模块的扩展机制,例如若已经指明是 -p  tcp 协议则使用--dport及--sport等tcp模块内容时即可省略-m tcp。

①TCP模块

--sport  指明源端口,使用格式: --sport  端口或 端口1:端口2(端口1到端口2的连续端口范围指定)。

--dport  指明目的端口,使用格式: --dport  端口或 端口1:端口2(端口1到端口2的连续端口范围指定)。

②ICMP模块

--icmp-type  指定icmp的type值制定规则。type值:Echo- Request" (代码为8)、表示请求 "Echo- Reply" (代码为0)表示回复 、"Dest ination-Unreachable" (代码为3)表示目标不可达。

(7)显示扩展模块

扩展模块使用格式:  -m  {模块名}   [选项]

①multiport模块

--sports 端口1,端口2 ,等 使用,隔开最多指定15个不连续端口。

--dports 端口1,端口2 ,等 使用,隔开最多指定15个不连续端口。

② iprange模块

iprange模块可以指定连续的(一般不是整个网络)ip地址范围。

--src-range 源地址范围或 目的地址范围。

③mac地址模块

指明源MAC地址,适用INPUT链,PREOUTING,POSTROUTING链。

--mac-source    源mac地址,只能指定源mac地址。

④string字符串模块

可以使用string模块指定字符串范围。

--from offset 字符串开始查询的地方。

--to offset     字符串结束查询的地方  。

⑤connlimit模块

据每客户端IP做并发连接数数量匹配,可防止Dos(Denial of Service,拒绝服务)攻击。

--connlimit-upto N     #连接的数量小于等于N时匹配

--connlimit-above N   #连接的数量大于N时匹配

⑥stat模块

stat模块可以根据连接状态控制数据包。

NEW:新发出的请求;第一次发出的请求。

ESTABLISHED:new之后的正常连接状态。

⑦控制流量模块

limit控制流量模块,可以控制通过的包数以及每分钟或每小时通过的包数。

--limit     10/minute(1分钟之内只允许10个包通过)

--limit-burs    数字    例如: --limit-burst 5(允许通过前5个包,5个包不受影响)
(8)iptables规则保存

将写好的规则导入一个文件中  iptables-save >文件名。

永久保存保存规则的文件重新写入   iptables-restore <保存规则的文件名。

安装软件包

查看永久配置

备份

备份导入永久配置

(9)自定义链使用
①自定义链添加:iptables -N web(链名) 创建链

②自定义链改名:iptabels -E web(原来名称) (新名称) 自定义链改名

③创建自定义链规则:iptables -t filter -I web -p icmp -j REJECT 创建自定义规则,iptables的链中添加一条对应到自定义链中才能生效

④iptabales创建对应链规则然后跳转自定义链web:iptables -t filter -I INPUT -p icmp -j web

⑤删除自定义规则链:先删除iptables INPUT链中的对应关系,然后删除自定义链中的规则。
 

3.通信五元素和四元素

(1)五元素

         源IP和目标IP、源端口和目标端口、协议

(2)四元素

      源IP和目标IP、源端口和目标端口

4.总结

(1)管理

增、删、改、查

(2)匹配

ip地址、协议、端口

(3)控制

允许、拒绝、丢弃

二、实验

1.iptables基本操作

(1)详细查看(默认filter表)

清空规则

(2)添加规则

禁止所有地址ping主机

(3)设置允许(不生效),一旦匹配立即终止

查询

(4)带编号查询

(5)重新加入ACCEPT

显示PING通

(6)拒绝单个IP

(7)禁止IP出口

(8)允许出口

(9)指定端口 协议在前,端口在后

(10)删除指定协议

(11)删除指定序号

(12)修改链

(13)清空防火墙规则

(14)拒绝指定网段的端口,80端口协议为tcp

2.扩展匹配

(1)隐藏扩展匹配

拒绝多端口(小端口在前,大端口在后)

(2)显示扩展匹配 (端口无顺序限制)

拒绝对地址池访问

指定MAC地址

3. 自定义链接

创建自定义链

添加自定义链到INPUT链

改链名

删除自定义规则

删除自定义链

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

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

相关文章

汽车电子AUTOSAR之BswM模块

目录 前言 正文 总体设计框架 模式仲裁过程 模式控制过程 模式仲裁 模式请求来源(ModeRequestPorts) 模式条件(ModeCondition) 逻辑表达式(LogicExpressions) 模式规则(ModeRules) 模式规则的初始化 模式控制 模式控制基本流程 模式行为 常用函数接口 前言 首先&…

Dependency not found解决方案(Springboot,绝对有效)

目录 问题描述解决方案systemPathmvn install 问题描述 今天在弄一个项目的依赖的时候&#xff0c;easyexcel 的依赖就是下载不了&#xff0c;虽然我的 Maven 配置没问题。 依赖&#xff1a;    Maven 配置&#xff1a;    我切换了几个版本&#xff0c;也无法从镜像下…

git diff去除^M的方法

一&#xff0c;简介 本文主要介绍在git修改的时候&#xff0c;修改文件后&#xff0c;git diff查看修改内容时&#xff0c;发现修改的地方每行结束的地方都会有“^M”&#xff0c;很影响查看。故今天分享一种去除“ ^M”显示的方法&#xff0c;供参考。 二&#xff0c;问题原…

案例29:基于Springboot医疗挂号系统开题报告设计

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

最新版本Portraiture4.1中文版ps磨皮滤镜插件安装包

在Portraiture有非常强大的手动功能&#xff0c;可以为用户进行手动调整照片中的皮肤区域以达到更加完美的效果&#xff0c;软件还支持同时导入上千张照片&#xff0c;用户可以通过自动识别照片中的人脸从而依照自己的风格进行批量处理十分的方便快捷。 最新版本Portraiture 4…

空气污染气象学期末复习笔记

空气污染气象学 &#xff08;一&#xff09;研究什么 运用气象学方法研究空气污染物自排放源进入大气层后的散布规律&#xff0c;核心是研究大气输送和扩散 &#xff08;二&#xff09;大气污染 大气污染是指由于人类活动或自然过程引起某种物质进入大气中&#xff0c;呈现出足…

Mysql数据库入门基础篇--mysql 多表查询

【Mysql数据库入门基础篇--mysql 多表查询 &#x1f53b;一、mysql 多表查询1.1 &#x1f343; 7种sql joins 的实现1.2 &#x1f343; 错误写法---笛卡尔积错误1.3 &#x1f343; 正确的多表select写法 &#x1f53b;二、内连接( inner) join&#x1f53b;三、 外连接&#xf…

【LeetCode】23. 合并 K 个升序链表

23. 合并 K 个升序链表&#xff08;困难&#xff09; 方法一&#xff1a;顺序合并 思路 ListNode* mergeTwoLists(ListNode *a, ListNode *b) {if ((!a) || (!b)) return a ? a : b;ListNode head, *tail &head, *aPtr a, *bPtr b;while (aPtr && bPtr) {if (…

【第十期】Apache DolphinScheduler 每周 FAQ 集锦

点击蓝字 关注我们 摘要 为了让 Apache DolphinScheduler 的广大用户和爱好者对于此项目的疑问得到及时快速的解答&#xff0c;社区特发起此次【每周 FAQ】栏目&#xff0c;希望可以解决大家的实际问题。 关于本栏目的要点&#xff1a; 本栏目每周将通过腾讯文档&#xff08;每…

卡尔曼滤波与组合导航原理(十二)扩展卡尔曼滤波:EKF、二阶EKF、迭代EKF

文章目录 一、多元向量的泰勒级数展开二、扩展Kalman滤波三、二阶滤波四、迭代EKF滤波 一、多元向量的泰勒级数展开 { y 1 f 1 ( X ) f 1 ( x 1 , x 2 , ⋯ x n ) y 2 f 2 ( X ) f 2 ( x 1 , x 2 , ⋯ x n ) ⋮ y m f m ( X ) f m ( x 1 , x 2 , ⋯ x n ) \left\{\begin{…

大家都说Java有三种创建线程的方式,并发编程中的惊天骗局

在Java中&#xff0c;创建线程是一项非常重要的任务。线程是一种轻量级的子进程&#xff0c;可以并行执行&#xff0c;使得程序的执行效率得到提高。Java提供了多种方式来创建线程&#xff0c;但许多人都认为Java有三种创建线程的方式&#xff0c;它们分别是继承Thread类、实现…

论文浅尝 | Dually Distilling KGE for Faster and Cheaper Reasoning

笔记整理&#xff1a;张津瑞&#xff0c;天津大学硕士&#xff0c;研究方向为知识图谱 链接&#xff1a;https://dl.acm.org/doi/10.1145/3488560.3498437 动机 知识图谱已被证明可用于各种 AI 任务&#xff0c;如语义搜索&#xff0c;信息提取和问答等。然而众所周知&#xff…

【C++】C++11常用新特性

✍作者&#xff1a;阿润菜菜 &#x1f4d6;专栏&#xff1a;C 目录 一、统一的列表初始化二、 简化声明2.1 auto2.2 decltype2.3 nullptr 三、右值引用和移动语义 -- 重要3.1 区分左值引用和右值引用3.2 对比左值引用看看右值引用使用价值3.3 万能引用和完美转发&#xff08;st…

基于word文档,使用Python输出关键词和词频,并将关键词的词性也标注出来

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 移船相近邀相见&#xff0c;添酒回灯重开宴。 大家好&#xff0c;我是Python进阶者。 一、前言 前几天在有个粉丝问了个问题&#xff0c;大概意思是这样…

一道北大强基题背后的故事(三)——什么样的题是好题?

早点关注我&#xff0c;精彩不错过&#xff01; 上回我们针对这道北大强基题[((1 sqrt(5)) / 2) ^ 12]在答案的基础上给出了出题的可能思路&#xff0c;想一探究竟&#xff0c;相关内容请戳&#xff1a; 一道北大强基题背后的故事&#xff08;二&#xff09;——出题者怎么想的…

【Kubernetes入门】Service四层代理入门实战详解

文章目录 一、Service四层代理概念、原理1、Service四层代理概念2、Service工作原理3、Service原理解读4、Service四种类型 二、Service四层代理三种类型案例1、创建ClusterIP类型Service2、创建NodePort类型Service3、创建ExternalName类型Service 三、拓展1、Service域名解析…

Latex中图片排版(多个子图、横排、竖排、添加小标题)

1、两个子图横排 \begin{figure}[!t] \centering %\includegraphics[width3in]{fig5} \subfloat[subfig figure title]{\includegraphics[scale0.5]{superd2}} \subfloat[subfig figure title]{\includegraphics[scale0.5]{superd2}} \caption{title} \label{fig_6} \end{figu…

阿里发布的百亿级高并发系统(全彩版小册),涵盖了所有的高并发操作

高并发 提到“高并发”相信你们应该都不会感到陌生&#xff01;此时你脑中应该会浮现好多有关高并发的&#xff1a;业务急剧增长、电商购物、电商秒杀、12306抢票、淘宝天猫各种活动等&#xff1b;都是需要用到高并发的&#xff0c;那么如何去设计一个高并发系统抵挡这些冲击呢…

Django的app里面的视图函数

我之前说过需要重点去了解view和model&#xff0c;下面是我的总结。 视图函数是存在view.py里面的&#xff0c;视图函数的主要功能是接收请求、返回响应。在建立应用程序后&#xff0c;先在URL配置文件中加一条配置项指明URL与视图函数的对应关系。然后按照实际需求在视图函数…

三次握手四次挥手过程剖析

【一】预备知识&#xff1a; 1.三次握手并不一定非得成功&#xff0c;最担心得其实就是最后一个akc&#xff08;应答&#xff09;丢失&#xff0c;但是还是有配套得解决方案&#xff0c;比如超时重传机制。 2.连接是需要被保存下来得&#xff0c;是需要被os管理起来得&#xf…