可以使旧的操作系统网络服务器安全吗?

信息安全 视窗 开发 网络服务器
2021-08-10 10:03:07

我有一台旧笔记本电脑,RAM 太少,无法运行 Linux(包括专业发行版)。但是它可以很好地运行 Windows 98,我正在考虑将它变成一个小型复古网络服务器。

是否可以防止旧操作系统网络服务器被黑客入侵?我正在寻找的只是一个简单的 80 端口静态网站,没有网络管理功能。

我在安全或利用安全漏洞方面没有丰富的经验。所以我不确定在哪里看。如果 DOS/WIN95/WIN98 框所做的只是响应简单的 HTTP 请求,它可以被利用吗?

4个回答

可能不是。为了响应 HTTP 请求,操作系统必须能够运行 TCP/IP 堆栈、处理数据包并完成 TCP 握手,所有这些都需要系统利用或产生内存中的线程、调用库等。因此,该系统仍然容易受到可能未修补的协议攻击(TCP序列预测是可能在Win98上运行的Web服务器想到的一种)。

您可以编译和运行像 nginx 或 Apache 这样的现代服务器(可能必须对其进行大量修改,因为它不能在 Win98 上运行),但是网络上的旧操作系统本质上容易受到网络探测和网络攻击。即使 TCP 80 通过防火墙进行端口转发,Web 服务器进程仍将在缺乏现代保护(如 DEP、ASLR 等)的系统内运行。

您是否有使用 CLI(命令行界面)的经验,例如 Windows 命令提示符?如果是这样,为什么不买一个树莓派?Pi 将比你的旧笔记本电脑更小、更快、更高效。你可以花 50 美元买一个 Pi。然后你下载(或使用预装的 SD 卡)他们的 NOOBS 软件并安装 Raspbian OS,它是一个 Debian 分支,安装 Nginx,你有一个与你的钱包大小差不多的 Web 服务器,它消耗 3 瓦的功率。

如果 CLI 对你来说有点多,我建议使用 XCFE 桌面的 Linux 而不是依赖于 Windows 98,尽管我不建议使用像笔记本电脑这样的旧硬件。如果您希望安装程序为您完成大部分工作,那么最小的 Ubuntu(如 Lubuntu)将是合适的。

我也在质疑这台机器如何运行 Win98(在当时它并不是一个高效的操作系统),但它不能运行 Linux。拿一张 Linux Live CD(可启动的“冻结”操作系统),编辑 ISO 以包含您想要服务的网页,删除本地存储(拉出硬盘驱动器),然后从 Linux Live CD 启动并每天重新启动,怎么样? ? 即使机器确实受到了攻击,在该配置中,除了重新启动之外,什么都不会持续存在(理论上的蓝药丸攻击除外)。

当然,至少你还想把机器放在你的 DMZ 中,将它与 LAN 上的其他机器隔离开来,并至少运行防火墙,只打开端口 80(如果你支持 TLS,则为 443 / “HTTPS”)。

除非您只是想尝试一下,否则这只是一个坏主意。

任何建议它可以完成的人都做了太多假设。没有足够的信息来拨打电话。

可能主要问题包括

  • Win98 很旧,不再打补丁,很可能容易受到许多现有渗透技术的攻击,这些技术在上次打补丁/测试时甚至都没有想到。归根结底,这是一个巨大的未知数,几乎可以肯定存在漏洞。

  • 你会运行什么网络服务器?由于库的年代久远等原因,您可能只能获得旧的 Web 服务器,即旧版本的 IIS 或类似服务器。这意味着运行旧服务器几乎肯定会存在重大漏洞。

  • 付出的努力超过了它的价值。我怀疑一旦你开始尝试让它工作,你会遇到各种各样的问题。与您将获得的收益/结果相比,这听起来是一项非常艰巨的任务。

其他人则将注意力集中在运行 Linux 太旧的评论上。这不是真的。如果它可以运行win98,它可以运行Linux。当前的发行版可能会遇到困难,但您可以用同样的努力来做到这一点,但这仍然比它值得付出的努力更多。

考虑到系统的使用年限,您很可能会花费数小时来让它工作,然后发现它出现了硬件故障。作为实验和学习练习,这可能是一件有趣的事情,但如果你真的希望它有用的话,肯定不值得付出努力