Linux安全防护项目教程_防火墙入侵检测与加固实战

18次阅读

linux安全防护需构建多层防御体系:防火墙(nftables默认DROP策略、限频防爆破)、入侵检测(Suricata+fail2ban联动封禁)、系统加固(停非必要服务、禁root远程登录、启用SELinux/appArmor)及自动化监控闭环(文件校验、auditd审计、日志关联分析)。

Linux安全防护项目教程_防火墙入侵检测与加固实战

Linux系统安全防护的核心在于构建多层防御体系,防火墙是第一道屏障,入侵检测是主动感知威胁的眼睛,系统加固则是夯实底层根基的关键动作。三者协同才能有效抵御常见攻击。

iptables/nftables防火墙策略配置

现代Linux发行版逐步转向nftables替代iptables,但原理相通:基于规则链(input、output、forward)匹配数据包并执行动作(accept、drop、reject)。关键不是砌规则,而是遵循最小权限原则。

建议操作:

  • 默认策略设为DROP,仅显式放行必要端口(如ssh 22、http 80/https 443),避免开放高危端口(如23/Telnet、139/445/SMB)
  • 限制SSH连接频率,用recent模块防暴力破解:nft add rule ip Filter input tcp dport 22 ct state new limit rate 3/minute burst 5 packets counter accept
  • 封禁已知恶意IP段或扫描源,可定期从 AbuseIPDB 或 Emerging Threats 获取黑名单并自动加载

基于Snort或Suricata的轻量级入侵检测部署

在服务器资源有限时,不需全功能IDS平台,用Suricata配合社区规则集即可实现基础流量分析。重点不是开启全部规则,而是聚焦高危行为识别。

实用要点:

  • 启用HTTP、TLS、SSH协议解析模块,识别sql注入、目录遍历、暴力登录等特征
  • alert日志输出到本地文件或rsyslog,配合logrotate防止日志撑爆磁盘
  • 结合fail2ban读取Suricata告警日志,自动封禁触发规则的源IP(例如连续5次HTTP异常请求即加入iptables DROP链)

系统服务与账户层面的安全加固

多数入侵并非绕过防火墙,而是利用暴露服务漏洞或弱口令进入。加固要从“减法”开始——关闭不用的服务,收紧权限边界。

必须执行项:

  • systemctl list-unit-files –type=service | grep enabled检查开机自启服务,停用telnet、ftp、rpcbind等非必要服务
  • 禁止root远程SSH登录,改用普通用户+密钥认证;设置PermitEmptyPasswords noMaxAuthTries 3于/etc/ssh/sshd_config
  • 启用SELinux或AppArmor强制访问控制,尤其对Web服务(如nginx/apache)、数据库mysql/postgresql)限制其只能访问指定路径和端口

自动化监控与响应闭环搭建

安全不是一次配置就一劳永逸。需要建立“检测→告警→响应→验证”的小闭环,让防护具备持续运转能力。

可行方案:

  • 用cron+shell脚本每日校验关键文件(/etc/passwd、/etc/shadow、/bin/bash)的md5sum,异常变动即发邮件告警
  • 部署auditd监控敏感操作:如-w /etc/shadow -p wa -k shadow_access记录所有对shadow文件的读写
  • 将防火墙拒绝日志(/var/log/messages或journalctl -u nftables)与入侵检测日志做时间关联分析,识别扫描→试探→攻击链条
text=ZqhQzanResources