Linux安全配置误区总结_常见错误规避技巧【教程】

8次阅读

必须禁用 root 弱口令、定期更新防火墙规则、关闭 SSH 密码登录、为 /tmp 挂载 noexec/nosuid 选项。管理员常忽视配置与实际运行态的持续对齐,导致安全策略形同虚设。

Linux 安全配置误区总结_常见错误规避技巧【教程】

root 密码设成 123456 或空密码

很多管理员在初始化系统后,为图省事把 root 密码设成弱口令,甚至留空。这等于给攻击者直接开后门——只要能连上 SSH 或本地终端,就能立刻获得最高权限。

  • 检查方式:
    sudo grep 'root:' /etc/shadow | cut -d: -f2

    若输出为 *! 或为空,说明密码被锁定或未设置;若是一串短哈希(如 $1$……),需用 工具 验证强度

  • 强制启用强密码策略:安装 pam_pwquality,并在 /etc/pam.d/common-password 中确保有 password requisite pam_pwquality.so retry=3 minlen=12 difok=3
  • 更安全的做法是禁用 root 密码登录,改用密钥 + 普通用户提权:
    PermitRootLogin no

    加入 /etc/ssh/sshd_config,再用 sudo 控制权限边界

firewalld 或 iptables 规则长期不更新

刚装系统时配了一套 防火墙 规则,之后几年从不 review,这是典型“一次配置,永久遗忘”。新服务上线、端口 变更、内网拓扑调整都会让旧规则失效甚至起反作用。

  • 定期导出当前规则比对:
    sudo firewall-cmd --list-all

    sudo iptables -L -n -v

    ,重点关注 INPUT 链中是否开放了 2280443 以外的端口

  • 避免无条件放行内网:source zone: internal 不等于安全,内部网段若存在失陷主机,会绕过所有外网限制
  • 临时调试后忘记关闭端口很常见:用 firewall-cmd --remove-port=8080/tcp --permanent 清理残留,再 firewall-cmd --reload

SSH 默认端口 22 + 密码登录长期开启

暴露 22 端口在公网等于每天接收数万次暴力破解请求。即便密码够强,高频尝试也会触发 PAM 锁定机制,反而导致合法用户被踢出。

  • 改端口只是基础项,真正有效的是禁用密码登录:
    PasswordAuthentication no

    PubkeyAuthentication yes

    必须同时生效

  • 密钥必须带密码短语(passphrase),否则私钥文件一旦泄露即等同于密码泄露
  • 限制可登录用户范围比改端口更重要:
    AllowUsers deploy@192.168.1.* admin@2001:db8::/64

    可精确到 IP 段和用户名

/tmp 目录未挂载 noexec,nosuid

/tmp 是攻击链常用跳板:上传恶意二进制、构造 LD_PRELOAD、利用 world-writable 目录提权。默认挂载几乎都不加安全选项。

  • 检查当前挂载参数:
    mount | grep '/tmp'

    ,若没看到 noexec,nosuid,nodev 就存在风险

  • 临时挂载(重启失效):
    sudo mount -o remount,noexec,nosuid,nodev /tmp
  • 永久生效需改 /etc/fstab 对应行,例如:
    tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=2G 0 0

    ;注意不要影响依赖 /tmp 写临时文件的服务(如某些 Java 应用)

实际运维中,最常被忽略的是规则与现实的脱节——比如防火墙放行了数据库端口,但应用早已迁走;或者 SSH 密钥轮换了,却忘了清理旧公钥。安全不是配完就结束的事,而是持续对齐配置与运行态的过程。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-30发表,共计1461字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources