Linux防火墙管理

计算机防火墙用于保护内部网络,主机和网络安全,有硬件防火墙和软件防火墙两种,软件主要是用对数据包进行分析过滤来保证软件层面安全。

此外还有根据对数据封包形式确定的分类方法,
如代理服务器,类似网关的形式监控整个区域流量,
和封包过滤机制,直接分析最底层的封包表头数据来进行过滤。

针对如REHL和centos这些红帽类Linux操作系统,我们常用的防火墙主要有iptables和firewalld两种,
IP tables是用规则表和规则链控制数据包的流向并进行处理
firewalld则是采用区域和服务的概念来管理防火墙规则。

但上述二者都只是防火墙的管理工具,并非防火墙本身,防火墙的具体功能是由内核中的netfilter网络过滤器实现。

IPtables

iptables过滤数据包的方式:
允许/拒绝让 Internet 的封包进入 Linux 主机的某些 port
允许/拒绝让某些来源 IP 的封包进入
允许/拒绝让带有某些特殊标志( flag )的封包进入
分析硬件地址(MAC)来提供服务

五链

具体的处理策略为规则,多个规则合成一条链,根据处理数据包的位置不同分为不同的链,
在路由判断前的规则prerouting
进入路由的规则input
出路由的规则output
转发规则forward
路由判断后进行的规则postrouting
数据进入系统在链上的流动

四表

规则表用于容纳链,表允许则链禁止,表设置如下:
raw表,确定是否对该数据包进行状态跟踪
mangle表,为数据包设置标记(较少使用)
filter确定是否放行该数据包(过滤)
nat修改数据包中的源、目标IP地址或端口
表和链的对应关系
规则表的先后顺序:raw->mangle->nat->filter

规则链的先后顺序:
入站顺序
PREROUTING→INPUT
出站顺序
OUTPUT→POSTROUTING
转发顺序
PREROUTING→FORWARD→POSTROUTING

一个包可能经过多个表的同一条链,在不同事件触发相同动作的链
数据包在表内流动过程

基本选项和用法

iptables参数和作用如下表:

-P	设置默认策略:iptables -P INPUT (DROP\	ACCEPT)类似于黑白名单
-F	清空规则链
-A:添加规则,跟要添加规则的链
-I num	在规则链的头部加入新规则
-D num	删除某一条规则
-s	匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
-d	匹配目标地址
-i 网卡名称	匹配从这块网卡流入的数据
-o 网卡名称	匹配从这块网卡流出的数据
-p	匹配协议,如tcp,udp,icmp
--dports num	匹配目标端口号
--sports num	匹配来源端口号

-L	查看规则链
	-n    不进行IP与主机名的反查,显示信息的速度会快很多
	-v    列出更多的信息,包括封包数,相关网络接口等
	--line-numbers 显示规则的序号
-t 	table指定表
	raw
	mangle
	nat
	filter 默认
-j:设置处理策略
	accept:接受
	drop:丢弃
	reject:拒绝
-s:指定数据包的来源地址
-p:指定数据包协议类型
	tcp
	udp
	icmp

通用手段为iptables 匹配 处理动作
匹配条件:

基本匹配条件:sip、dip
扩展匹配条件:sport、dport
扩展条件也是条件的一部分,只不过使用的时候需要用-m参数声明对应的模块

处理动作

accept:接受
drop:丢弃
reject:拒绝
snat:源地址转换,解决内网用户同一个公网地址上上网的问题
masquerade:是snat的一种特殊形式,使用动态的、临时会变的ip上
dnat:目标地址转换
redirect:在本机作端口映射
log:记录日志,/var/log/messages文件记录日志信息,然后将数据包传递给下一条规则

自定义规则链

可以通过自定义链实现规则分组重复调用的目的,使用-N 新链名添加链,-E 旧链名 新链名修改链名称,通过-A 链名 规则的方式给自定义链添加规则,因为数据包指挥经过五个系统链,所以自定义的链需要关联到表中才能使用,iptables -t 表名-A 链名 -s 源地址 -j 新链名将新的链关联到系统链上,示例如下:

iptables -t filter -N web_chain  # 添加名为web_chain的自定义规则链
iptables -t filter -A web_chain -p tcp -m multiport --dports 80,443 -j ACCEPT  # 创建的自定义链中添加规则,开放80端口上的服务
iptables -t filter -A INPUT -s 192.168.88.1 -j web_chain # 只允许指定IP访问,其他的拒绝

删除自定义规则链,首先要清空链上的规则iptables -t 表名 -F 链名,再使用iptables -t 表明 -X 链名删除自定义链。

其他用法——模块

