讲师中心 微信公众号
AI工具推荐 视频效率加速

系统安全加固怎么限制系统最大同时打开文件句柄数

秋墨同学_9341

秋墨同学_9341

发布时间:2026-08-26 12:44:18

|

553人浏览过

|

来源于php中文网

原创

Linux系统安全加固中限制最大文件句柄数需用户级、systemd服务级、系统级三层协同配置,缺一不可:用户级通过/etc/security/limits.conf设置软硬限制并确保PAM加载;systemd服务须单独配置LimitNOFILE并重载;系统级通过fs.file-max设定全局上限,三者取最小值生效。

系统安全加固怎么限制系统最大同时打开文件句柄数

系统安全加固中限制最大同时打开文件句柄数,不是单纯“设小”来防攻击,而是通过合理设定上限,防止资源耗尽型拒绝服务(如恶意进程无限 open() 文件)、避免句柄泄漏导致服务僵死,并配合监控形成闭环。关键在于分层控制、留有余量、可审计——既不能过松引发失控,也不能过紧影响正常业务。

Linux:三层协同限制,缺一不可

Linux 的句柄限制是用户级、进程级、系统级三者取最小值生效,只改一处等于没改:

  • 用户会话级:编辑 /etc/security/limits.conf,为运行服务的用户(如 nginxmysql)设置软硬限制:
    nginx soft nofile 65535
    nginx hard nofile 65535
    ⚠️ 必须确认 /etc/pam.d/common-sessionsession required pam_limits.so,且用户需重新登录才加载
  • systemd 服务级:对 systemctl 管理的服务(绝大多数现代服务),limits.conf 无效,必须单独配置:
    sudo systemctl edit nginx.service,写入:
    [Service]
    LimitNOFILE=65535

    执行 sudo systemctl daemon-reload && sudo systemctl restart nginx 生效
  • 系统全局池:防止所有进程加起来把内核句柄池打爆,调大 /proc/sys/fs/file-max
    /etc/sysctl.conf 中追加:
    fs.file-max = 2097152
    运行 sudo sysctl -p 立即生效;建议值 ≥ 单进程最大值 × 预估并发进程数(如 65535 × 20 ≈ 130 万)

Windows:按场景选择约束方式

Windows 没有统一的“系统级句柄总数限制”,但存在多个实际瓶颈点,加固时应针对性封堵:

HTML5主机托管服务公司网站模板
HTML5主机托管服务公司网站模板

HTML5主机托管服务公司网站模板是一款从事主机托管服务公司宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
  • 单进程默认限制(C运行时):传统 C/C++ 程序默认最多 512 个 stdio 句柄(_getmaxstdio() 返回值)。可通过 _setmaxstdio(8192) 在程序启动时提升,适用于可控的自研服务
  • 会话级共享内存限制(最常触发瓶颈):注册表路径 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems 下的 SharedSection 值(如 1024,20480,262144),第三段即该会话所有进程句柄总配额。生产环境可设为 1024,20480,524288(51.2 万),但需同步增加物理内存与非分页池容量
  • 不推荐强行降低全局上限:Windows 无类似 Linux fs.file-max 的可调总池开关;硬性缩减 SharedSection 或降低进程虚拟内存配额,易导致系统组件(如 svchost、LSASS)异常,反而引入不稳定风险

加固后必须验证与监控

配置完成只是第一步,必须验证是否真正生效并持续观测:

  • Linux 查当前进程真实限制:
    cat /proc/$(pgrep nginx)/limits | grep "Max open files"
  • Linux 查系统已用句柄数:
    cat /proc/sys/fs/file-nr(输出三列:已分配、未使用、系统最大)
  • Windows 查指定进程句柄数:
    Process Explorer(Sysinternals 工具),右键进程 → Properties → Handles 标签页,实时查看数量及类型分布
  • 加入基础监控项:
    定时采集 /proc/sys/fs/file-nr 第一列(已分配)或 Windows 性能计数器 Process(*)\Handle Count,当连续 5 分钟 > 85% 上限时触发告警

安全加固中的常见误区

限制句柄数不是越小越安全,错误做法反而削弱系统韧性:

  • 仅修改 /etc/security/limits.conf 就认为“已加固”,却忽略 systemd 服务完全不读该文件
  • fs.file-max 设得过低(如仍用默认 8192),高并发下整个系统无法新建 socket,表现为“服务假死”而非报错
  • 在 Windows 上盲目修改注册表试图“禁用句柄”,结果破坏会话管理器,导致远程桌面或服务登录失败
  • 未配套日志审计,当出现 Too many open files 错误时,无法快速定位是攻击行为、程序 bug 还是配置不足

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

417

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

820

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2392

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

816

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

709

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

374

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2156

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

3952

2023.10.20

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

0

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Iris框架MVC快速入门指南
Iris框架MVC快速入门指南

共0课时 | 0人学习

phpMyAdmin 配置文档
phpMyAdmin 配置文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn