防火墙防火墙

news2024/11/19 3:17:51

什么是防火墙

防火墙是一种网络安全设备或软件,用于监控和控制网络流量,以保护网络免受未经授权的访问、恶意攻击和数据泄露等威胁。

防火墙的作用


1. 访问控制:防火墙可以根据规则和策略,限制和过滤网络流量,只允许经授权的流量通过,阻止未经授权的流量进入网络。
2. 威胁防御:防火墙可以监控网络流量、检测和阻止恶意攻击,如网络嗅探、入侵尝试、恶意软件传播等。
3. 数据过滤和策略实施:防火墙可以根据预定义的规则过滤和处理数据流量,并实施特定的网络策略,如端口转发、地址转换等。
4. VPN支持:一些防火墙还提供虚拟专用网络(VPN)功能,用于安全地远程访问和连接组织的网络资源。

防火墙的类型


1. 网络层防火墙(Packet Filtering Firewall):基于网络层的IP、端口和协议等特征,过滤和控制数据包的转发。
2. 应用层防火墙(Application Layer Firewall):在网络层的基础上,根据应用层协议和内容进行更精细的过滤和控制,如HTTP、FTP、SMTP等。
3. 状态感知防火墙(Stateful Firewall):对网络连接进行状态跟踪和管理,可以检测和过滤具有恶意行为的连接。
4. 下一代防火墙(Next-Generation Firewall):整合了传统防火墙的功能,并结合了更高级的安全功能,如入侵防御、反病毒、网关防护等。
5. 代理防火墙(Proxy Firewall):代理所有网络流量,为内部网络和外部网络之间建立隔离,对流量进行深度检查和策略控制。
6. 云防火墙(Cloud Firewall):部署在云平台上的防火墙,用于保护云环境中的虚拟机和云服务。

不同类型的防火墙具有各自的特点和适用场景,可以根据实际需求选择合适的防火墙来保护网络安全。

常用防火墙品牌

硬件防火墙:

Cisco ASA
Palo Alto Networks
Fortinet Fortigate
Check Point Firewall
Juniper Networks SRX Series
SonicWall NSA Series
Sophos XG Firewall
Barracuda NextGen Firewall
WatchGuard Firebox
Huawei USG Firewall
软件防火墙:

Windows Defender Firewall (Microsoft)
Norton Firewall (NortonLifeLock)
McAfee Firewall (McAfee)
ZoneAlarm Firewall (Checkpoint Software Technologies)
Comodo Firewall (Comodo)
AVG Firewall (AVG Technologies)
Avast Firewall (Avast Software)
Bitdefender Firewall (Bitdefender)
Kaspersky Internet Security (Kaspersky Lab)
ESET Smart Security (ESET)
这些品牌都是在硬件和软件防火墙领域具有声誉和广泛使用的品牌,它们提供了多种功能和解决方案,以保护企业和个人免受网络威胁。

iptables

iptables是什么?

iptables不是防火墙,是防火墙用户代理用于把用户的安全设置添加到安全框架中  安全框架是防火墙

安全框架的名称为netfilter

netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具

netfilter/iptables功能

netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的   企业级硬件防火墙,能够实现如下功能:

数据包过滤,即防火墙数据包重定向,即转发网络地址转换,即可NAT

注:

平常我们使用iptables并不是防火墙的服务,而服务是由内核提供的。

 

iptables概念

iptables工作依据 规则(rules)

iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为如果数据包头符合这样的   条件,就这样处理这个数据包

规则存储在内核空间的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCPUDPICMP)和服   务类型(HTTPFTP)等。

当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,比如放行(ACCEPT)、拒绝(REJECT)、   丢弃(DROP)

配置防火墙主要工作就是对iptables规则进行添加、修改、删除等

iptables中链的概念举例说明:

当客户端访问服务器端的web服务时,客户端发送访问请求报文至网卡,而tcp/ip协议栈是属于内核的一部分,所     以,客户端的请求报文会通过内核的TCP协议传输到用户空间的web服务,而客户端报文的目标地址为web服务器所  监听的套接字(ip:port)上,当web服务器响应客户端请求时,web服务所回应的响应报文的目标地址为客户端地址,  我们说过,netfilter才是真正的防火墙,属于内核的一部分,所以,我们要想让netfilter起到作用,我们就需要在内   核中设置关口,所以进出的数据报文都要通过这些关口,经检查,符合放行条件的准允放行,符合阻拦条件的则被  阻止,于是就出现了inputoutput关口,然而在iptables中我们把关口叫做

INPUT:处理入站数据包OUTPUT:处理出站数据包