使用模块可以极大拓展iptables的功能,对数据报的各种内容加以限制和筛选,常用示例如下:

tcp/udp
--dport:指定目的端口
--sport:指定源端口

iprange
--src-range
--dst-range

string
--algo:指定匹配算法,可以是bm/kmp
	bm:Boyer-Moore
	kmp:Knuth-Pratt-Morris
--string:指定需要匹配的字符串
--from offset:开始偏移
--to offset:结束偏移

time:指定匹配报文的时间
--timestart
--timestop
--weekdays
--monthdays
--datestart
--datestop

connlimit:限制每个ip连接到server端的数量,不需要指定ip默认就是针对每个ip地址,可防止Dos(Denial of Service,拒绝服务)攻击
--connlimit-above:最大连接数

limit:对报文到达的速率继续限制,限制包数量
10/second
10/minute
10/hour
10/day
--limit-burst:空闲时可放行的包数量,默认为5,前多少个包不限制

规则持久化

命令行中执行的规则在重启后消失,要使规则永久生效需要写入到规则文件中,使用 iptables-save > /etc/sysconfig/iptables-config保存到文件中,再使用iptables-restore < /etc/sysconfig/iptables-config从文件中导入规则,也可以yum -y install iptables-services下载服务,让其帮助我们自动管理iptables服务。

禁止访问特定网站

为防止iptables和firewalld冲突,在此处先使用systemctl stop firewalld禁用firewalld,
为了展示限制外来流量访问,我们安装yum install -y epel-release安装扩展源和yum install -y nginx安装web服务器nginx,然后通过systemctl start nginx启动web服务器,此时通过浏览器打开自己的IP地址,会有如下的特定界面
自身地址
此时增加iptables -A INPUT -p tcp --dport 80 -j DROPINPUT链上的策略,丢弃掉来自80端口tcp协议的请求报文,再访问网站就无法进入。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mcgs 屏幕Modbus RTU通讯调试

目录 1. 设备窗口1.1 添加设备构件1.2 设备配置1.2.1 通用串口父设备配置1.2.2 设备0--ModbusRTU配置2. 设计用户窗口2.1 关联设备通道与实时数据库2.3 用户窗口3. 通信测试本文想要实现通过Modbus协议与Mcgs屏幕进行通信收发数据。在使用Mcgs屏幕进行Modbus通信时,一般Mcgs屏…

如何完美解决 sun.security.validator.ValidatorException: PKIX path building failed

如何完美解决 sun.security.validator.ValidatorException: PKIX path building failed 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的…

一种改进盲解卷积算法在旋转机械故障诊断中的应用(MATLAB)

滚动轴承故障形成后&#xff0c;故障区与其他零部件表面接触将产生循环平稳的瞬态脉冲。由于受到系统传递函数、轴转频和环境噪声的干扰&#xff0c;故障脉冲特征受到大幅衰减&#xff0c;在测得信号中表现十分微弱甚至完全不可见。盲解卷积算法通过搜索一个最优的有限脉冲响应…

“面向绿色流域构建的生态处理技术创新与实践论坛”在成都召开

由中华环保联合会、福州大学、上海大学联合主办&#xff0c;中华环保联合会水环境治理专业委员会、福建省环境功能材料先进技术工程研究中心、上海大学环境与化学工程学院承办的“2024全国水科技大会暨技术装备成果展览会”于5月14日在成都世纪城国际会议中心隆重开幕。 期间&a…

Python 中 Selenium 的 send_keys() 函数

我们将介绍 Selenium Python 中的 send_keys() 函数并演示其用法。 任何应用程序在进入市场之前都需要经过一些测试。 应用程序应首先满足与其名称相关的所有要求。 我们应该全面测试应用程序&#xff0c;因为没有人能够预测给予应用程序的确切输入。 Python Selenium 可以帮…

新书速览|Autodesk Inventor 2024入门与案例实战:视频教学版

《Autodesk Inventor 2024入门与案例实战&#xff1a;视频教学版》 本书内容 《Autodesk Inventor 2024入门与案例实战&#xff1a;视频教学版》以Autodesk Inventor 2024为平台&#xff0c;重点介绍Autodesk Inventor 2024中文版的各种操作方法及其在工程设计领域的应用。《Au…

企业光纤专线和家用的区别

企业光纤专线与家用宽带之间的主要区别在于服务对象、技术特性、性能、成本以及服务等级。以下是一些关键差异&#xff1a; 服务对象&#xff1a; 企业光纤专线&#xff1a;专门为企业用户设计&#xff0c;通常需要提供营业执照作为申请条件&#xff0c;适用于需要稳定、高速和…

计算机组成原理之运算方法和运算器

