Linux Minimal如何安全防护
导读:Linux Minimal 安全防护实操清单 一 基线加固 保持系统为最小化安装,仅保留必需软件包;定期更新补丁,建议启用自动安全更新: Debian/Ubuntu:sudo apt update && sudo apt...
Linux Minimal 安全防护实操清单
一 基线加固
- 保持系统为最小化安装,仅保留必需软件包;定期更新补丁,建议启用自动安全更新:
- Debian/Ubuntu:sudo apt update & & sudo apt upgrade -y;安装并启用 unattended-upgrades
- RHEL/CentOS/Fedora:sudo dnf/yum update -y;启用 dnf-automatic 或 yum-cron 自动安装安全更新
- 账户与认证
- 创建普通用户并加入 sudo 组,禁用 root 远程登录:sudo usermod -aG sudo ;编辑 /etc/ssh/sshd_config 设置 PermitRootLogin no
- 强化密码策略:/etc/login.defs 设置 PASS_MAX_DAYS 90、PASS_MIN_DAYS 2、PASS_WARN_AGE 7;PAM 使用 pam_pwquality 要求复杂度(至少8位,含大小写、数字、特殊字符)
- 限制 su:编辑 /etc/pam.d/su,添加 auth required pam_wheel.so use_uid(仅 wheel 组可 su)
- 服务最小化
- 列出并禁用不需要的自启服务:systemctl list-unit-files --type=service | grep enabled;sudo systemctl disable & & sudo systemctl stop
- 文件与目录权限
- 关键文件防篡改:chattr +i /etc/passwd /etc/shadow /etc/group;lsattr 查看
- 合理权限:/home/ 750;/bin /sbin 755;/etc/ssh/sshd_config 600
- 日志与审计
- 启用 rsyslog 集中日志与 logrotate 轮转;安装 auditd 并配置关键审计规则(如监控 /etc/passwd 与 execve 系统调用)
二 网络与防火墙
- 仅开放必要端口与协议,默认拒绝入站、允许出站
- Ubuntu(UFW):sudo ufw default deny incoming;sudo ufw default allow outgoing;sudo ufw allow ssh;sudo ufw enable
- CentOS(firewalld):sudo systemctl start firewalld & & sudo systemctl enable firewalld;sudo firewall-cmd --permanent --add-service=ssh;sudo firewall-cmd --reload
- 按需开放业务端口(示例:开放 80/443)
- firewalld:sudo firewall-cmd --permanent --add-service=http;sudo firewall-cmd --permanent --add-service=https;sudo firewall-cmd --reload
- 可选:若不使用 IPv6,可在 /etc/sysctl.conf 设置 net.ipv6.conf.all.disable_ipv6=1 并执行 sysctl -p(变更前评估业务影响)
三 SSH 安全
- 禁用 root 登录与空密码:PermitRootLogin no;PermitEmptyPasswords no
- 使用密钥认证并关闭口令登录:PasswordAuthentication no;提前部署公钥(ssh-copy-id)
- 更改默认端口并限制可登录用户:Port 2222(示例);AllowUsers < your_user>
- 会话加固:MaxAuthTries 3;LoginGraceTime 60;ClientAliveInterval 300;ClientAliveCountMax 0
- 主机密钥与算法:优先使用 ED25519(ssh-keygen -t ed25519),并在 sshd_config 中配置现代 HostKeyAlgorithms
四 强制访问控制与入侵防护
- 启用强制访问控制(MAC)
- SELinux(RHEL/CentOS):保持 enforcing;如需变更端口,使用 semanage port -a -t ssh_port_t -p tcp < new_port> ;临时调试可用 setenforce 0(生产不建议)
- AppArmor(Ubuntu/Debian):aa-status 查看;aa-enforce 加载配置,限制进程权限边界
- 入侵检测与防护
- 文件完整性:AIDE/Tripwire 建立基线并定期校验(aideinit;aide --check)
- 入侵防御/检测:部署 Suricata(suricata-update 更新规则集),或轻量方案 fail2ban 对抗暴力登录
五 维护与验证
- 安全更新流程
- 变更前:快照/备份;仅使用可信仓库并开启 GPG 签名校验;重大更新先在测试环境验证
- 变更后:验证服务可用性、回滚预案与更新日志留痕
- 例行检查与演练
- 防火墙与端口:ufw status / firewall-cmd --list-all;ss -tulpen 检查监听
- 登录审计与暴力尝试:/var/log/auth.log、fail2ban 状态
- 合规与基线:定期运行 Lynis、OpenVAS 扫描并整改
- 内核与网络加固:/etc/sysctl.d/99-hardening.conf 中禁用 IP 转发与源路由、启用 syncookies、调优 TCP 队列与重试等,执行 sysctl -p 使配置生效
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Minimal如何安全防护
本文地址: https://pptw.com/jishu/757209.html