FORWARD:处理转发数据包(主要是将数据包转发至本机其它网卡)

当数据报文经过本机时,网卡接收数据报文至缓冲区,内核读取报文ip首部,发现报文不是送到本机时(目的ip  不是本机),由内核直接送到forward链做匹配,匹配之后若符合forward的规则,再经由postrouting送往下一  跳或目的主机。

PREROUTING:在进行路由选择前处理数据包,修改到达防火墙数据包的目的IP地址,用于判断目标主机

 

POSTROUTING:在进行路由选择后处理数据包,修改要离开防火墙数据包的源IP地址,判断经由哪一接口送往  下一跳

iptables中表的概念

每个规则链上都设置了一串规则,这样的话,我们就可以把不同的规则链组合成能够完成某一特定功能集合分   类,而这个集合分类我们就称为表,iptables中共有5张表,学习iptables需要搞明白每种表的作用。

filter: 过滤功能,确定是否放行该数据包,属于真正防火墙,内核模块:iptables_filter nat: 网络地址转换功能,修改数据包中的源、目标IP地址或端口;内核模块:iptable_nat mangle: 对数据包进行重新封装功能,为数据包设置标记;内核模块:iptable_mangle raw: 确定是否对数据包进行跟踪;内核模块:iptables_raw

security:是否定义强制访问控制规则;后加上的

iptables中表链之间的关系

我们在应用防火e墙时是以表为操作入口的,只要在相应的表中的规则链上添加规则即可实现某一功能。那么我们就应   该知道哪张表包括哪些规则链,然后在规则链上操作即可。

filter表可以使用哪些链定义规则:INPUT,FORWARD,OUTPUT

nat表中可以使用哪些链定义规则:PREROUTING,OUTPUT ,POSTROUTING,INPUT

mangle 表中可以使用哪些链定义规则:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING raw表中可以使用哪些链定义规则:PREROUTING,OUTPUT

iptables中表的优先级

raw-mangle-nat-filter(由高至低)

iptables规则匹配条件分类基本匹配条件:

源地址,目标地址,源端口,目标端口等

基本匹配使用选项及功能

  1. -p protocal指定规则协议,tcp(传输层) udp(传输层) icmp(网络层) ip(网络层) 
  2. -s source  指定数据包的源地址,192.168.1.10
  3. -d destination指定目的地址
  4. -i 输入网卡接口 如:lo本地回环,ens33 
  5. -o 输出网卡接口 如:ens37,ens33
  6. ! 取 反

基本匹配的特点是:无需加载扩展模块,匹配规则生效

扩展匹配条件:

扩展匹配又分为显示匹配和隐式匹配。

扩展匹配的特点是:需要加载扩展模块,匹配规则方可生效。

隐式匹配的特点:使用-p选项指明协议时,无需再同时使用-m选项指明扩展模块以及不需要手动加载扩展模块;  显示匹配的特点:必须使用-m选项指明要调用的扩展模块的扩展机制以及需要手动加载扩展模块。

隐式匹配选项及功能

  1. -p tcp
  2. --sport 匹配报文源端口;可以给出多个端口,但只能是连续的端口范围
  3. --dport 匹配报文目标端口;可以给出多个端口,但只能是连续的端口范围

  1. -p udp
  2. --sport 匹配报文源端口;可以给出多个端口,但只能是连续的端口范围
  3. --dport 匹配报文目标端口;可以给出多个端口,但只能是连续的端口范围
  4. --icmp-type
  5. 0/0echo reply 允许其他主机ping
  6. 8/0echo request 允许ping其他主机

显示匹配使用选项及功能

multiport多端口

  1. iptables -I INPUT -d 192.168.115.3 -p tcp -m multiport --dports 22,80 -j ACCEPT
  2. 允许目标IP地址为192.168.115.3的TCP流量的目标端口为22和80的进入。也就是说,允许该主机接受来自端口22和80的TCP连接。

  1. iptables -I OUTPUT -s 192.168.115.3 -p tcp -m multiport --sports 22,80 -j ACCEPT
  2. 允许源IP地址为192.168.115.3的TCP流量的源端口为22和80的离开。换句话说,允许该主机发起到端口22和80的TCP连接。

iprange多ip地址

  1. iptables -A INPUT -d 192.168.115.3 -p tcp --dport 23 -m iprange --src-range 192.168.115.3-192.168.115.7 -j ACCEPT
  2. iptables -A OUTPUT -s 192.168.115.3 -p tcp --sport 23 -m iprange --dst-range 192.168.115.3-192.168.115.7 -j ACCEPT

time

