我最近做了很多关于如何设置 FTP 服务器(VSFTPD 3.0.5)并保护它的研究,以至于我觉得相当舒服地从我的衣柜中运行它并将其从我的家庭网络暴露到互联网上与选定的少数人分享。
我已经让服务器运行并暴露在互联网上大约 36 个小时了(眼睛密切关注连接日志),并且我已经注意到至少有两个不同的场合我可以看到似乎是少数的内容未知的 IP尝试(从我所知的所有迹象来看均未成功)登录,或者只是用垃圾模糊 FTP 登录提示,希望以某种方式破坏它?我真的无法理解他们在这里所做的事情,如果事实上这是一个糟糕的演员。这是服务器日志的示例:
Sat Jan 6 15:27:02 2024 [pid 1553282] CONNECT: Client "199.45.154.16"
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP response: Client "199.45.154.16", "220 Take a file, leave a file."
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP command: Client "199.45.154.16", "????????????!??#?_??NV????ZBV??M??R???E??MU l?"??w??s??]#????Y??w??""
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP command: Client "199.45.154.16"
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP command: Client "199.45.154.16", "G??XP??????3?G???????9?K???????E?????????????#?????+?"
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP command: Client "199.45.154.16", "?$?????,?R?S???????????????'?/???(?0?`?A?V?W?????????????"
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP command: Client "199.45.154.16", "?/?<???????5?=???????A?????????????????????????<MY_HOME_IP>???????????????"
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP command: Client "199.45.154.16", "?"
Sat Jan 6 15:27:02 2024 [pid 1553282] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:03 2024 [pid 1553286] CONNECT: Client "199.45.154.16"
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP response: Client "199.45.154.16", "220 Take a file, leave a file."
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP command: Client "199.45.154.16", "??????????????F?Z?0????YE???L[7I?IQ?]Q????] ?A?3????!"1?h#u??u?K?m????xU?G?????????????????A???????=?5???????<?/?"
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP command: Client "199.45.154.16", "?????????????W?V?A?`?0?(???/?'???????????????S?R?,?????$?"
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP command: Client "199.45.154.16", "?+?????#?????????????E???????K?9???????G?3???????????????<MY_HOME_IP>???????????????"
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP command: Client "199.45.154.16", "?"
Sat Jan 6 15:27:03 2024 [pid 1553286] FTP response: Client "199.45.154.16", "530 Please login with USER and PASS."
anonymous
他们只是继续做这样的事情,或者尝试以我已禁用的身份登录。我注意到这些时间戳非常接近,我确信这必须是某种自动化/脚本。AI 建议可以对“命令”进行加密或以某种方式进行混淆,但我认为不会,因为如果我登录并发送合法命令,VSFTPD 会以纯文本形式清楚地记录它们。
我在想有人正在探测旧版本服务器中的漏洞?我读到 VSFTPD 2.3.4 存在一个大问题,所以也许这就是漏洞利用的方式?
我很惊讶在我的 IP 上运行的这台服务器被发现的速度如此之快,并试图确认发生了什么,以及我是否可以采取主动措施来保证它的安全(除了使服务器脱机)。VSFTPD 目前并未被源 IP 锁定,尽管我现在正在考虑这一点。我还读到一些关于人们fail2ban
在他们的 FTP 服务器上使用的内容?我从未使用过它,但如果这有帮助,我很感兴趣。
互联网上的每个 IP 都会或多或少地被扫描。
尝试通过使用面向互联网的路由器上的非标准端口,并将其从该端口转发到计算机的正确端口来尽可能隐藏。
还为您希望在互联网上公开的帐户使用一个好用且复杂的密码。
我每天在随机已知端口上轻松获得 1000 个,这是通过 IP 地址阻止(但它仍然记录尝试)
我喜欢将其视为背景辐射,有大量的自动化机器人,其中一些由黑客运行,一些由安全公司运行。暴露的时间越长,尝试的次数可能就越多。
在您的网络前面安装 VPN 绝对是比直接暴露更好的选择。
您应该安装fail2ban,然后在/etc/fail2ban 文件夹中包含有关如何配置jail.local 和/或jail.conf 文件以监视您正在运行的服务的信息。
如果您继续直接暴露,您最终会引起黑客的注意,他们会尝试利用您的 FTP 服务器。当新版本发布时,您将需要更新它,因为黑客也会阅读发行说明。
大多数情况下,您会接触到尝试猜测密码或利用 vsftpd 的自动化工具。
就阻止 IP 而言,将 IP 地址列入白名单比阻止更好,因为您的列表会很快扩大。我一直监控主要是为了满足我的好奇心,但结果却是一份包含110万个永久封禁IP的黑名单。
最有可能的是,不,这不是黑客的扫描/探测尝试:
浏览记录的源 IP 并对它们进行反向 DNS 查找(例如
dig -x ip.addr.goes.here
),发现大多数IP 解析回主机,这些主机似乎是由合法项目运营的大型扫描仪网络的一部分,该项目特许扫描互联网上正在运行的东西并暴露,确定它们是否容易受到某些攻击,并(据称)如果可能的话通知所有者。大多数此类活动很可能是良性的,但密切关注其来源是个好主意。
到目前为止我已经确定的一些来源是:
还有其他主动措施可用于防止恶意活动:
fail2ban
- 在配置的失败登录尝试次数后阻止可疑攻击者