Linux安全防护三件套:Swap、防火墙、SELinux
文章目录Linux安全防护三件套Swap、防火墙、SELinux前言一、Swap交换空间管理1.1 计算机存储层次结构1.2 Swap的作用1.3 Swap大小参考1.4 查看内存1.5 创建和使用Swap二、Firewalld防火墙2.1 防火墙概述2.2 静态防火墙 vs 动态防火墙2.3 Firewalld区域zone2.4 Firewalld配置模式2.5 firewall-cmd常用命令2.6 富规则Rich Rules2.7 panic模式2.8 综合案例三、SELinux安全增强3.1 什么是SELinux3.2 SELinux上下文3.3 SELinux三种模式写在最后查看当前区域规则SELinuxLinux安全防护三件套Swap、防火墙、SELinux内存不够用网络被攻击系统被入侵一文搞定Swap配置、Firewalld防火墙和SELinux加固前言今天的课程是Linux安全与资源管理的核心内容涵盖三个关键模块Swap交换空间——内存不够时用磁盘“顶一顶”理解计算机存储层次结构Firewalld防火墙——控制哪些流量能进出你的服务器网络防护第一道防线SELinux安全增强——即使进程被攻破也能保护用户数据不被窃取一、Swap交换空间管理1.1 计算机存储层次结构计算机中各种存储器组成层状塔式结构取长补短协调工作寄存器 → 最快、最小、最贵CPU内部 CPU Cache → 极快、小SRAM 主存(内存) → 快、中等DRAM 辅助存储 → 慢、大、持久化磁盘/U盘内存带宽计算带宽 频率 × 位宽 / 81.2 Swap的作用Swap是受Linux内核控制的磁盘区域有三个核心功能扩展内存物理内存不足时将不活跃数据暂存磁盘页面交换需要访问磁盘上的页面时交换到内存Hibernate支持休眠时保存RAM内容到Swap⚠️ Swap只是临时方案比物理内存慢得多根本解决是加大物理内存。1.3 Swap大小参考物理内存交换空间允许Hibernate时≤2GB2×RAM3×RAM2-8GB1×RAM2×RAM8-64GB≥4GB1.5×RAM≥64GB≥4GB不建议1.4 查看内存[rootcentos7 ~]free-mtotal usedfreeshared buff/cache available Mem:393133035291213616683485Swap:4063040631.5 创建和使用Swap# 1. 创建分区并设为swap类型[rootcentos7 ~]parted/dev/sdb mklabel gpt[rootcentos7 ~]parted/dev/sdb unit MiB mkpart swap01 linux-swap12049# 2. 格式化swap[rootcentos7 ~]mkswap/dev/sdb1 Setting up swapspace version1, size2097148KiBUUID2bf4e179-3648-4412-9495-3b278df4acd6# 3. 激活swap[rootcentos7 ~]swapon/dev/sdb1# 4. 查看swap设备[rootcentos7 ~]swapon-sFilename Type Size Used Priority /dev/dm-1 partition40632280-2/dev/sdb1 partition20971480-3# 5. 设置优先级数字越大越优先使用[rootcentos7 ~]swapon-p4/dev/sdb1# 6. 停用swap[rootcentos7 ~]swapoff /dev/sdb1# 7. 持久化/etc/fstabUUID2bf4e179-3648-4412-9495-3b278df4acd6 swap swappri400# 8. 激活所有swap[rootcentos7 ~]swapon-a二、Firewalld防火墙2.1 防火墙概述防火墙工作在网络或主机边缘对进出数据包基于规则进行过滤。按实现方式分为硬件防火墙和软件防火墙按网络协议分为网络层防火墙和应用层防火墙。Netfilter子系统是Linux内核的网络过滤子系统用户通过不同工具配置规则工具作用iptables过滤IPv4数据包ip6tables过滤IPv6数据包arptables过滤ARP协议ebtables过滤数据链路层Firewalld是Red Hat开发的动态防火墙CentOS 7起替代iptables成为默认底层仍调用iptables/nftables干活。2.2 静态防火墙 vs 动态防火墙对比项静态防火墙iptables动态防火墙firewalld规则加载修改一条也重新加载全部只更新变更部分连接影响会导致网络连接中断不中断现有连接配置方式service iptables reloadfirewall-cmd --reload2.3 Firewalld区域zonefirewalld将所有网络流量分为多个区域每个区域是一套过滤规则集区域特性trusted允许所有传入流量public仅允许ssh/dhcpv6-client默认区域home/work/internal允许ssh/mdns/samba-client/dhcpv6-clientdmz/external仅允许sshblock拒绝所有传入流量drop丢弃所有传入流量无响应数据包匹配区域优先级源地址匹配 → 应用该区域规则传入接口匹配 → 应用关联区域规则以上都不匹配 → 默认区域2.4 Firewalld配置模式模式选项特点运行时runtime默认立即生效重启丢失永久permanent--permanent写入配置文件需reload生效建议修改防火墙时写两条命令——一条带--permanent永久保存一条不带立即生效。2.5 firewall-cmd常用命令zone管理# 查看zone[rootcentos7 ~]firewall-cmd --get-zones[rootcentos7 ~]firewall-cmd --get-default-zone[rootcentos7 ~]firewall-cmd --get-active-zones# 设置默认zone[rootcentos7 ~]firewall-cmd --set-default-zonetrusted# 查看所有zone规则[rootcentos7 ~]firewall-cmd --list-all-zones[rootcentos7 ~]firewall-cmd --list-all# 查看默认zone[rootcentos7 ~]firewall-cmd --list-all--zonehome# 查看特定zone服务管理[rootcentos7 ~]firewall-cmd --get-services# 查看预定义服务[rootcentos7 ~]firewall-cmd --add-servicehttp# 放行http服务[rootcentos7 ~]firewall-cmd --list-services# 查看已放行服务[rootcentos7 ~]firewall-cmd --query-servicehttp# 检查是否放行[rootcentos7 ~]firewall-cmd --remove-servicehttp# 删除放行端口管理[rootcentos7 ~]firewall-cmd --add-port5900/tcp[rootcentos7 ~]firewall-cmd --list-ports[rootcentos7 ~]firewall-cmd --query-port5900/tcp[rootcentos7 ~]firewall-cmd --remove-port5900/tcp伪装SNAT# 开启伪装让内网机器通过本机访问公网[rootserver ~]firewall-cmd --add-masquerade[rootserver ~]firewall-cmd --query-masquerade[rootserver ~]firewall-cmd --remove-masquerade端口转发DNAT# 访问本机8000 → 本机80[rootcentos7 ~]firewall-cmd --add-forward-portport8000:prototcp:toport80# 访问本机1022 → 10.1.1.11:22[rootcentos7 ~]firewall-cmd --add-forward-portport1022:prototcp:toport22:toaddr10.1.1.11# 查看/删除[rootcentos7 ~]firewall-cmd --list-forward-ports[rootcentos7 ~]firewall-cmd --remove-forward-portport8000:prototcp:toport80⚠️ 端口转发前需确保对应zone已启用masquerade。禁止ping# 方法一禁止特定ICMP类型[rootcentos7 ~]firewall-cmd --add-icmp-block echo-request[rootcentos7 ~]firewall-cmd --list-icmp-blocks# 方法二富规则[rootcentos7 ~]firewall-cmd --add-rich-rulerule protocol valueicmp drop2.6 富规则Rich Rules富规则可灵活实现允许特定IP访问某服务、配置日志审计、限速等。常用语法rule[source][destination]service|port|protocol[log][audit][accept|reject|drop]示例1禁止所有主机ping本机[rootcentos7 ~]firewall-cmd --add-rich-rulerule protocol valueicmp drop示例2只允许10.1.8.10 ping本机# 方法禁止所有再单独允许[rootcentos7 ~]firewall-cmd--permanent--add-icmp-block-inversion[rootcentos7 ~]firewall-cmd--permanent--add-rich-rulerule familyipv4 source address10.1.8.10 icmp-type nameecho-request accept[rootcentos7 ~]firewall-cmd --complete-reload示例3限制特定IP访问HTTP的频率[rootcentos7 ~]firewall-cmd --add-rich-rulerule familyipv4 source address10.1.8.0/24 service namehttp log prefixhttp-error levelerror limit value2/s accept limit value3/s2.7 panic模式# 紧急切断所有网络被攻击时使用[rootcentos7 ~]firewall-cmd --panic-on[rootcentos7 ~]firewall-cmd --query-panic[rootcentos7 ~]firewall-cmd --panic-off2.8 综合案例案例1禁止10.1.8.10主机ping本机[rootcentos7 ~]firewall-cmd--permanent--add-rich-rulerule familyipv4 source address10.1.8.10 icmp-type nameecho-request reject[rootcentos7 ~]firewall-cmd --complete-reload案例2只允许10.1.8.10主机ping本机[rootcentos7 ~]firewall-cmd--permanent--add-icmp-block-inversion[rootcentos7 ~]firewall-cmd--permanent--add-rich-rulerule familyipv4 source address10.1.8.10 icmp-type nameecho-request accept[rootcentos7 ~]firewall-cmd --complete-reload三、SELinux安全增强3.1 什么是SELinuxSELinuxSecurity Enhanced Linux是额外的系统安全层主要目标是防止已被攻破的系统服务访问用户数据。传统文件权限只控制“谁能访问”不控制“如何使用”。例如apache进程被攻破后攻击者拥有apache用户的权限可以访问/tmp等目录。SELinux通过强制访问控制明确定义每个进程、文件、目录、端口的安全标签上下文默认禁止任何未授权的交互。3.2 SELinux上下文每个进程、文件、目录和端口都有SELinux上下文格式为用户:角色:类型:敏感度# 查看进程上下文[rootcentos7 ~]ps-Csshd-Zsystem_u:system_r:sshd_t:s0-s0:c0.c1023951? 00:00:00 sshd# 查看文件上下文[rootcentos7 ~]ls-Z/home unconfined_u:object_r:user_home_dir_t:s0 laoma3.3 SELinux三种模式模式行为用途enforcing强制执行规则拒绝并记录日志生产环境默认permissive加载策略但不强制只记录违规测试和故障排查disabled完全关闭不拒绝不记录不推荐# 查看当前模式[rootcentos7 ~]getenforce# 临时切换不需重启[rootcentos7 ~]setenforce0# 切换为permissive[rootcentos7 ~]setenforce1# 切换为enforcing# 修改默认模式/etc/selinux/config[rootcentos7 ~]vim/etc/selinux/configSELINUXenforcingSELINUXTYPEtargeted模式切换注意事项enforcing ↔ permissive不需重启enforcing/permissive ↔ disabled需要重启写在最后今天的内容是Linux安全与资源管理的核心模块核心工具主要作用Swapmkswap / swapon / swapoff内存不足时的缓冲Firewalldfirewall-cmd网络访问控制SELinuxgetenforce / setenforce进程级访问控制一句话建议Swap根据内存大小合理配置生产环境建议≥4GBFirewalld默认只开放必要的端口和服务public区域SELinux生产环境保持enforcing排障时可临时切permissive核心命令速查# Swapfree-m# 查看内存swapon-s# 查看swap设备swapon/dev/sdb1# 激活swapoff /dev/sdb1# 停用# Firewalldfirewall-cmd --list-all# 查看当前区域规则firewall-cmd --add-servicehttp# 放行服务firewall-cmd --add-port8080/tcp# 放行端口firewall-cmd --add-masquerade# 开启伪装firewall-cmd --add-rich-rulerule ...# 富规则# SELinuxgetenforce# 查看模式setenforce0# 切换permissivesetenforce1# 切换enforcing查看当前区域规则firewall-cmd --add-servicehttp # 放行服务firewall-cmd --add-port8080/tcp # 放行端口firewall-cmd --add-masquerade # 开启伪装firewall-cmd --add-rich-rule‘rule …’ # 富规则SELinuxgetenforce # 查看模式setenforce 0 # 切换permissivesetenforce 1 # 切换enforcing 点点关注持续更新欢迎技术讨论。

