Linux中防火墙的简单使用方法

news2024/11/20 10:38:25

目录

前言

一、概念

1、防火墙的分类:

2、防火墙性能

3、硬件防火墙的品牌、软件防火墙的品牌

4、硬件防火墙与软件防火墙比较

二、linux中的防火墙

1、iptables

2.netfilter/iptables功能

3、四表

iptables中表的优先级

4、五链

三、iptables

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

基本匹配使用选项及功能

隐式匹配选项及功能

multipor 多端口

iprang 多地址

time 指定访问时间范围

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

state 报文速率限制

制定iptables规则思路

iptables链管理方法

iptables规则管理

iptables规则显示

四、iptables应用


前言

防火墙的定义:

防火墙是一种网络安全设备或软件,用于监控和控制网络流量,以保护计算机网络免受未经授权的访问、恶意攻击和未经授权的数据传输。防火墙通过筛选网络流量并根据预定义的规则集来允许或阻止特定类型的通信。

防火墙可以在不同的网络层级上操作,包括网络层、传输层和应用层。它可以检测和阻止恶意流量,如网络攻击、病毒、恶意软件和未经授权的访问。防火墙还可以实施安全策略,例如限制特定IP地址或端口的访问,允许或阻止特定类型的网络服务或协议。

防火墙通常由硬件设备(如网络防火墙)或软件(如操作系统防火墙)实现。它们可以配置为允许特定类型的流量通过,而阻止其他类型的流量。防火墙可以是网络边界上的关键设备,也可以在内部网络中部署以提供额外的安全性。

总之,防火墙是保护计算机网络免受网络威胁和攻击的关键组件,它起到了过滤和控制网络流量的作用,确保网络的安全性和完整性。

一、概念

1、防火墙的分类:

防火墙可以根据其部署位置、功能和实现方式进行分类。以下是常见的防火墙分类:

1. 网络层防火墙(Network Layer Firewalls):这种防火墙工作在网络层(OSI模型的第三层),通常作为网络边界的第一道防线。它基于源IP地址、目标IP地址、端口号等网络层信息进行过滤和控制网络流量。

2. 应用层防火墙(Application Layer Firewalls):这种防火墙工作在应用层(OSI模型的第七层),能够深入理解应用协议和数据流,并根据具体应用的特征进行防护。它可以检测和阻止特定应用协议的非法或恶意行为。

3. 主机防火墙(Host-based Firewalls):这种防火墙运行在主机上,可以保护特定主机或服务器免受未经授权的访问和攻击。它可以监控特定主机上的进出流量,并基于规则集来处理该流量。

4. 无线防火墙(Wireless Firewalls):这种防火墙专门用于保护无线网络,可以检测和阻止未经授权的无线访问和攻击,确保无线网络的安全性。

5. 下一代防火墙(Next-Generation Firewalls):这种防火墙结合了传统防火墙的流量过滤和访问控制功能,以及先进的安全功能,如入侵检测和预防(IDS/IPS)、应用识别、URL过滤、恶意软件检测等。

此外,还可以根据实现方式将防火墙分为硬件防火墙和软件防火墙。硬件防火墙是一种独立的设备,通常作为网络边界的关键设备。软件防火墙是安装在服务器或主机上的软件程序,用于保护特定主机或服务器。

2、防火墙性能

防火墙的性能取决于多个因素,包括硬件设备的处理能力、软件算法的效率、流量规模和类型,以及所应用的安全策略等。以下是影响防火墙性能的一些关键因素:

1. 处理能力:防火墙设备的处理能力是决定其性能的关键因素之一。这包括处理器的速度、内存容量和网络接口的带宽等。较高的处理能力可以更快地处理和过滤网络流量。

2. 数据包处理速度:防火墙能够处理的数据包数量和速度也会影响其性能。高性能的防火墙可以在较短的时间内处理更多的数据包,提高网络的吞吐量。

3. 会话状态跟踪:防火墙通常会维护会话状态表来跟踪网络连接的状态。这对于检查流量是否是合法的、执行访问控制策略和实施网络地址转换等功能至关重要。有效的会话状态跟踪算法可以提高防火墙的性能。

4. 安全策略和规则集复杂度:防火墙的性能还取决于所使用的安全策略和规则集的复杂度。当规则集非常庞大或存在复杂的规则匹配条件时,防火墙可能需要更长的时间来处理流量。

5. 流量类型和规模:不同类型的网络流量和流量规模也会对防火墙的性能产生影响。例如,处理大量小数据包(如VoIP流量)可能需要更多的处理能力。

