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
相关产品推荐
相关产品推荐

