首页/安全/安全加固速查/ufw 限速放行与日志留存
防火墙与访问控制50 条

ufw 限速放行与日志留存

ufw limit 对同一来源的新建连接做速率限制(默认 30 秒 6 次),天然削弱 SSH 爆破;配合日志级别把拒绝行为记录下来。

安全加固速查安全更新于 2026-10-13

limit 与日志的关系

ufw limit 对同一来源的新建连接做速率限制(默认约每 30 秒 6 次),超限的连接被丢弃,天然削弱 SSH 口令爆破;同时 ufw 的日志级别决定被拒与限速事件的记录量。两者搭配,才能既减噪又留下证据。

基本信息

适用平台Linux(Ubuntu/Debian 系,ufw)
限速命令ufw limit <端口或应用名>
日志命令ufw logging low|medium|high,落点 /var/log/ufw.log
基线管理端口启用 limit,日志级别 medium 起步

典型使用场景

  • 公网 SSH 入口:limit 是零成本的第一层缓解,配合密钥登录效果更好
  • 日志留存:开启日志后可按来源 IP 统计失败尝试,识别持续爆破的来源
  • 变更验证:新放行规则上线后,通过日志确认命中情况
  • 与 fail2ban 分工:limit 做无状态限速,fail2ban 做基于日志的封禁,两者可以叠加
  • 容器宿主:容器会自行改写 iptables,ufw 规则在这些机器上容易失真,需要单独确认

限速与日志

限速与日志
# 管理端口启用限速(对 IPv4 与 IPv6 分别生效)
sudo ufw limit ssh
sudo ufw logging medium
sudo ufw status verbose
# 观察拒绝与限速记录
tail -f /var/log/ufw.log
grep -c 'BLOCK' /var/log/ufw.log

日志级别读法

级别记录内容适用建议
off不记录排除故障时临时用
low记录被策略拒绝的包(含限速命中)默认值,噪声最小
medium额外记录部分被放行的连接与无效包生产推荐起步级别
high几乎记录每个包,含未匹配规则的流量仅排障短时启用,日志量极大
日志默认写 /var/log/ufw.log,请确认 logrotate 覆盖该文件:公网机在 high 级别下一天能产生数 GB 日志。
limit 在 IPv4 与 IPv6 上独立计数:只放行 SSH 的 v4 规则而漏掉 v6,限速对 IPv6 来源不生效,双栈主机要分别确认。
日志留存周期要提前定:按等保要求日志至少留存六个月,ufw.log 需要单独做 logrotate 与集中采集,否则本地文件会被覆盖。
限速要有可观测证据:开启后从外部做一次高频连接测试,确认连接被拒且日志出现对应记录,比只看配置回显更可信。

易错点

  • limit 被当成锁定:慢速爆破(如每 30 秒 5 次)仍能绕过,关键资产要叠加 fail2ban 或仅用密钥
  • 只改 ufw 不确认后端未安装 iptables 规则:两套规则叠加后行为难以预判
  • 日志级别调到 high 后忘记降级:磁盘被日志写满,服务连带受损
  • 把限速放在业务端口:正常用户被误伤,投诉后才回头排查

数据来源与参考

  • ufw(8) 手册:limit
  • Ubuntu 文档:UFW 日志

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