Linux系统如何加固_完整流程拆解让问题迎刃而解【技巧】
发布时间 - 2025-12-24 00:00:00 点击率:次Linux系统加固围绕“收缩攻击面+收紧访问控制+强化身份验证”三主线展开,涵盖账号口令、SSH服务、端口服务、权限审计四步实战操作,强调逐项验证而非堆砌命令。
Linux系统加固不是堆砌命令,而是围绕“收缩攻击面+收紧访问控制+强化身份验证”三根主线展开的系统性操作。核心目标是:让系统只做该做的事,只让该进的人进,只用最必要的东西。下面按实战逻辑分步拆解,每一步都可直接落地。
账号与口令:从源头掐断弱入口
默认账户和弱密码是入侵第一跳板,必须优先清理:
- 删或锁无用账号:用 userdel -r username 彻底删除(如 ft
p、games、sync),或用 passwd -l username 锁定临时禁用 - 查高危账号:运行 awk -F: '($2=="")' /etc/shadow 找空口令;用 awk -F: '($3==0)' /etc/passwd 确认 UID=0 的只有 root
- 设强策略:编辑 /etc/login.defs,至少配置 PASS_MAX_DAYS 90、PASS_MIN_LEN 12、PASS_WARN_AGE 7;再通过 /etc/security/pwquality.conf 加入 minlen=14 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1,强制大小写+数字+特殊字符
- 防暴力爆破:在 /etc/pam.d/system-auth 中添加 auth [default=die] pam_faillock.so preauth silent deny=5 unlock_time=900,输错5次锁9分钟
SSH服务:远程登录的唯一正门必须上三把锁
绝大多数入侵始于 SSH,它不能只靠改端口应付:
- 禁 root 登录:修改 /etc/ssh/sshd_config,设 PermitRootLogin no
- 禁密码登录:设 PasswordAuthentication no、PubkeyAuthentication yes,并确保密钥权限为 600
- 改端口+限IP(可选但推荐):设 Port 2222,再配合防火墙仅放行运维IP段,例如 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="2222" protocol="tcp" accept'
- 重启生效:systemctl restart sshd
服务与端口:关掉所有不亮的灯
每个监听端口都是潜在后门,宁可少开,不可多留:
- 查当前监听:ss -tuln 或 netstat -tuln,重点关注非业务必需端口(如 21/ftp、23/telnet、111/rpcbind、2049/nfs)
- 停并禁用服务:systemctl stop rpcbind && systemctl disable rpcbind;对旧系统用 chkconfig rpcbind off
- 检查 xinetd/inetd:编辑 /etc/xinetd.d/* 或 /etc/inetd.conf,注释掉不用服务
- 确认启动项干净:systemctl list-unit-files --state=enabled | grep -E "(ftp|telnet|nfs|rsh)"
权限与审计:让系统自己盯紧自己
权限失控和日志缺失等于给攻击者发通行证:
- 限制 sudo 权限:用 visudo 编辑,避免 %wheel ALL=(ALL) NOPASSWD:ALL 这类宽泛授权,改为 adminuser ALL=(root) /usr/bin/systemctl restart nginx, /usr/bin/journalctl 等精确命令
- 规范文件权限:对敏感文件执行 chmod 600 /etc/shadow、chmod 644 /etc/passwd;设默认 umask 为 027(在 /etc/bashrc 或 /etc/profile 中加 umask 027)
- 启用审计:启动 auditd 服务,往 /etc/audit/rules.d/local.rules 加规则,例如 -w /etc/passwd -p wa -k identity,监控关键文件变更
- 装 AIDE 做完整性校验:yum install aide && aide --init && cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz,之后定期 aide --check
基本上就这些。不需要一步到位,建议按顺序逐项验证——先清账号、再锁 SSH、接着关服务、最后配审计。每次改完都用 ss -tuln 和 lastb 快速复核,比盲目堆命令更可靠。
# linux
# word
# nginx
# 防火墙
# 端口
# ai
# linux系统
# red
# die
# 堆
# var
# default
# ssh
# 的人
# 身份验证
# 访问控制
# 都是
# 不需要
# 这类
# 可选
# 可直接
# 而非
# 都用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Java解压缩zip - 解压缩多个文件或文件夹实例
昵图网官网入口 昵图网素材平台官方入口
如何用好域名打造高点击率的自主建站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
如何打造高效商业网站?建站目的决定转化率
jQuery 常见小例汇总
js实现获取鼠标当前的位置
千库网官网入口推荐 千库网设计创意平台入口
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何在云主机上快速搭建多站点网站?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
智能起名网站制作软件有哪些,制作logo的软件?
如何在宝塔面板中创建新站点?
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
高防服务器租用指南:配置选择与快速部署攻略
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
jQuery中的100个技巧汇总
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
Laravel如何实现本地化和多语言支持?(i18n教程)
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Python文件操作最佳实践_稳定性说明【指导】
Android中AutoCompleteTextView自动提示
Swift中switch语句区间和元组模式匹配
如何选择PHP开源工具快速搭建网站?
如何用虚拟主机快速搭建网站?详细步骤解析
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
Laravel如何处理和验证JSON类型的数据库字段
JavaScript实现Fly Bird小游戏
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
深圳网站制作平台,深圳市做网站好的公司有哪些?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel怎么实现验证码(Captcha)功能
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
Laravel如何生成URL和重定向?(路由助手函数)
Laravel中的withCount方法怎么高效统计关联模型数量
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
简单实现Android验证码
Laravel如何实现模型的全局作用域?(Global Scope示例)
iOS中将个别页面强制横屏其他页面竖屏
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全


p、games、sync),或用 passwd -l username 锁定临时禁用