Linux安全运维实践经验_稳定防护策略说明【指导】
发布时间 - 2025-12-29 00:00:00 点击率:次判断Linux系统是否被入侵需通过行为审计和基线比对:检查异常进程(ps auxf)、非标端口监听(ss -tulnp)、近期配置变更(find /etc)、非常规登录(last/journalctl);同时禁用root直接登录、收紧sudo权限、启用4个关键sysctl防护参数,并正确配置fail2ban。
如何判断系统是否已被入侵而不依赖杀软
Linux 上没有传统“杀毒软件”概念,靠的是行为审计和基线比对。关键不是找木马文件,而是发现异常进程、网络连接和权限变更。
- 用
ps auxf --sort=-%cpu | head -20快速看 CPU 占用异常的进程,特别注意路径含/tmp、/dev/shm或无名二进制(如[kthreadd]伪装) - 执行
ss -tulnp查监听端口,重点检查非标准端口(如:31337、:6666)是否绑定到未知用户或root以外的 UID - 运行
find /etc -type f -mtime -1 -ls 2>/dev/null找近期被修改的系统配置,比如/etc/passwd、/etc/crontab、/etc/pam.d/下文件 - 检查登录日志:
last -n 30和journalctl -u sshd --since "2 weeks ago" | grep "Accepted",留意非常规时间或 IP 的成功登录
限制 root 登录与提权操作的最小可行配置
允许 root 直接登录是多数入侵链路的起点;而 sudo 配置不当则让普通用户一步提权。必须切断这两条通路。
- 禁用 root 密码登录:编辑
/etc/ssh/sshd_config,确保PermitRootLogin no,然后systemctl restart sshd - 禁止空密码登录:
PermitEmptyPasswords no和UsePAM yes必须同时存在 - 限制 sudo 权限:用
visudo删除%wheel ALL=(ALL) NOPASSWD: ALL这类宽泛规则;只给必要命令加NOEXEC(如/bin/)
systemctl start nginx - 启用
requiretty(默认开启),防止 cron 或 webshell 中的 sudo 绕过 TTY 检查
sysctl 级防护中真正起效的 4 个参数
网上流传的 sysctl.conf 优化清单里 70% 对现代内核无效或自相矛盾。以下四个在 CentOS 8+/Ubuntu 20.04+ 实测可阻断常见利用手法:
-
net.ipv4.conf.all.rp_filter = 1:启用反向路径过滤,大幅降低 IP 欺骗成功率 -
kernel.exec-shield = 1(仅 RHEL/CentOS)或kernel.randomize_va_space = 2(通用):强制 ASLR,让栈溢出利用失败率提升 90%+ -
fs.suid_dumpable = 0:禁止 SUID 程序生成 core dump,避免敏感内存泄露 -
vm.mmap_min_addr = 65536:抬高用户空间 mmap 起始地址,封死 NULL 指针解引用类漏洞利用路径
设置后执行 sysctl -p 生效,但需确认应用无 mmap(0) 调用(极少见)。
fail2ban 配置不生效的三个硬伤点
fail2ban 不是装上就自动防爆破,日志路径错、正则不匹配、jail 未启用,三者任一出问题都会导致完全静默。
- 确认日志路径真实存在且可读:
grep "auth.log\|secure" /etc/fail2ban/jail.local,然后手动tail -f /var/log/auth.log看是否有 SSH 登录失败记录(如Failed password for.*from) - 检查 filter 正则是否匹配实际日志格式:用
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf测试,输出中Lines: 12345 (12345), match: 123表示命中率达标 - 确认 jail 启用状态:
fail2ban-client status sshd返回Status for the jail: sshd且Number of jail matches> 0;若为 0,检查enabled = true是否写在[sshd]段下而非全局段
别忽略 SELinux —— 如果系统启用了 enforcing 模式,fail2ban 的 iptables 规则可能被拦截,此时要加 setsebool -P fail2ban_iptables on。
# linux
# word
# centos
# go
# nginx
# 杀毒软件
# 端口
# ubuntu
# 栈
# ai
# linux系统
# NULL
# sort
# for
# Filter
# 指针
# Regex
# var
# number
# ssh
# 比对
# 的是
# 非常规
# 近期
# 已被
# 自相矛盾
# 而不
# 这类
# 一出
# 而非
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Laravel PHP版本要求一览_Laravel各版本环境要求对照
什么是javascript作用域_全局和局部作用域有什么区别?
如何在腾讯云服务器快速搭建个人网站?
在线制作视频的网站有哪些,电脑如何制作视频短片?
Java类加载基本过程详细介绍
如何快速登录WAP自助建站平台?
如何用AI帮你把自己的生活经历写成一个有趣的故事?
如何在云主机上快速搭建网站?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
网站图片在线制作软件,怎么在图片上做链接?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何使用.env文件管理环境变量?(最佳实践)
如何用低价快速搭建高质量网站?
如何将凡科建站内容保存为本地文件?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
深圳网站制作平台,深圳市做网站好的公司有哪些?
在Oracle关闭情况下如何修改spfile的参数
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
南京网站制作费用,南京远驱官方网站?
Laravel如何为API生成Swagger或OpenAPI文档
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
深入理解Android中的xmlns:tools属性
Laravel如何实现多对多模型关联?(Eloquent教程)
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
如何在万网ECS上快速搭建专属网站?
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何快速搭建自助建站会员专属系统?
中山网站推广排名,中山信息港登录入口?
利用JavaScript实现拖拽改变元素大小
Mybatis 中的insertOrUpdate操作
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
移动端脚本框架Hammer.js
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何在阿里云服务器自主搭建网站?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】


systemctl start nginx