You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH外部流量绕过端口转发、UFW及hosts规则仍触发sshd日志的问题排查求助

SSH外部流量绕过端口转发、UFW及hosts规则仍触发sshd日志的问题排查求助

各位大佬,我现在碰到一个特别困惑的问题,感觉要么是自己干了啥蠢事,要么就是漏掉了关键配置,麻烦帮忙看看问题出在哪!

我用的是TP-Link Archer C7路由器,已经设置了端口转发——把一个外部端口映射到内网服务器的22端口(给SSH用)。但奇怪的是,我在服务器的auth.log里还是能看到来自外部、针对sshd非22端口的访问记录。一开始我怀疑TP-Link的端口转发是不是没做精准过滤,但后面加了UFW防火墙也没解决问题。

我的防火墙及规则配置情况:

  • 先配置了UFW:先让它拒绝所有流量,然后只添加了一条规则:ufw allow 22/tcp。现在UFW是运行状态,能正确拦截并记录一些内网流量,但完全没有拦截外部流量的日志,而且auth.log里还是能看到外部针对其他端口的访问记录。
  • 接着我又在hosts.deny里直接封禁了所有SSH访问:sshd: ALL,还额外加了一堆fail2ban抓的恶意IP:
    sshd: 1.234.5.238
    sshd: 101.255.158.25
    sshd: 103.138.10.78
    sshd: 103.147.119.16
    sshd: 103.4.119.20
    sshd: 104.236.230.184
    sshd: 109.132.238.5
    sshd: 111.118.140.250
    sshd: 111.68.125.106
    ...
    
  • 同时在hosts.allow里配置了geo-block脚本,用来按地区封禁:sshd: ALL: spawn /usr/local/bin/ipfilter.sh %a

现在从auth.log里能看到ipfilter脚本确实在拒绝连接,比如:

Dec 20 14:00:11 BobsJob root: DENY sshd connection from 114.44.149.56 (TW)
Dec 20 14:00:11 BobsJob sshd[16088]: Invalid user emmmetje from 114.44.149.56 port 34820
Dec 20 14:00:12 BobsJob sshd[16088]: Received disconnect from 114.44.149.56 port 34820:11: Bye Bye [preauth]
Dec 20 14:00:12 BobsJob sshd[16088]: Disconnected from invalid user emmmetje 114.44.149.56 port 34820 [preauth]

我的核心疑问:

  • 为什么这些流量能绕过路由器的端口转发、UFW,直接到sshd这一步才被拒绝?我明明只开放了一个外部端口映射到内网22,为什么auth.log里会出现端口34820的记录?
  • 会不会日志里的这个端口号不是真实的目标端口?其实是客户端的源端口?如果是这样,那为什么日志要这么显示?

到底我哪里漏了?求各位大佬指点迷津!

备注:内容来源于stack exchange,提问作者colic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:29:30