您好,欢迎访问宜昌市隼壹珍商贸有限公司
400 890 5375Linux安全需围绕最小权限、纵深防御、可观测性三原则手动组合机制:细化sudo命令级控制、防火墙默认拒绝并阻断元数据接口、启用auditd监控execve等关键调用、停用rpcbind等非必要服务,并通过自动化校验确保各层持续生效。
Linux 系统没有“开箱即用”的完整防护体系,所谓多层安全设计,本质是围绕最小权限、纵深防御和可观测性三个原则,手动组合基础机制——不是装几个工具就叫防护,而是让每个环节都形成可验证的约束。
sudo变成后门很多系统把普通用户加进sudo组就认为“权限管好了”,实际等于默认授予 root 权限。真正有效的控制必须细化到命令级,并禁用密码免交互等高危配置。
visu
do编辑/etc/sudoers,避免直接修改文件导致语法错误锁死系统NOPASSWD,除非明确该命令不涉及敏感操作(如systemctl status)backup用户只允许/usr/bin/rsync和/bin/tar,路径必须写绝对路径requiretty防止通过 SSH 非交互式提权iptables / nftables策略:默认拒绝比开放端口更重要防火墙不是“放开 SSH 和 HTTP 就行”,而是先drop所有入站,再按需accept——尤其要防内部横向扫描和云环境元数据接口暴露。
169.254.169.254(AWS/Azure 元数据服务)的出向请求,防止凭证泄露ICMP echo-request响应外网,但保留内网探测(避免运维失联)nftables替代iptables时,注意inet family 规则需显式声明ip protocol,否则 TCP/UDP 可能被意外放行nft add rule inet filter input ct state invalid log prefix "INVALID_CT: " drop
rsyslog转发不够,得让auditd盯住关键系统调用/var/log/messages只记录服务级日志,无法捕获execve、openat这类行为。没开auditd,等于没审计。
/etc/audit/rules.d/immutable.rules中添加:-a always,exit -F arch=b64 -S execve -k exec_monitor
auditctl -e 2(锁定规则),防止攻击者临时关闭审计audit.log通过rsyslog发往远程 SIEM,本地日志设为只追加(chattr +a /var/log/audit/audit.log)aureport -m -ts today | grep -i "failed",重点关注failed的chmod、chown操作rpcbind比给sshd改端口更有效攻击者不会先猜 SSH 端口,而是扫2049(NFS)、111(RPC)这种默认暴露的老协议。关掉不用的服务,比调参数更直接。
ss -tlnp | grep -v '127.0.0.1',重点看非0.0.0.0绑定的残留服务rpcbind:systemctl disable --now rpcbind{,-socket},NFS 客户端无需此服务sshd加固优先级:禁用PasswordAuthentication > 禁用RootLogin > 改端口(后者仅防脚本扫描,不防定向攻击)systemd-analyze blame发现启动慢且非必要的服务(如avahi-daemon),直接mask掉真正的防护难点不在配置本身,而在于每次系统更新、新服务上线、运维流程变更时,是否同步校验这些层是否仍生效——比如kernel升级后audit规则是否兼容,或新部署的容器是否绕过了主机nftables规则。自动化校验比手工配置重要得多。