6. 安全功能和服务:如果防火墙还提供其他安全功能和服务,如入侵检测和预防系统(IDS/IPS)、虚拟专用网络(VPN)等,这些功能的开启可能会对防火墙的性能造成一定的影响。

请注意,以上因素是综合影响防火墙性能的一些关键因素,实际性能可能因具体的产品、配置和网络环境而有所不同。选择适合您网络需求的高性能防火墙,并进行合理的配置和优化,可以提供更好的网络安全保护和流量处理能力。

3、硬件防火墙的品牌、软件防火墙的品牌

硬件防火墙的品牌有 华为、 Cisco ASA, Fortinet FortiGate, Palo Alto Networks, Juniper Networks SRX 等。

软件防火墙的品牌有 Symantec Norton, McAfee, Check Point, Trend Micro, Kaspersky 等。

4、硬件防火墙与软件防火墙比较

硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。

软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用   于单机系统或个人计算机中,不直接用于计算机网络中。

二、linux中的防火墙

1、iptables

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

安全框架的名称为netfilter

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

2.netfilter/iptables功能

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

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

3、四表

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

iptables中表的优先级

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

4、五链

INPUT:处理入站数据包

OUTPUT:处理出站数据包

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

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

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

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

三、iptables

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

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

语法  iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

基本匹配使用选项及功能

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

隐式匹配选项及功能

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

显式匹配使用选项及功能

multipor 多端口

iptables  -I  INPUT  -d  192 .168.2.10  -p  tcp  -m  multiport  --dports  22 ,80  -j  ACCEPT # INPUT 链中开放本机 tcp  22 tcp80 端口 iptables  -I  OUTPUT  -s  192 .168.2.10  -p  tcp  -m  multiport  --sports  22 ,80  -j  ACCEPT # OUTPUT 链中开发源端口 tcp  22 tcp80

iprang 多地址

iptables -A INPUT -d 192.168.2.10 -p tcp --dport 23 -m iprange --src-range 192.168.2.11-192.168.2.21 -j ACCEPT

iptables  -A  OUTPUT  -s  192 .168.2.10  -p  tcp  --sport  23  -m  iprange  --dst-range 192 .168.2.11-192.168.2.21 -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 --time-stop 18:00:00 -j ACCEPT

iptables -A OUTPUT -s 192 .168.2.10 -p tcp --sport 901 -j  ACCEPT

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

--connlimit-upto n 连接数小于等于n时匹配

--connlimit-above  n  连接数大于 n 时匹配

state 报文速率限制

--state ESTABLISHED已建立的连接

--state NEW  新连接请求 --state INVALID  无法识别的连接 --state RELATED 该规则用于允许与已建立的连接相关联的其他连接通过防火墙 --state UNTRACKED  未追踪的连接

追踪本机上的请求和响应之间的数据报文的状态。状态有五种:INVALID, ESTABLISHED, NEW, RELATED, UNTRACKED

对于进入的状态为ESTABLISHED都应该放行;

对于出去的状态为ESTABLISHED都应该放行;

严格检查进入的状态为NEW的连接;

所有状态为INVALIED都应该拒绝;

 


制定iptables规则思路

  1. 选择一张表,此表决定了数据报文处理的功能
  2. 选择一条链,此链决定了数据报文流经哪些位置
  3. 选择合适的规则,此条件决定了对数据做何种条件匹配

选择处理数据报文的动作 拒绝还是允许

iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

动作

ACCEPT:允许通过防火墙的数据包,即接受该数据包,允许其进入或离开防火墙。

DROP:丢弃该数据包,不允许其通过防火墙,不给予响应。
REJECT:拒绝该数据包,并向发送方发送一个错误响应,告知数据包已被阻止。
LOG:记录该数据包的日志信息,但继续处理其他规则,可以用于跟踪和分析网络流量。
RETURN:从当前链中返回到调用链,继续处理后续规则。
REDIRECT:重定向数据包到指定的目标地址和端口。
SNAT(Source NAT):源地址转换,修改数据包的源 IP 地址,通常用于网络地址转换(NAT)。
DNAT(Destination NAT):目标地址转换,修改数据包的目标 IP 地址,通常用于端口转发或服务映射。

iptables链管理方法

-N, --new-chain chain:新建一个自定义的规则链;

-X, --delete-chain [chain]:删除用户自定义的引用计数为0的空链;

-F, --flush [chain]:清空指定的规则链上的规则;