相关新闻

CUDA 概述

CUDA 概述

CUDA 概述CUDA 全称 Compute Unified Device Architecture,即统一计算设备架构,由 NVIDIA 推出简单理解,CUDA 是一种让显卡(GPU)不止能画图,还能进行通用计算的技术平台CUDA 包含如下三个层面一个并行计算架…

2026/10/16 16:36:13 阅读更多 →
DMA与AXI总线协同工作原理:从概念到嵌入式系统高效数据传输实践

DMA与AXI总线协同工作原理:从概念到嵌入式系统高效数据传输实践

如果你正在开发一个嵌入式系统,尤其是基于 ARM Cortex-M 或 Zynq 这类 SoC 的平台,那么“DMA”和“AXI”这两个词一定不会陌生。它们经常出现在芯片手册、参考代码和调试日志里,但很多开发者对它们的理解,可能还停留在“DMA 能搬数…

2026/10/16 12:11:44 阅读更多 →
电动汽车充电调度优化与蒙特卡罗仿真实践

电动汽车充电调度优化与蒙特卡罗仿真实践

1. 电动汽车充电调度问题的背景与挑战随着电动汽车保有量的快速增长,充电需求对电网的冲击已成为不可忽视的问题。我曾在某充电站运营项目中亲眼目睹过这样的场景:傍晚6点下班高峰时段,30辆电动汽车同时接入充电桩,导致该片区电网…