iptables -A INPUT -d 192.168.2.10 -p tcp --dport 901 -m time --weekdays Mon,Tus,Wed,Thu,Fri --timestart 08:00:00 --timestop 18:00:00 -j ACCEPT

 iptables -A OUTPUT -s 192.168.115.3 -p tcp --sport 901 -j ACCEPT

指定访问时间范围

connlimit

连接限制,根据每个客户端IP作并发连接数量限制。

  1. --connlimit-upto n 连接数小于等于n时匹配
  2. --connlimit-above n 连接数大于n时匹配

禁止TCP传输:


iptables -A INPUT -p tcp -j DROP

这条规则将阻止所有TCP流量进入系统。

验证发现ssh链接断掉

清空规则

链接恢复正常


 

禁止ICMP传输:

shell复制

iptables -A INPUT -p icmp -j DROP

这条规则将阻止所有ICMP流量进入系统。

主机ping百度发现不通

二号机ping主机发现ping不通

iptables -F清空规则

允许特定IP地址的所有流量通过:

iptables -A INPUT -s 192.168.115.4 -j ACCEPT

这条规则将允许源IP地址为192.168.115.4的所有流量进入系统。

允许特定端口的TCP流量通过:


iptables -A INPUT -p tcp --dport <Port_Number> -j ACCEPT
这条规则将允许目标端口为<Port_Number>的TCP流量进入系统。

允许特定协议的流量通过: 例如,允许ICMP流量进入系统:


iptables -A INPUT -p icmp -j ACCEPT

ssh验证

ping验证

阻止特定IP地址的所有流量:


iptables -A INPUT -s <IP_Address> -j DROP
这条规则将阻止源IP地址为<IP_Address>的所有流量进入系统。

转发流量到另一个IP地址和端口:


iptables -A PREROUTING -t nat -i <Interface> -p tcp --dport <Port_Number> -j DNAT --to-destination <Destination_IP>:<Destination_Port>
这条规则将通过NAT转发从指定接口和端口进入的TCP流量到另一个目标IP地址和端口

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

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

相关文章

Python基础教程:序列排序

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 话不多说&#xff0c;直接开搞&#xff0c;如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 正文 python中&#xff0c;一般在涉及到列表排序时&#xff0c;都用内置的sort()方法或者全局的sorted()方法&#xff0c…

想要精通算法和SQL的成长之路 - 相交链表

想要精通算法和SQL的成长之路 - 相交链表 前言一. 相交链表&#xff08;双指针&#xff09; 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 相交链表&#xff08;双指针&#xff09; 原题链接 思路如下&#xff1a; 1.我们假设 headA链表的长度为 a。headB链表的长度为b…

算法通关村18关 | 回溯模板如何解决分割回文串问题

1. 分割回文串 题目 LeetCode131 分割回文串&#xff0c;给你一个字符串s&#xff0c;请你将s分割成一些字串&#xff0c;使每个字串都是回文串&#xff0c;返回s所有可能的分割方案。 回文串是正着和反着读都是一样的字符串。 思路 知道回溯的模板&#xff0c;用回溯的角度思…

Ceph入门到精通-ceph对于长文件名如何处理

RADOS object with short name 上一篇博文&#xff0c;我们将介绍了对象相关的数据结构ghobject_t&#xff0c;以及对象在底层文件系统存储的文件名&#xff0c;以及如何从文件名对应到 ghobject_t对象。 映射关系如下图所示&#xff1a; 这里面有一个漏洞&#xff0c;即obje…

云服务器与内网穿透有什么区别?哪个好用?

云服务器与内网穿透有什么区别&#xff0c;哪个好用&#xff1f;如何在自己公网IP云主机上部署搭建P2P穿透&#xff1f;这里给大家汇总介绍一下&#xff0c;供大家共同学习了解。 云服务器的一些特点&#xff1a; 需要数据上云场景时&#xff0c;通常可以选择使用云服务器。 …

JavaScript的内置类

一、认识包装类型 1.原始类型的包装类 JavaScript的原始类型并非对象类型&#xff0c;所以从理论上来说&#xff0c;它们是没有办法获取属性或者调用方法的。 但是&#xff0c;在开发中会看到&#xff0c;我们会经常这样操作&#xff1a; var message "hello world&q…

Android:viewPage+Fragment实现模拟微信首页

一、前言&#xff1a;虽然现在很多已经不这么写了&#xff0c;但是这是最底层的东西&#xff0c;我想我还是要好好理解一下的。这篇代码是模拟微信首页底部按钮和ViewPage的联动。记录一下&#xff01;&#xff01; 二、代码理解&#xff1a; 主页面布局 <?xml version&…

积木报表 JimuReport v1.6.2-GA版本发布—高危SQL漏洞安全加固版本

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