-E, --rename-chain old-chain new-chain:重命名链;

-Z, --zero [chain [rulenum]]:置零计数器; 注意:每个规则都有两个计数器

packets:被本规则所匹配到的所有报文的个数; bytes:被本规则所匹配到的所有报文的大小之和;

-P, --policy chain target 制定链表的策略(ACCEPT|DROP|REJECT

iptables规则管理

-A, --append chain rule-specification:追加新规则于指定链的尾部;

-I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部

-R, --replace chain rulenum rule-specification:替换指定的规则为新的规则;

-D, --delete chain rulenum:根据规则编号删除规则;

-D, --delete chain rule-specification:根据规则本身删除规则

iptables规则显示

-L, --list [chain]:列出规则;

-v, --verbose:详细信息;

-vv 更详细的信息

-n, --numeric:数字格式显示主机地址和端口号;

-x, --exact:显示计数器的精确值,而非圆整后的数据;

--line-numbers:列出规则时,显示其在链上的相应的编号;

-S, --list-rules [chain]:显示指定链的所有规则;

 


四、iptables应用

centos7系统中默认存在iptables命令,此命令仅为简单查询及操作命令,不包含配置文件,安装iptables- services后,将直接生成配置文件,便于配置保存。包含ipv4ipv6

###安装、启动、设为开机自启
yum -y install iptables-services

systemctl start iptables.service

systemctl enable iptables

##保存规则

iptables-save > /etc/sysconfig/iptables

##重载规则
iptables-restore < /etc/sysconfig/iptables

iptables -h #查看帮助信息

#删除现有规则

iptables -F

##查看规则
iptables -nL     

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

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

相关文章

YOLO DNF辅助教程完结

课程完结&#xff01;撒花、撒花、撒花 课程完结&#xff01;撒花、撒花、撒花 课程完结&#xff01;撒花、撒花、撒花 ​呕心沥血三个月&#xff0c;《利用人工智能做DNF游戏辅助》系列实战课程已完结&#xff0c;技术路线贯穿串口通信、目标检测、opencv特征匹配等前沿技术…

计算机组装与维护实训室解决方案

一、产业背景 随着信息技术的不断发展&#xff0c;信息化已经深入到社会中各个层面&#xff0c;它能有效地帮助各个行业提高运营及管理效率&#xff0c;进而帮助企业成长。同时&#xff0c;作为企业信息化建设的基础部分&#xff0c;计算机已经融入了我们的生活&#xff0c;并逐…

【算法】一文带你从浅至深入门dp动态规划

文章目录 一、前言二、动态规划理论基础1、基本概念2、动态规划五部曲【✔】3、出错了如何排查&#xff1f; 三、实战演练&#x1f5e1;0x00 斐波那契数0x01 第N个泰波那契数0x02 爬楼梯0x03 三步问题0x04 使用最小花费爬楼梯⭐解法一解法二 0x05 解码方法* 四、总结与提炼 一、…

查看Android App包名,查看keystore的信息,导出公钥

查看Android App包名的三种方法 cmd中输入命令&#xff1a;adb shell am monitor 然后启动需要获取包名的应用cmd中输入命令&#xff1a;adb shell pm list packages -3 查看自己安装的app包名安卓系统中&#xff1a;设置——应用——正在运行 查看…

SQLI-labs-第七关

知识点&#xff1a;单引号&#xff08;&#xff09;加括号闭合错误的布尔盲注 思路&#xff1a; 寻找注入点 我们首先看一下正常的回显&#xff0c;并没有显示出什么明显的信息 输入?id1 发现报错 输入?id1 -- 还是报错&#xff0c;说明SQL语句的语法错误可能不是单引号闭合…

微信/QQ/TIM防撤回补丁

适用于 Windows 下 PC 版微信/QQ/TIM的防撤回补丁。支持最新版微信/QQ/TIM&#xff0c;其中微信能够选择安装多开功能。 下载地址&#xff1a; ⚡️点我下载最新版本 相关文档&#xff1a; ✔支持哪些版本 | ❓常见问题 | &#x1f4d6;查看完整文档 原理与方法&#xff1a; …

视频怎么转成漫画?分享些视频转漫画方法

在现代社会中&#xff0c;视频和漫画都是非常流行的媒介形式。而有时候&#xff0c;我们可能想将一些有趣的视频转化为漫画&#xff0c;以便在社交媒体上分享或进行其他用途。这篇文章将介绍几种视频转漫画的方法和注意事项。 使用转换工具 现在手机上有很多好用的工具&#x…

根据站点经纬度画全球分布图python

已知几个站点的经纬度,要求画出在全球的分布。 import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl import cartopy.crs as ccrs import cartopy.feature as cfeature from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter f…

Python练习分割字符串

str"itheima itcast boxuegu" # 统计字符串类有多少个“it”字符 count str.count("it") print(f"字符串类有{count}个“it”字符") # 将字符串内的空格全部替换为字符&#xff1a;“|” str_replace str.replace(" ", "|"…

正儿八经的雅思口语盘丝洞大法学习总结(长期修改更新)针对23.9月考生

目录 开篇语 李仙童口语大法 具体体系内容 说道科技产品或者说非传统物品 part2回答八大准则 【part2回答八大准则】&#xff08;一&#xff09; 【part2回答八大准则】&#xff08;二&#xff09; 【part3回答七大准则】&#xff08;一&#xff09; Part 1 核心体系 …

一文看懂Java的类加载机制

前言 当我们运行Java程序时&#xff0c;Java虚拟机&#xff08;JVM&#xff09;需要加载各种类文件&#xff0c;以执行程序中的代码。Java的类加载机制是Java语言的一个关键特性&#xff0c;它负责在运行时将类加载到内存中&#xff0c;并确保类的正确性。 类是在运行期间第一…

算法竞赛入门【码蹄集新手村600题】(MT1260-1280)C语言

算法竞赛入门【码蹄集新手村600题】(MT1260-1280&#xff09;C语言 目录MT1260 袋鼠躲猫猫MT1261 留下来的才是幸运数MT1262 约数MT1263 最大的三位约数MT1264 完数MT1265 区间完数MT1266 完数与因子MT1267 亏数MT1268 因数的因数MT1269 区间素数MT1270 素数计算MT1271 三生质数…

开开心心带你学习MySQL数据库之节尾篇

Java的JDBC编程 各种数据库,MySQL, Oracle, SQL Server在开发的时候,就会提供一组编程接口(API) API ~~ Application Programming Interface ~~ 应用程序编程接口 计算机领域里面的一个非常常见的概念, 给你个软件,你能对他干啥(从代码层次上的) 基于它提供的这些功能,就可以写…

Python 图形化界面基础篇:创建你的第一个 Tkinter 窗口

Python 图形化界面基础篇&#xff1a;创建你的第一个 Tkinter 窗口 引言准备工作步骤1&#xff1a;导入 Tkinter 模块步骤2&#xff1a;创建主窗口步骤3&#xff1a;设置窗口标题步骤4&#xff1a;启动主事件循环 完整的示例代码代码解释结论 引言 欢迎来到 Python 图形化界面…

台积电、博通、英特尔等巨头积极进军硅光子技术领域 | 百能云芯

据传&#xff0c;台积电与博通、英伟达等大客户密切合作&#xff0c;共同致力于新一代超高速运算芯片的开发&#xff0c;预计明年下半年将开始迎来大规模订单。为此&#xff0c;台积电已投入逾200名研发人员&#xff0c;成立专门的先遣研发团队&#xff0c;以抓住基于硅光子制程…

windows环境下node安装教程(超详细)

安装node.js 1、下载node: 下载地址&#xff1a;下载 | Node.js 中文网 node.js的zip包安装时是直接解压缩后就可以了, node.js的msi包是傻瓜式一路next就可以了 选择一中方式就可以 2、解压后的目录,或者mis安装后的目录如下: 3、安装完后&#xff0c;可以在命令行中输入…

电池的健康状态 SOH 估计

电池的健康状态 SOH 估计 SOH&#xff08;State of Health&#xff09;估计通常用于描述电池的健康状态&#xff0c;即电池当前容量与初始容量的比值。 一种常见的SOH估计方法是基于经验的电池寿命预测方法&#xff0c;包括循环周期数法、安时法与加权安时法、面向事件的老化…

华为云云服务器云耀L实例评测 | 从零到一:华为云云耀云服务器L实例上手体验

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

学习记忆——记忆宫殿——编码——数字编码——数字声母

https://www.bilibili.com/video/BV1gb411x7ic?p7&vd_source5021bbafad5e5afcf1984c99432f8353 0—D&#xff1a;0象形D。 1—y&#xff1a;1的发音首字母是y。 2—Z&#xff1a;象形。 3—S&#xff1a;3的手音首字母是S。 4—h&#xff1a;倒象形。 5—w&#xff1a;5的…