最近买了一块SuperMicro X8DTU-F主板,内置BMC,基本运行IPMI系统。原来是一个运行在 ARM 处理器上的小型 Linux 系统。
不幸的是,它正在运行大量软件,其中大部分我不需要,而且我没有能力将其置于防火墙后面。但是,我确实想要 IPMI 功能。使用过其中之一的人是否对如何保护这件事有一些具体的建议?它从本质上是一个 ROM 文件系统启动,甚至似乎没有任何钩子可以关闭它运行的任何各种服务器......
我还对如何验证可用于通过所有各种服务访问系统的名称和密码列表感兴趣。默认是ADMIN
/ ADMIN
,但 /conf 或 /etc 中的文件都没有“ADMIN”,这让我很担心。有/conf/shadow
和/conf/webshadow
文件,其中有神秘的“测试”ID,这也让我感到特别不舒服。
我正在设置一些新的 Ubuntu 服务器,我想保护它们上的数据免遭盗窃。威胁模型是需要硬件的攻击者,或者需要数据的幼稚攻击者。
请注意本节。
威胁模型并没有包括智能攻击者希望的数据; 我认为他们会执行以下一项或多项操作:
将 UPS 接入电源线,以保持机器持续运行。
在计算机和网络终端点之间插入一对以太网桥接器,该桥接器将桥接无线网络上的流量,使主机保持网络连接的足够范围。
打开盒子并使用内存总线上的探针来抓取有趣的东西。
使用 TEMPEST 设备来探测主机正在做什么。
使用法律手段(例如法院命令)强迫我披露数据
等等等等。
所以我想要的是在加密分区上的磁盘上拥有一些或理想的全部数据,以及在某种外部媒体上访问它所需的关键材料。我能想到的两种存储密钥材料的方法是:
将其存储在可通过网络访问的远程主机上,并配置足够的网络以在引导过程中检索它。只允许检索分配给安全主机的 IP 地址(因此,如果加密数据是在另一个网络连接上启动的,则不允许访问加密数据),如果发现机器被盗,管理员可以禁用该地址。
将其存储在 USB 存储设备上,该设备在某种程度上比主机本身更难窃取。将它放置在远离主机的位置,例如在通向房间另一个角落甚至另一个房间的 5 米 USB 电缆的末端,可能会显着降低攻击者获取它的机会。以某种方式保护它,例如将它链接到固定不动的东西,甚至将其放入保险箱中,效果会更好。
那么我有哪些设置选项呢?正如我之前所说,我更愿意将所有内容(除了可能不包含 /etc 的小引导分区)加密,这样我就不必担心我将文件放在哪里,或者文件放在哪里”不小心降落了。
我们正在运行 Ubuntu 9.04,如果它有什么不同的话。
计算机安全的基本原则之一是永远不要运行不需要的任何东西。
pgrep
今天,当我注意到我的 Ubuntu 9.04(桌面)机器正在运行一个 git 服务器守护进程时,我正在ping 一个进程。快速发誓后,我发现该git-daemon-run
软件包已(可能是无意中)安装,删除它可以摆脱该过程(并确保以后不会重新启动)。
但在其他情况下,我希望安装服务器包,但不希望服务器守护程序运行。例如,我lighttpd
用于内部测试(它由某些应用程序的特定测试脚本启动,并且在这些配置中仅在 localhost 上侦听),但我不希望它使用某些随机配置文件侦听外部连接。(如果我想运行一个监听外部连接的程序,我会自己配置并运行它。)
我真的不喜欢在暴露在 Internet 的机器上运行我不需要的各种随机服务器,因为谁知道它们打开了哪些安全漏洞。而且我不喜欢与防火墙打交道,因为这是另一个可能导致安全漏洞的错误和错误配置的潜在来源。除非管理员特别要求,否则将 Unix 机器配置为不启动任何服务器并不难;NetBSD(我认为也是 OpenBSD)默认是这样的。
我如何配置我的 Ubuntu 系统从不启动任何类型的服务器守护程序,除非我特别告诉它我想要它启动?
(在我的书中,要求安装软件包并不是要求启动服务器。如果它应该是,这是一个糟糕的用户界面,因为许多软件包安装甚至没有启动服务器,所以它使很容易无意中启动服务器而没有意识到您已经这样做了。)
编辑:为了清楚起见,问题不在于我希望能够停止现有服务器。问题是我不希望在没有明确请求的情况下启动新服务器。这意味着我应该能够执行任何 sysadmin 任务,例如安装软件包,并且确信没有服务器已启动。大多数答复没有解决这一点。
我有一台运行 32 位 Ubuntu 9.10(i686 2.6.31-20-generic kernel)的 AMD Athlon XP-2500+ 主机(Shuttle MN31 主板,nForce 2 IGP + MCP-T 芯片组)。不幸的是,它的时钟漂移似乎非常糟糕(它每分钟前进接近一秒),以至于 ntpd 无法保持机器同步。
我如何处理这个问题,以便让 ntpd 正常工作?