2026/10/17 10:44:55 阅读更多 →

最新新闻

STM32寄存器编程实战:GPIO、定时器与串口

STM32寄存器编程实战:GPIO、定时器与串口

每次看到论坛里有人说“寄存器难”,我都想拉住他聊五分钟。我入行那几年也被寄存器折磨过,直到有一次调一个功耗敏感的项目,手里的库函数版本和例程对不上,底层配置出来的引脚电平就是不对。从那以后我翻烂了参考手册,…

2026/10/17 16:01:21 阅读更多 →
OpenClaw从入门到应用——工具(Tools):apply-patch 实战配置与验证

OpenClaw从入门到应用——工具(Tools):apply-patch 实战配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 16:01:21 阅读更多 →
Oracle实战:开放式基金交易平台数据库设计与PL/SQL编程实现

Oracle实战:开放式基金交易平台数据库设计与PL/SQL编程实现

简介:这是一份Oracle项目实战文档,以开放式基金交易平台数据库设计为完整案例,适合Oracle初学者与数据库设计人员用于练习从需求分析到表结构落地的全过程。文档围绕招商银行某分行的实际业务场景,梳理基金管理、客户账户管理、交…

2026/10/17 16:01:21 阅读更多 →
Docker部署TailChat开源即时通讯平台:用TaoToken统一Key打通消息机器人与AI能力

Docker部署TailChat开源即时通讯平台:用TaoToken统一Key打通消息机器人与AI能力

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 16:01:21 阅读更多 →
DC-6靶机深度解析:WordPress渗透与Linux提权实战指南

DC-6靶机深度解析:WordPress渗透与Linux提权实战指南

1. 项目概述:为什么DC-6是WordPress渗透学习绕不开的“分水岭”如果你正在系统性地打磨Web渗透能力,尤其是想真正吃透WordPress生态下的攻防逻辑,DC-6绝不是一张可跳过的练习卷——它是一道明确的分水岭。我带过不少刚从基础靶机(…

2026/10/17 16:01:21 阅读更多 →
基于深度学习的疲劳驾驶检测:目标检测、图像分类与实时推理实战

基于深度学习的疲劳驾驶检测:目标检测、图像分类与实时推理实战

我还记得去年做毕设选题那会儿,导师给了我几个方向,我一眼就看中了"基于深度学习的疲劳驾驶检测"这个题目。原因很直接:疲劳驾驶导致的事故率一直居高不下,而市面上很多所谓"智能驾驶预警"要么靠红外打哈欠检…

2026/10/17 16:00:20 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →