Linux 防火墙

news2025/1/21 1:02:40

目录

安全技术

防火墙的分类

按保护范围划分

按实现方式划分

按网络协议划分

应用层防火墙(7层)

防火墙的工作原理

linux防火墙的基本认识

防火墙工具介绍

1.iptables

2.firewalld

3.nftables


安全技术

—— 入侵检测系统(Intrusion Detection Systems)

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

—— 入侵防御系统(Intrusion Prevention System)

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

—— 防火墙( FireWall )

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

防火墙的分类

按保护范围划分

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

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

按实现方式划分

硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现

软件防火墙:运行于通用硬件平台之上的防火墙的应用软件

按网络协议划分

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

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

应用层防火墙(7层)

应用层防火墙/代理服务型防火墙,也称为代理服务器(Proxy Server)

将所有跨越防火墙的网络通信链路分为两段

内外网用户的访问都是通过代理服务器上的“链接”来实现优点:在应用层对数据进行检查,比较安全

缺点:增加防火墙的负载

正向代理:也就是翻墙,代理的是客户端

可以绕开防火墙限制,加快访问速度

反向代理:代理的是服务器

负载均衡(lvs,haproxy,nginx)

防火墙的工作原理

接收数据包

数据包为:mac头部 ip头部 协议/端口 7层协议(http) 真实数据 校验位

过程:

收包>拆包>检查(没问题)>装包

收包>拆包>检查(有问题)>隔离或者丢弃

4层原理:传输层 通过协议,端口号,ip,mac控制流量

7层原理:应用层,控制真实数据,协议(7层协议:http,dns等),端口号,mac地址,ip地址

linux防火墙的基本认识

—— Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中

—— Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统;Netfilter采用模块化设计,具有良好的可扩充性,提供扩展各种网络服务的结构化底层框架;Netfilter与IP协议栈是无缝契合,并允许对数据报进行过滤、地址转换、处理等操作

防火墙工具介绍

1.iptables

由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包

2.firewalld

从CentOS 7 版开始引入了新的前端管理工具

软件包:

firewalld

firewalld-config

管理工具:

firewall-cmd 命令行工具

firewall-config 图形工作

3.nftables

五个勾子函数和报文流向

Netfilter在内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、

PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规则

由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上提示:从 Linux kernel 4.2 版以后,Netfilter 在prerouting 前加了一个 ingress 勾子函数。可以使用这个新的入口挂钩来过滤来自第2层的流量,这个新挂钩比预路由要早,基本上是 tc 命令(流量控制工具)的替代品

内核中数据包的传输过程

—— 当一个数据包进入网卡时,数据包首先进入 PREROUTING链,内核根据数据包目的 IP判断是否需要传送出去

—— 如果数据包是进入本机的,数据包就会沿着图向下移动,到达 INPUT链,数据包到达 INPUT链之后,任何进程都会收到它,本机上运行的程序可以发送数据包,这些数据包经过 OUTPUT链,然后到达 —— 如果数据包是要转发出去的,且内核允许转发,数据包就会向右移动,经过 FORWARD链,然后到达 POSTROUTING链输出

四表五链

四表
  • raw表 :确定是否对该数据包进行状态跟踪

  • mangle表 :为数据包设置标记

  • nat表 :修改数据包中的源,目标IP地址或端口

  • filter表 :确定是否方向该数据包

五链
  • pre_routing :路由选择前

  • post_routing :路由选择后

  • input :进入本机

  • output :出本机

  • forward :转发

iptables 命令

基本语法
iptables -t 指定表 子命令 指定链 规制
//例
iptables -t filter -A INPUT -s 192.168.88.40 -j DROP
选项
iptables作用
-A在指定链末尾追加一条
-I在指定链插入一条新的
-P指定默认规则
-D删除
-R修改,替换某一条规则
-F清除链中所有规则
-N新加自定义链
-X清空自定义链的规则,不影响其他链
-Z清空链的计数器
-S看链的所有规则
规则选项
规则选项作用
-s源地址
-d目的地址
-ptcp 、udp 、icmp协议
-i进口网卡
-o出口网卡
--sport源端口
--dport目标端口
跳转选项
跳转选项作用
DPOR丢弃
REJECT拒绝
ACCEPT允许

命令举例

查看规则表
iptables -vnL        #查看规则表 v详细 n数字化 L(大写)防火墙列表

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

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

相关文章

分享84个节日PPT,总有一款适合您

分享84个节日PPT,总有一款适合您 84个节日PPT下载链接:https://pan.baidu.com/s/1TSIGR8ZIytnTKmQRa0rGnw?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易…

Shell条件变量

1.算数运算命令有哪几种? 2.定义变量urlhttps://blog.csdn.net/weixin_45029822/article/details/103568815 1)截取网站访问的协议 grep -o命令用于仅显示匹配的文本,而不是整行文本。它将只输出匹配的文本,而不是整行文本 ${url…

【每日一题】1423. 可获得的最大点数-2023.12.3

题目: 1423. 可获得的最大点数 几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。 你的点数就是你拿到手中的所有…

Python办公自动化【Word设置文字样式、Word设置段落样式、Word生成通知书、Word读取内容】(五)-全面详解(学习总结---从入门到深化)

目录 Word设置文字样式 Word设置段落样式 Word生成通知书 Word读取内容 Word设置文字样式 常用方法与属性 函数名&属性含义docx.shared.Inches() 创建大小(英寸)docx.shared.Pt() 创建大小(像素)docx.shared.RGBColor() 创建颜色docx.text.run.Run.font.bold文字加粗…

Tensorflow的日志log记录

if OUTPUT_GRAPH:tf.summary.FileWriter("logs/", sess.graph)自动创建文件夹log

半导体封装之倒装封装 (Flip Chip)

倒装封装 (Flipchip)是相对于引线键合(Wire Bonding)来说的,之所以叫做倒装,是因为flip chip是正面朝下放置。倒装芯片技术是通过芯片上的凸点直接将元器件朝下互连到基板、载体或者电路板上。引线键合的连接方式是将芯片的正面朝…

AtCoder Beginner Contest 331 题解 A-E

目录 A - TomorrowB - Buy One Carton of MilkC - Sum of Numbers Greater Than MeD - Tile PatternE - Set Meal A - Tomorrow 原题链接 题目描述 已知一年有M个月D天,求出第y年m月d天的后一天是哪一天。 思路:分类讨论 分别讨论m和d的是否是最后一个月…

SpringSecurity工作原理

实现功能就是继承这几个对应功能的类。 大概工作流程 Spring Security 的过滤器(Filters)和拦截器(Interceptors)是 Spring Security 框架中用于保护 web 应用安全的重要组件。它们在处理 HTTP 请求时扮演不同的角色&#xff0c…

Wireshark抓包分析RTMP协议时,出现Unknown问题

进行rtmp推流时,使用wireshark抓包,发现部分包显示Unknown 解决方法: 编辑 -> 首选项 -> Protocols -> RTMPT,这里Maximum packet size默认是32768 将该值调大,比如调成1048576,即可解决该问题。…

GitHub Actions 之自动化发布 Maven 项目

开发开源数据中台项目 datacap 时,之前发布版本都是通过在本地编译并部署到 maven 中央仓库中,这样就导致是非自动化工程,于是通过搜索发现 samuelmeuli/action-maven-publish 这个 github 自动化工具可以帮助我们来做这些事情,本…

第 374 场 LeetCode 周赛题解

A 找出峰值 枚举 class Solution { public:vector<int> findPeaks(vector<int> &mountain) {int n mountain.size();vector<int> res;for (int i 1; i < n - 1; i)if (mountain[i] > mountain[i - 1] && mountain[i] > mountain[i 1…

基于搜索协议实现工业设备升级

目录 1、背景引入 2、技术分析 3、过程概述 4、服务器端流程 5、客户端流程 6、效果展示 7、源码 7.1 master&#xff08;主控&#xff09; 7.2 device&#xff08;设备&#xff09; 8、注意事项 1、背景引入 在工业生产中&#xff0c;设备的升级和维护是非常重要的…

JavaScript学习-1

01 基础用法 //index.html <body><!-- 行内JS --><button type"button" onclick"alert(hello)">按钮</button><!--内部JS--><script type"text/javascript">alert("你好");</script><…

Unity C++交互

一、设置Dll输出。 两种方式&#xff1a; 第一&#xff1a;直接创建动态链接库工程第二&#xff1a;创建的是可执行程序&#xff0c;在visual studio&#xff0c;右键项目->属性(由exe改成dll) 二、生成Dll 根据选项Release或Debug&#xff0c;运行完上面的生成解决方案后…

计网Lesson6 - IP 地址分类管理

文章目录 1. I P IP IP 地址定义2. I P v 4 IPv4 IPv4 的表示方法2.1 I P v 4 IPv4 IPv4 的分类编址法2.2 I P v 4 IPv4 IPv4 的划分子网法2.2.1 如何划分子网2.2.2 如何确定子网的借位数2.2.3 总结2.2.4 题目练习 2.3 I P v 4 IPv4 IPv4 的无分类编址法 1. I P IP IP 地…

kafka3.6.0部署

部署zk https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1.tar.gz tar -xf apache-zookeeper-3.9.1.tar.gz -C /apps cd /apps/ && ln -s apache-zookeeper-3.9.1 zookeeper 修改配置bash grep -vE ^$|^# conf/zo…

代码随想录算法训练营第四十一天 _ 动态规划_343. 整数拆分、96.不同的二叉搜索树、01背包问题。

学习目标&#xff1a; 动态规划五部曲&#xff1a; ① 确定dp[i]的含义 ② 求递推公式 ③ dp数组如何初始化 ④ 确定遍历顺序 ⑤ 打印递归数组 ---- 调试 引用自代码随想录&#xff01; 60天训练营打卡计划&#xff01; 学习内容&#xff1a; 343. 整数拆分 动态规划五步曲&…

【接口测试】Apifox实用技巧干货分享

前言 不知道有多少人和我有着这样相似的经历&#xff1a;从写程序只要不报错就不测试&#x1f60a;&#xff0c;到写了程序若是有bug就debug甚至写单元测试&#xff0c;然后到了真实开发场景&#xff0c;大哥和你说&#xff0c;你负责的功能模块的所有接口写完要测试一遍无误在…

python——进程常用功能

Python的multiprocessing模块提供了强大的并行处理能力&#xff0c;以下是几个功能的详细解释&#xff1a; join(): 在multiprocessing中&#xff0c;join方法用于阻塞主进程直到指定的进程终止。这对于确保所有子进程在程序结束前完成其工作是很有用的。deamon(): 在multipro…

16.字符串处理函数——字符串长度函数

文章目录 前言一、题目描述 二、解题 程序运行代码 总结 前言 本系列为字符串处理函数编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 二、解题 程序运行代码 #include<stdio.h> #include<string.h> int main() {char str[ ]"0123\0456…