安防监控/视频汇聚/云存储/AI智能视频分析平台EasyCVR显示CPU过载,该如何解决?

视频云存储/安防监控/视频汇聚平台EasyCVR基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频监控系统EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云…

主品牌老化:企业增长面临的关键挑战——《主品牌进化战略》节选

在今天&#xff0c;大部分行业的竞争环境已经从匀速变化迭代为加速变化&#xff0c;主品牌老化成为企业增长面临的重要挑战&#xff0c;这一点已经变得非常明显。技术革新、产业革命以及顾客需求的演变势不可挡&#xff0c;跨周期竞争已经成为常态。在这种情况下&#xff0c;企…

React 展开运算符

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库溯源相关 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 展开运算符 1. 展开数组 <script type"text/javascript">let arr1 [1,3,5,7,9]let arr2 [2,4,6,8,10]console.log(...arr1)&l…

OSPF协议LSDB同步过程和邻居状态机

【微|信|公|众|号&#xff1a;厦门微思网络】 华为HCIA试听课程&#xff1a;网络工程师的基本功&#xff1a;网络地址转换NAT https://mp.weixin.qq.com/s/jJRRSj3EdjFHrXCAqRCVeg 华为HCIP试听课程&#xff1a;华为HCIP必考题&#xff1a;DHCP协议原理与配置https://mp.weixi…

ICC2: ICG clone与ICG merge

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 默认情况下,initial_place阶段或者在spg flow的initial_opt阶段工具会自动merge clock gating cell。但是如果在place_opt之前使用merge_clock_gates命令了,place阶段就不会再merge clock gate了。…

Linux中断底半部机制总结

linux实现底半部的机制主要有tasklet、workqueue、softirq。 1.tasklet tasklet的使用较为简单&#xff0c;它的执行上下文是软中断&#xff0c;所以在tasklet中不能睡眠&#xff0c;它的执行时机通常是中断顶半部返回的时候。我们只需要定义tasklet及其处理函数&#xff0c;…

【管理运筹学】第 7 章 | 图与网络分析(4,最大流问题)

系列文章目录 【管理运筹学】第 7 章 | 图与网络分析&#xff08;1&#xff0c;图论背景以及基本概念、术语、矩阵表示&#xff09; 【管理运筹学】第 7 章 | 图与网络分析&#xff08;2&#xff0c;最小支撑树问题&#xff09; 【管理运筹学】第 7 章 | 图与网络分析&#xf…

健身小程序制作流程详解

随着移动互联网的普及&#xff0c;越来越多的人开始关注健康和健身。为了满足这一需求&#xff0c;制作一款健身小程序已经成为一种趋势。本文将详细介绍如何使用第三方制作平台&#xff0c;如乔拓云网&#xff0c;制作健身小程序&#xff0c;让你轻松成为专家。 一、注册与登录…

CG MAGIC分享3ds Max卡顿未保存处理方法有哪些?

3ds Max进行建模、渲染这一系列过程中&#xff0c;大家使用中都会遇到各种原因导致软件卡顿或崩溃是很常见的情况。 可以说卡机没关系&#xff0c;可是卡顿发生时&#xff0c;如果之前的工作没有及时保存&#xff0c;可能会导致数据的丢失和时间的浪费。这就是最让人烦躁的了&…

Pytorch 多卡并行(1)—— 原理简介和 DDP 并行实践

近年来&#xff0c;深度学习模型的规模越来越大&#xff0c;需要处理的数据也越来越多&#xff0c;单卡训练的显存空间和计算效率都越来越难以满足需求。因此&#xff0c;多卡并行训练成为了一个必要的解决方案本文主要介绍使用 Pytorch 的 DistributedDataParallel&#xff08…

Java开发分布式抽奖系统

Lottery 基于Springboot&#xff0c;Dubbo 等开发的分布式抽奖系统 1. 环境 配置 规范 2. 搭建(DDD RPC)架构 DDD&#xff08;Domain-Driven Design 领域驱动设计&#xff09;是由Eric Evans最先提出&#xff0c;目的是对软件所涉及到的领域进行建模&#xff0c;以应对系统…

阿里云轻量应用服务器为什么便宜?CPU性能差吗?

阿里云轻量应用服务器2核2G3M带宽优惠价108元一年&#xff0c;轻量应用服务器为什么便宜&#xff1f;是因为性能差吗&#xff1f;并不是&#xff0c;轻量应用服务器不限制CPU基准性能&#xff0c;轻量有月流量限制&#xff0c;轻量不支持指定CPU处理器&#xff0c;阿里云轻量2核…