SATAN:分析您的网络
SATAN(系统管理员网络分析工具)的创建者认为,大多数系统容易受到攻击的原因是大多数系统管理员不像系统破解者那样思考。实际上,以这种方式思考可能需要您以新的眼光看待简单、看似无害的网络服务。
对于系统破解者来说,基本的网络服务是进入计算机系统的门户。因此,在您早上上班并在办公室看到一堆不寻常的 utmp 条目之前,最好检查一下这些门户的访问程度。检查这些门户的一个很好的起点是在您的网络上运行 SATAN 扫描。
SATAN 可以在 Linux 上运行,只需进行少量修改。运行 SATAN 的要求是
一台可以处理它的机器——这意味着一台具有相对快速的处理器(例如,Alpha、486)和至少 32MB 内存的机器
SATAN 源代码的最新发行版 (satan-1.1.1)
Perl 5 或更高版本
一套 BSD-4.4 兼容的包含文件,可从 ftp://ftp.wooddimensions.com/webserv/security/linux/ 获取
一个修复关于 select() 在 tcp_scan.c (tcp_scan.c.diff) 中如何工作的错误假设的补丁
一个 WWW 浏览器(最好是像 Netscape 或 Mosaic 这样的图形浏览器,但您也可以使用像 Lynx 这样的文本浏览器。)
一个像 gcc 这样的 C 编译器
当您拥有所有这些元素后,您就可以开始构建 SATAN 了。首先,您需要解压存档。只需发出命令
zcat satan-1.1.1.tar.Z | tar xvf -
此命令创建一个名为 satan-1.1.1 的子目录。接下来,将补丁应用于 tcp_scan.c。我倾向于使用 Emacs 进行修补,因为它使一切看起来更直观。将补丁加载到一个缓冲区中,将 tcp_scan.c 加载到另一个缓冲区中,然后选择Patch。当然,使用 patch 命令也可以。现在,解压 BSD-4.4 兼容的包含文件。最简单的方法是 gunzip 存档并将其移动到 satan-1.1.1 目录的根目录,然后键入
tar xvf BSD-4.4.includes.tar存档将解压缩到 include/netinet/ 目录中。
完成此操作后,您就可以编译 SATAN 了。该程序附带一个名为 reconfig 的脚本,它将在您的系统上配置它。任何以前使用过 SATAN 的 Linux 用户都知道 bash 在此脚本的语法方面存在问题。解决此问题的最简单方法是键入
perl reconfig
在命令提示符下,而不是
./reconfigreconfig 脚本将检测您的 Web 浏览器和 Perl 并编译 SATAN 二进制文件。如果它检测到错误的 Web 浏览器,请编辑脚本 config/paths.pl 并更改行
$MOSAIC="program name"您现在可以运行 SATAN 了。在命令提示符下键入 ./satan,SATAN 将启动您的 Web 浏览器。
如果 Netscape 是您的首选浏览器,请确保您为 application/x-perl 定义了 mime 类型,并且没有为此类型定义后缀。将后缀定义为 .pl 将导致每次您尝试执行脚本时都会出错。
即使以上所有步骤听起来都很麻烦,您仍然应该获取源代码并自行构建 SATAN。我强烈建议您不要请求、发布或使用 SATAN 的预编译二进制文件。SATAN 必须以 root 身份运行,并且错误的或恶意的构建可能会造成大量损坏。已经有几份关于在 Linux 构建中发现木马的报告。为 Linux 构建 SATAN 可能需要一些额外的步骤,但这绝对值得付出努力。
SATAN 将忠实地扫描您的网络并报告它发现的所有潜在弱点——这是它的工作。它甚至会告诉您这些弱点可能如何被利用。它不会修复任何问题或阻止不受欢迎的访客——那是您的工作。没有任何程序可以替代精明的安全管理员。
要使组织运转良好,您必须约束员工,这意味着教育您的用户了解良好密码的重要性。(是否发送安全备忘录、在 MOTD 中发布或实际定期尝试破解 /etc/passwd 并锁定您能够破解的帐户取决于您。)除了密码教育之外,还要教育您的用户了解在其主目录中保留大型 .rhosts 文件的危险性。受信任的未知系统越多,您自身系统的风险就越大。
最后,以受过教育的破解者可能的方式查看您的系统。订阅 2600 和 Phrack,如果您的黑客技能不足。查看您正在运行的网络服务,并考虑您可以利用它们的可能方式。阅读最新的 CERT (http://www.cert.org/) 建议,了解所有系统(由于许多通用程序来自相同的根,它们有时会共享相同的弱点),并使用这些信息,定期尝试入侵您自己的系统。如果您是系统安全新手,或者如果您不确定如何利用网络服务,请尝试诸如 系统管理员破解指南(随 SATAN 发行版一起提供)等文本中使用的所有现成方法。还有许多 IRC 频道和网站讨论黑客攻击和破解。访问这些站点并倾听或提问。您的用户依赖您来保持系统的运行——稍加努力,您就不会让他们失望。
