当前位置:首页>Linux>Linux终端安全防护指南

Linux终端安全防护指南

  • 2026-09-04 23:14:32
Linux终端安全防护指南

01

身份与访问控制

  • 践行最小权限原则:日常使用普通用户,通过 sudo 提权。使用 sudo 时,务必检查别名或 PATH 环境变量,防止执行了伪装的特权命令(如别名 alias sudo='sudo ' 的特殊情况)。

  • 强化密码策略:编辑 /etc/pam.d/common-password (控制密码的强度,如长度、复杂度、历史)和 /etc/login.defs(定义用户账户的通用默认值,如UID/GID范围、密码有效期),利用 pam_pwquality.so(替代旧版 pam_cracklib.so)强制复杂度要求。

  • 多因素认证 (MFA):为 SSH 登录启用 Google Authenticator 或硬件 Token,在密码泄露时提供关键的第二层防护。

  • 账户锁定与清理:在配置 pam_faillock 防暴力破解,并定期审查删除 games、ftp 等默认冗余账户及离职人员账户。

  • 限制 su 切换:编辑 /etc/pam.d/su,仅允许 wheel 组成员切换。

02

系统与软件更新

    • 建立持续更新机制:定期执行 apt update && apt upgrade 或 yum update。

    • 验证来源与签名:仅从官方仓库安装软件,对下载的第三方软件包务必验证 GPG 签名,严禁使用 curl | bash 方式执行未经验证的远程脚本。

    • 精简攻击面:移除 netcat、telnet、nmap 等可能被攻击者用于横向移动的冗余工具。

    03

    网络与远程访问防护

        • 配置防火墙:使用 ufw 或 firewalld 遵循“默认拒绝”原则。

        • 加固 SSH 服务:

          • 禁用 Root 登录:PermitRootLogin no。

          • 禁用密码认证:仅允许密钥登录,设置 PasswordAuthentication no,私钥文件权限必须为 600(-rw-------只有文件所有者本人可读写)。

          • 修改默认端口与限制用户:改为高位端口减少扫描噪音;使用 AllowUsers 或 AllowGroups 限制登录白名单。

          • 配置空闲超时:ClientAliveInterval 和 ClientAliveCountMax 防止会话挂起被利用。

          • 禁用不安全认证:确保 IgnoreRhosts yes,禁止 .rhosts 和 hosts.equiv。

        • 使用 Fail2Ban:监控 /var/log/auth.log 并自动封禁攻击 IP。

        04

        进程与文件系统加固

              • 关闭不必要的服务:使用 systemctl 精简启动项。

              • 启用强制访问控制 (MAC):优先使用 SELinux (Enforcing) 或 AppArmor。

              • 严格文件权限与防篡改:

                • 使用 chattr +a 为 .bash_history 添加只追加属性,防止清空。

                • 使用 chattr +i 锁定 /etc/passwd、/etc/shadow 等关键文件。

              • 内核参数与资源限制:

                • 编辑 /etc/sysctl.conf 禁用重定向、源路由,启用 SYN Cookie。

                • 防拒绝服务:编辑 /etc/security/limits.conf 或使用 ulimit -u 限制单个用户的进程数,防止 Fork 炸弹。

              05

              日志审计与终端行为监控

                      • 审计命令历史(防篡改):

                        • 实时发送:不要依赖本地的 .bash_history,应将所有命令通过 auditd 监控 execve 系统调用,或配置 syslog 实时发送至远程专用日志服务器。

                        • 加固本地历史文件:设置 HISTTIMEFORMAT 记录精确时间戳;设置 HISTFILESIZE 和 HISTSIZE;利用 chattr +a 防止用户直接删除覆盖。

                        • 敏感命令脱敏:设置 HISTCONTROL=ignorespace,在前置空格执行临时敏感操作(如带密码的命令),避免被记录。当然还有更好的做法是:

                          • 使用交互式提示(如 mysql -u root -p,然后单独输入密码)。

                          • 从环境变量或加密的配置文件中读取敏感信息。

                          • 使用 read -s 从标准输入读取密码而不显示。

                      • 终端输入输出监控:

                        • 警惕 history -c 和 clear 仅清除视觉区域,滚动缓冲区仍可能留存敏感数据,结束敏感操作后建议彻底 exit 或重启会话。

                        • 使用 script 或 tlog 录制完整终端会话用于事后审计,同时需加密保护录屏文件。

                      • 入侵检测与完整性:使用 AIDE 或 Tripwire 监控 /bin、/usr/bin、/etc/ssh 等关键目录的文件变化。

                      06

                      终端操作习惯与 Shell 环境安全

                                • PATH 环境变量净化:切勿将当前目录 . 或用户可写目录加入 PATH 变量的搜索路径前方,防止执行当前目录下的 ls 木马文件。定期检查 echo $PATH。

                                • 防范别名与函数劫持:定期运行 alias 检查是否有 alias ls='rm -rf /' 之类的恶意别名;检查 ~/.bashrc、~/.bash_aliases 等启动文件是否被篡改。

                                • 安全使用命令行参数:

                                  • 养成使用 -- 分隔选项与文件名的习惯,例如 rm -- -f 删除名为 -f 的恶意文件。

                                  • 处理大量文件时,避免使用 rm * 导致参数列表过长或误删隐藏文件,推荐使用 find . -type f -delete。

                                • 后台作业安全:使用 nohup 或 & 运行敏感任务时,注意输出重定向,防止敏感信息写入 nohup.out 泄露。

                                • 避免命令行明文密码:严禁 mysql -p123456 这类操作,务必使用交互式输入或配置文件。

                                07

                                终端操作习惯与 Shell 环境安全

                                            • 物理与会话锁定:

                                              • 图形界面使用 Ctrl+Alt+L;命令行环境使用 vlock 或 tmux lock 锁定终端。

                                              • 配置 /etc/systemd/logind.conf 或 /etc/inittab 禁用 Ctrl+Alt+Del 组合键重启。

                                            • 引导保护:为 GRUB 设置密码,防止攻击者进入单用户模式绕过认证。

                                            • 建立响应流程:制定应急响应计划,确保在事件发生时能迅速、有效地采取行动。流程至少应包括:

                                              1. 隔离:立即隔离受感染系统,防止横向移动。

                                              2. 分析:分析日志、进程、网络连接,确定攻击来源、影响范围和方法。

                                              3. 清除:根除后门、恶意软件等攻击痕迹。

                                              4. 恢复:从可信备份中恢复系统和服务,并修补漏洞。

                                              5. 复盘:事后复盘,完善防御体系。


                                              本站致力于做最深度、专业、前沿的网络安全知识分享平台,欢迎点赞、关注、推荐,为您持续更新深度好文。

                                              最新文章

                                              随机文章