文章目录 数据与文字的表示方法定点表示法机器码&#xff08;机器数&#xff09;原码 反码补码移码 浮点表示法尾数规格化 数据与文字的表示方法 定点表示法 机器码&#xff08;机器数&#xff09; 正数的原码、反码、补码一样&#xff0c;负数的原码、反码、补码的符号位均为…

Surface安装Windows和Ubuntu双系统方法(包括Ubuntu适配触控屏的方法)

这是一个目录0.0 前言让我们从一块砖头开始现在你有了能进入windows系统的surface并且想安装Ubuntu现在Ubuntu也有了再见 前言 之前我的Surface装上Ubuntu了好好的&#xff0c;能用&#xff0c;但是Ubuntu原本的内核是不支持很多Surface的功能的&#xff0c;比如触控屏&#xf…

SpringCloudAlibaba组件集成

SpringCloudAlibaba组件集成 Nacos服务注册与发现 1.Nacos认识与安装 1.1.什么是Nacos Nacos和Eureka有着相同的能力&#xff0c;甚至更为强大&#xff0c;作为Dubbo 生态系统中重要的注册中心实现。官方对它有如下定义&#xff1a; Nacos致力于帮助您发现&#xff0c;配置…

AI产品经理还不会数据挖掘❓看完这篇就够了

前言 在数字化时代的浪潮中&#xff0c;AI产品经理正成为推动科技与商业融合的重要力量。然而&#xff0c;面对海量的数据&#xff0c;如何从中挖掘出有价值的信息&#xff0c;为AI产品的开发提供有力支持&#xff1f;这已成为AI产品经理必须面对的挑战。今天&#xff0c;我们…

文心一言 VS 讯飞星火 VS chatgpt (279)-- 算法导论20.3 6题

六、创建一个全域大小为 u 的 vEB 树&#xff0c;需要 O(u) 的运行时间。假设我们想得到确切时间。如果 vEB 树中每个操作的摊还时间为 〇(lglgu)&#xff0c;那么最小的操作数 n 是多少&#xff1f;如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 首先&#xf…

iOS、Android、PC 、NAS、docker最近值得下载的5个工具

iOS & Android 1、timeto.me&#xff1a;在线时间管理与 productivity 工具 帮助用户提高工作效率&#xff0c;特别是对于需要跟踪任务耗时或是想要实施番茄工作法的人来说非常有用。该工具通常允许用户创建任务列表&#xff0c;并使用计时器来监控完成每个任务所花费的时…

MT2096 数列分段

代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N 1e5 10; int n, m; int a[N]; int ans 1; int main() {cin >> n >> m;for (int i 1; i < n; i)cin >> a[i];int num 0;for (int i 1; i < n; i){if (num a[i…

css实现多行文本的展开收起

背景 在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景&#xff1a; 那么&#xff0c;如何通过纯css实现这样的效果呢&#xff1f; 实现的难点 &#xff08;1&#xff09;位于多行文本右下角的 展开收起按钮。 &#xff08;2&#xff09;展开和收起两种状态的…

第二证券:美国大消息!苹果涨疯了,市值暴增1.56万亿!

一则重磅利好引爆苹果股价。 隔夜美股&#xff0c;苹果公司股价暴升&#xff0c;大幅收涨7.26%&#xff0c;创2022年11月10日以来最大涨幅&#xff0c;股价创出历史收盘新高&#xff0c;市值已反超英伟达。到收盘&#xff0c;苹果总市值升至3.18万亿美元&#xff08;约合人民币…

【ARM】MDK如何进入\退出debug模式时断点不会消失

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 在对于工程进行调试的情况下&#xff0c;退出debug模式后再次进入&#xff0c;之前设置的断点不会消失。 2、 问题场景 在对于工程进行调试的时候&#xff0c;通常是通过设置断点的方式对于语句进行检测&#xff0…

Vue + Asp.NET调试时出现的证书问题 (OpenSSL)

Vue Asp.NET调试时出现的证书问题 1. 证书过期问题步骤一:创建新的私钥步骤 2: 创建新的证书签名请求&#xff08;CSR&#xff09;步骤 3: 使用 CSR 和 CA 私钥签署新证书步骤 4: 替换或使用新证书 2. 证书不受信任问题步骤: 3. 安全证书不指定使用者可选名称步骤一: 删除已生…

Java多线程CompletableFuture使用

引言 一个接口可能需要调用N个其他服务的接口&#xff0c;这在项目开发中非常常见。如果是串行执行的话&#xff0c;接口的响应速度会很慢。考虑到这些接口之间有大部分都是无前后顺序关联的&#xff0c;可以并行执行。就比如说调用获取商品详情的时候&#xff0c;可以同时调用…