同分异构体,使用自由软件维护异构网络的安全

使用自由软件维护异构网络的安全 - 系统安全 - 电脑教程网

使用自由软件维护异构网络的安全

日期:2007-08-04   荐:
计算机网络安全很可能是21世纪几大技术挑战之一。

  总之,象许多让人忧心的领域,每个人都谈论它,但是即使是应该感受最深的人也没有察觉到潜在灾难的规模是如此之大。”感受最深”指的是支撑软件或系统软件设计者。最好的例子一再被提到,来自于Redmond,在那里,安全可没有象市场那样运转的按步就班。

  幸运地,在20世纪的最后2个10年里诞生了自由软件和随之而来的哲学。如果你想提高你的机器,你的系统,你的网络的安全的话,你就应该在这里多花些工夫。自由软件团体在安全方面的工作比所有的大公司合起来都多。 =版权所有  软件 下载  学院  版权所有=

  可以这么说,工具不能解决所有的问题,维护一个网络的安全是永久性的任务:因为总是会出现新的情况。

  这意味着你不能说一个网络100%的安全。你能做到的是消除潜在的隐患。我们这里讨论的只是你能减少隐患的一小部分。读完这份特刊(作者注:你应该记住这篇文章是一本法国的Linux杂志关于安全的特刊),你会了解更多一些安全的知识,但是无论如何你不能说你的网络是安全的。在这里我预先警告过你一下。 当然象这样一篇文章不能穷尽所有问题。安全问题已经形成了许多自己的文化但是距离彻底的解决问题还很远。相应地,不要从这篇文章中揣测象操作系统,工具,配置等等事情。

  作为导言的结束,在这篇文章中我们引用LinuxFocus的文章的几部分,不要担心,已经征得作者同意:已经证实他和本人是同一个人!

引言

  首先,我们探讨有着很多不同系统的异构网络的结构,其中的系统或多多少已经地广泛传播。操作系统越多,系统越复杂,因为不是所有的系统在表现?上都是一致的。更进一步,作为服务器的机器在网络中有不同的功能:我们将拥有一个多样化的网络。

  其次,我们将浏览一系列的对提高安全性有助益的工具。选择是很多的:我们不可能一一列举。很显然,我们会讲解如何使用这些工具来提高机器和网络的安全性。下一章节回顾不同系统在安全性方面的特点。 结论将解释安全过程的”相对性”,说明为什么安全性还有一条很长的路要走,而不是把它”划分” 到未来学里面去。

一个异构网络的例子

  第一个有利的是地球上所有的操作系统都”讲”TCP/IP语言。有了这一点不同的系统可以相互通信。相应地作为探讨网络的一个例子,TCP/IP总是被提到。换而言之,其他专有的,不常见的和过时的协议不会提到。我们也不讨论物理结构,比如连接的形式,分类等等。

  这样我们在这个网络里什么都放一些进去。当然会包括UNIX,无论专有的或免费的,比如,Solaris2.6,或SunOs 5.6,如果你原意也可以是Irix 6.5,Linux(RH 6.2)或MacOs X。我们可以加一些QNX,NeXTSTEP,NetBSD或OpenBSD。为了遵循”传统”,我们将包括那个叫Not Terminated 4.0的东西(不是,没有什么别的意思,只是它比你想像的更糟糕)。

  这里呢,我们还包括OS2这个稍好一点的系统。最后我们加入一些”非传统”的OS,比如BeOS,AmigaOS(是的,它存在。不相信吗?)

  当然有的人已经抱怨了:什么没有AIX,没有HP-UX?没有。如果你提到每一个UNIX,那会写一个10卷的文章。无论如何,基本的安全准则对所有的系统都是有效的。

  现在,我们能叫它们做些什么呢?

  举例来说,可以让Solaris作为应用服务器。Irix负责备份。NT作为另一个应用服务器。Linux作为网关。另一个Linux机器用做http服务器或者数据库服务器。其他所有的机器都是客户机。网络中大约30台机器使用密文认证。我们将选择比较复杂的认证方式: NIS (Yellow Pages),LDAP或者Kerberos...。为了让事情简单一点。我们不使用NFS,它也许有用并且安全性能有所改善,但是从安全着眼,你最好忘记它。在法国,有句老话,”最好不要把所有的鸡蛋放到一个篮子里”。不是”一定要”但最好是服务或者协议一个系统只使用一种。举例来说,一个FTP服务器,http服务器很适宜在各自的UNIX机器上。另一些UNIX机器可以用做SSH服务器,其他的做SSH的客户端。后面我们会提到SSH。我们将使用静态的IP:不要DHCP。换而言之,我们使用基本的功能即可。这个样子可以构成一个有50台机器的网络。机器再多那就会变成恶梦的。

安全工具和如何使用他们

  一般来说,做一件事情总是有不止一种方法(TIMTOWDI)。理想的情况是一切从头来,安装机器建立网络。但是现实可不是演电影!相应地,我们的网络应该是用过一段时间了,机器从这里搬到哪里,旧的去新的来。因为CPU在Mhz上的”竟赛”,举例来说,今天的Intel 的机器不会持续很长的时间。大约3年以后,机器的零部件就很难买到了。你要不让你的机器废物利用做些轻便的工作要不就是干脆把它扔掉:无奈但是很现实。幸运的是,其他的系统持续时间长一些并且还可以继续提高。不要说这些跑了题:一个管理员总是要尽量利用现有的条件。

  基本的东西

  工作的第一步通常做我们称”一般性”的部分。那就是去掉每台机器中没有用到的东西:这可不是一件轻松的差使。每个操作系统,包括Unix在内,安装了数不清你用不到的服务,协议。主说:扔掉它。在Unix环境下,简单。。粗暴的方法是注释掉/etc/inetd.conf 文件中的每一个服务。这样就干掉了一些。 这好像有一点霸道,但是在许多机器上这是值得推荐的。这也要看你的需求是什么了。在Linux中和其他一些很少见的系统中你可以使用chkconfig 命令去删除一些服务。

  还要检查SUID/SGID文件,毫不犹豫地把”失误”位去掉。或不要激活程序。一个如下的命令: find / -user root -a ( -perm -4000 -o -perm -2000 ) -print 可以列表所有这样的文件。去掉S位,键入chmod a-s programname (注意:你去掉s位后可能失掉一些功能。 它终归有其目的)。

  去掉所有”危险”或已知的”冒险”的程序:远程命令如rsh,rlogin,rcp等等。可以使用SSH取而代之。

  检查象/etc,/var这样目录的权限,越严格越好。比如,给包含起动文件(在许多Unix系统中是 /etc/rc.d/init.d)的目录使用chmod -R 700是不错的主意。相同的规则可以运用到所有系统的网络部分,去掉你不使用的,至少不激活它。对NT来说,你可以轻松地在配置面板中设置。这里有很多基本的东西去做并许多文化的主题都来源于此。

  工具

  让我们从Unix说起,因为它是唯一真正考虑过安全问题的操作系统。其次,Unix可以运行很多的自由工具软件并且大多数也能运行在Unix的衍生版本中。

  从现在起,我们开始安装各个机器。为了达到网络安全,在做各种事情之前,首先考虑事情的各个元素达到安全要求没有。安装这些工具是很轻松的工作,所以我们不会在这里浪费时间。安全工具不同的参数取决于系统,需求...甚至根据自己的意图来定制。第一个安装的工具是shadow utils。它的意思是做密码加密。幸运地,这已经成了许多Unix发布版本的一部分。文件/etc/shadow就是/etc/passwd”创建”的。

  更好的工具是PAM(插入认证模块)限制用户访问某种服务。每个被关注的服务都使用目录中的配置文件管理一切的事务。这个配置文件一般是/etc/pam.d。许多服务都是PAM”驱动”的,比如,ftp,login,xdm等等,让管理员分配每个人有不同的权限。

  下一个工具是必需提到的:TCPWrapper。它可以工作在大多数的类Unix版本中。简短解说,它限制某些主机对一些服务的访问。这些主机允许还是拒绝由2个文件来决定:/etc/hosts.allow和/etc/hosts.deny。TCPWrapper可以通过2种方法配置:或者把它放到后台,或者改变 /etc/inetd.conf配置文件。如果选择后者,你可以看到TCPWrapper可以和其他的工具和平相处。你可以在下面的链接中找到它: ftp://ftp.porcupine.org/pub/security

  另一个有益的工具就是xinetd。简短解说,xinetd是inetd的更新换代,它有更多的特性。刚才我们已经评论过了inetd,所以我们不推荐它。如果你感兴趣,你可以在以下的网址找到它:http://www.xinetd.org.

  在Linux环境下,这个工具你一定要有:它的名子是Bastille-Linux。它的链接是http://www.bastille-linux.org. 这个工具是用Perl写的,不仅很dd还很有效率。运行了一个脚本后,你会回答很多的问题, Bastille-Linux会根据你的每个回答一一配置。每一个问题都有解释并且提供缺省的设置。你可以不改变缺省的设置,起动一个新的配置,然后检查一下Bastille-Linux做了些什么。你都看到了吧!它也提供了一个防火墙的配置:我们回过头会在讨论它。写这篇文章的时候,Bastille-Linux的版本是1.1.1,但是1.2.0 作为候选版本已经发布了。它提高了不少,并且提供了基于Tk和Perl模块的图形界面。(作者提示:这篇文章在几个月前写的。事实上, Bastille-Linux最近的版本是1.3.0)。

  入侵监测系统也是不错。2个”重量级”的工具是snort和portsentry。第一个可以从下面下载:http://www.snort.org,第二个可以从Abacus网站下载,http://www.psionic.com。这2个有所不同:NIDS (网络入侵监测系统)主要是提供入侵信息,但是第2个可以说是面向主机并且功能更强大。snort有很多的可选项来监测网络通讯。你可以监听所有你想知道的:从主机出去的信息,到主机的信息,防火墙以内的,防火墙以外的。当然,它会产生巨大的log文件,但是你应该知道你想监测那些东西。Win 32版本也是有的,它是蛮重要的,因为这些”系统”中自由软件的数量是很有限的。

  portsentry有一个很有意义的特性:它可以根据的你选择来阻塞被扫描的端口。你或者把攻击者重定位到一个没有使用的地址,或者重定位到防火墙上。当然,你可以选择哪些阻塞,那些不阻塞。现在我们就可以回到TCPWrapper上来了:portsentry可以编辑/etc/hosts.deny文件,如果你想。这样,portsentry的效率会很高。我们不想陷入portsentry使用端口绑定的哲学的讨论中去,这在于你的选择:到你更进一步深入到这个主题后,你再做出自己的选择。另外,portsentry的一个特性是它可以是计算机”看不到”。这可不坏!最后portsentry可以使用不同的操作模式,但是这最高级的特性没有对Linux开放(至少现在是)。

  我们讨论安全就不能不提到加密。但是各国的法律对待加密上是不一样的。有的会完全禁止使用加密。

  作者提示:本文英语版本的关于加密部分已经从法语版本中删除了,因为它涉及到法国的法律。

  推论:如果你的国家允许使用加密,最好安装ssh客户端和服务端在你的Unix机器上。(当然,根据你的需求)。

  在讨论Unix工具的结束,我提示一下在各个系统上专有的工具:在Solaris中,你可以选择ndd, aset;在Irix中,你可以使用ipfilterd。 MacOS X 提供了一些免费的工具:ssh,ipfwadm... 一会儿会再说到它。

  现在,我们可以讨论那个孤独的(真是很幸运,只有一个!)Not Terminated 4.0了。这里就谈不上什么自由软件了...无论如何来自Redmond的人提供了”免费”的东西来提高系统特性(这里可是发现臭虫没有什么关系,因为它没有臭虫!)。关于系统安全,NT 4.0可是个教材...不过是,反面的。 It's a bit like a sieve! Never mind. 相应的,你只要下载最新的Service Pack(写这篇文章时是6)就可以了。和补丁... 安全的补丁。 其次... 你可以得到一些免费工具(意思是免费使用没有原代码)。这就是它了。

  其他的系统你就要搜寻一番了。AmigaOS来说,开发工作没有吸引很多的人并且TCP/IP层有一点老了。无论如何,在公众领域,他们还在运作。关于BeOS,情况也不大好:这个很好的系统好像有一个折中的性能并且称做Bone的网络层还在工作。(作者提示:不幸的是BeOs已经死了。很少有人使它保持活力。作为一个自由软件产品... 他们还是做的不错的)。

  不过,你还是可以在Unix世界里找到一些工具来提高系统性能。

  主机安全化

  现在你必需配置所有这一切!再提一遍,我们假定每一个Unix机器都”配备”了影射工具, PAM,TCPWrapper,没有用的服务都停掉了或删除了,一些”敏感”的目录的访问权限被加强了,等等。

  在Linux机器上,这时是起动Bastille-Linux时候了。(这个工具可以运行在很多的Linux发布版本中,虽然它原先是专为Redhat和Mandrake设计的)。你可以很轻松的回答它限制性很强的提问。

  使用Linux机器作为网关,系统一定”最小化”。你可以去掉大多数的服务:http,ftp,等等。去掉X11图形界面:你不需要它!去掉不需要的软件...这么一来,系统大部分都去掉了。停掉没有用到的后台程序。你应该得到这么一个系统:当你键入 ps ax命令时,显示填不满一个屏幕。如果你使用IP伪装,lsof -i命令只显示一行:那个它关注的监听的服务器(我们假设它不是一个永久的联接)。

  你一定要把portsentry装到机器上并且它会在机器起动时起动,使用”高级”模式(为Linux定做的,它使用 -atcp和-audp选项)。这意味着TCPWrapper和firewall都已经安装上了。回头再说这个。

  对Solaris来说,我们使用aset and ndd命令。回头也要提到它。 portsentry已要安装。我们要使用IP Filter并且使用RPCbind版本2.1取代标准版本,版本2.1可以从porcupine.org下载。对Irix来说,我们选择ipfilterd来进行如其名曰的包过滤。它时Irix发布版本中的一部分,但是不被缺省安装。

  对NT来说,事情有一点复杂...比较”法西斯”的做法是持续地阻塞(最好是去掉)端口137和139,它是著名的NetBIOS。但是这样就没有网络留下了(这就是Windows的网络)。再涉及到应用服务器的时候,它会出现一点小问题。你也可以安装snort但是它不能阻止象sieves这类的东西干扰机器。相应地,你要十分严格地检查分区访问权限,目录访问权限...

  而且你一定要工作在NTFS分区上。这里也有免费的去除guest帐户的工具但是没有源代码。然后安装所有的你能找到的安全补丁!无论怎么说,卷起你的袖子大干一场使得系统不太轻易的受到攻击。这有点象学习攻击系统的教程,还是强制的。

  对于其他”离奇”的操作系统,你可以搜寻和选择适当的工具。总的来说,基本的规则是一样的:服务开启的越少越好。

保护网络

  如果你的主机已经适当的”准备”了,你只是完成了事情的一半。你需要继续前进。既然我们谈到了自由软件,我们会为网关配置防火墙:这样你就可以把机器放到”野蛮”的世界里去了。毫不犹豫的(又一次!)我们使用Linux机器:这样我们就可以使用 Bastille-Linux防火墙了。不同版本,或使用ipchains 或使用ipfwadm。如果你用的Linux是2.4的内核,你就使用ipchains。

  一个小的心得:当涉及到安全时,把所有的初级问题堆叠到一起可不是个好主意。把内核立刻升级到最新版本也许会带来很坏的负面效应。这不是说新的内核工作不好,而是”陪嫁”的工具不能协调(新的内核)工作,这也许会犯大错误的。一个建议:耐心。作为新内核一部分的新防火墙工具很有前途,但是有点儿”年青”。这么说,你是不是轮到你...

  总之,Bastille-Linux防火墙既简单又有效率。 还有更多的精细的工具,有点儿象”天然气工厂” 称为T.REX。可以从以下网址下载:http://www.opensourcefirewall.com.如果你想得到一个很复杂的自由工具的话,它就是。

  其他的解决方案,比如说proxys,它工作的不是太好。另一点??:proxys常被误认为是防火墙。毫无疑问,它们是两回事。防火墙使用包过滤而不提供认证的手段。有2种的proxy服务:基于应用的和基于套接字的。总之,一个应用服务器管理整个的通讯过程和提供用户认证,这是为什么它要比防火墙多消耗系统资源的原因。但是,我再说一遍,这类的工具只能保护网络一小段时间。一个防火墙可以在15分钟内 ”攻克”。你听说过,不是吗?因此之前的适当安全化网络中的主机是很重要的:想把安全都托付给防火墙或Proxy而安全无恙的网络那可是异数呀!

  另一个减少危险的手段是加密。 比如,使用telnet服务简直是让攻击者脚踩红地毯一样大摇大摆的进入(你的网络系统),或者象你给了强盗商店的钥匙。不仅他们能得到环境 数据,而且能得到明明白白的文本形式的passWord:这也太爽了,不是吗? 相应地,你可以自在地在那些”不安定”的协议下使用ssh(或直接使用它)。如果你必需(?)使用 telnet,你可以在选择一个安全的联接。这就是说把telnet的端口重定位到一个安全的端口上。 如果你想得到更多信息可以参考:这篇名为”通过隧道”的文章 ( ../../English/May2001/article202.sHtml). (免费广告!)

  好了,我们是想提高系统安全,现在回过头来检查我们的工作。为了做到这一点,让我们变成”黑客”,我们将使用他们的工具。恶心,是吗?在这个领域,也有一个很棒的工具的组合,我们随意的选择其中2个:nmap和nessus。这里可没有重复。比如说,第二个就需要第一个的支持。这些工具是端口扫描工具,nessus还远胜于此。Nessus可以报告给你系统的弱点,而且把扫描结果和弱点数据库进行对比。在网络中运行这些工具使得你可以得到每个主机的弱点,无论什么操作系统。这些工具得到的结论很有实际的意义,所以这些工具要必备。你可以在以下网址找到nmap和nessus:http://www.insecure.org,http://www.nessus.org.

  在文章的开始我们讨论过一些联接外部网络的局域网的安全问题。这和一个因特网服务提供商的情形会有很多的不同并且我们不会在这个问题的上深入讨论。当然我们提到的依然有效但是你需要更精细的手段,比如VPN(虚拟私人网络),LDAP作为认证手段(打比方)等等。这几乎是另一个主题了因为它涉及到的东西有更多的约束条件。请千万不要提到电子商务网站,这些网站是不考虑安全隐患的。不过他们总是说自己的网站是安全的!不要告诉我...你已经通过因特网发送了你的信用卡的卡号了。如果是,你的勇气可嘉。建言:如果你会法文可以看一下这个网站:http://www.kitetoa.com, 这很值哦。

系统特殊性的考虑

  我们已经提过系统安全在敌人面前的表现是不一样的。有些有很好的能力但另一些没有。有点荒谬的,自由的操作系统是很好的。不同的BSD(OpenBSD, NetBSD,FreeBSD...),不同的Linux在安全方面走在别的系统的前面。当然,这归功于自由软件社区的伟大的工作。别的系统,即使有Unix的标签的,要差一点的。不是Unix的系统,那很糟糕。

  所有这里提到的工具都在所有的操作系统里运转。大多数的专有的Unix系统也可以从中得益。无论如何,这些专有的操作系统大多数都有自己的工具。比如,在Solaris上有ndd and aset。因为传播的不广,Sun的系统不是一个很好的安全的典范。

  aset工具允许提高进入的权限的安全。aset提供3种保护等级:低,中,高。你可以在shell中运行它或者在cron任务中起动它。在运行的网络中,事情总是变化的,在5pm是可以的在5.30pm是不可以的情形是有的。因此周期性的运行一些命令保持某种平衡的需要是有的。这就是aset由cron管理的原因。它总是每一小时或每30分钟,或者你想的任何时间,管理目录文件的进入权限...

  ndd,允许改变IP栈的参数。比如它可以隐藏系统的fingerprints。一个被识别出的系统更容易受到攻击,因为入侵者知道从哪里”下手”会更容易。使用ndd,你可以改变最大段尺寸(MSS)。默认的情况下,Solaris2.6是536。命令ndd -set /dev/tcp tcp_mss_def 546,可以使MSS变为546。越高越好(也不能太多)。不过,Nmap可以找到这个弱点(值设的过大)。如果你运行Solaris,你可以自在的使用ndd。这里有很多的可选项:检查一下man帮助:

  你可以使用IP Filter,一个包过滤工具。在以下的网址可以找到: ftp://coombs.anu.edu/pub/net/ip-filter.

  涉及到Irix,情形又有不同!SGI(ex Silicon Graphics)如其名曰,是专用的图形设计的系统。安全不是它的关注的重点。小心没大错,应该强制性地提供工具减少危险。

  ipfilterd在Irix中的发布中提供,但是在缺省情况下没有安装:你应该找到它!ipfilterd当然是个包过滤软件,这样你可以拒绝某人的访问。你可以在一个叫做ipfilterd.conf的文件中设置并且这里还有一点小奇巧。这个文件的字符比较奇特并且它不是空格和空行。如果你想让一个叫做mars的机器和一个叫做jupiter的机器(是SGI工作站的名子),你需要键入以下的命令:


  accept -i ec0 between jupiter mars

  在这个机器中,文件没有被列举的是不允许进入jupiter的。更甚的是:如果你没有使用systune改变 ipfilterd_inactive_behavior的参数,没有人能够进入这台机器。很有效率,不是吗?这个参数的默认设为1,并且你应该使用systune -i ipfilterd_inactive_behavior 0 命令把它变成0。

  另一个尽人皆知的事情是Irix有易个很”好”的易入侵性的东西,它是fam(文件变更监视器)。这个程序有一个很好的特性,在各个后台程序间通讯。比如,它可以使得文件管理器得到一个很漂亮的图标。很遗憾地,这里只有一件事情可以做的:关闭它!悲惨吧,但就要这么干。

  为了结束Unix系统的讨论,让我们提一下QNX,它是很容易受到攻击的,但是你同样可以从自由软件中受益。Mac OS X也提供一些工具。

  我们必需谈论一下在网络系统中绝对的参照物了:这就是孤独的NT4.0。维护它的安全简直是乌托邦的观点,当然Redmond的头头(和其他一些人)可不这么说。使用nessus模拟一次攻击,结果会使你遭遇到恶梦一般。只要NetBIOS处于激活状态,nessus会提供给你域中每台机器名和相应的用户名,包括管理员。答案是:干掉NetBIOS!对了,我们说过,没有NetBIOS就没有网络...你看着办吧。

  nessus会很可爱的告诉你可以在空事务(就是使用空(NULL)用户名和空(NULL)密码)中以客户的身份登录。删掉它,那么...怎么办?怎么成了这个样子!

  所以,必需减少进入分区(NTFS)和目录。对FAT分区来说...没有办法。不过,有时你需要使用FAT分区,因为有些软件在NTFS上不工作。最后,不要用庞大的IIS,特别是ftp服务器。实际上,不要安装它。现如今,许多的ISP真是疯了,他们还敢用这些东西,我们仅仅告诫使用Apache替代它,但是...我们不会在IIS上浪费太多的时间,在这个主题下有很多的文化。

  事实上,这里有一个办法使得筛子变成过滤器(就是漏洞小一点!)。问题是那需要费很多的口舌就是整个杂志也说不完。让我们只提示其中的要点。这些观点和自由软件没有关联:我们谈论的是微软世界!第一个建议是使用MSCE(微软安全配置编辑器),它在SP4中提供并且带有MMC(微软管理控制台)。但是,你要格外地小心!如果你犯了一个错误,你就赢了。当然,必需是英语版本。在微软的世界里,如果你使用非英文的版本,你得到的果子不会很好吃。无论如何,我可警告过你了。接下来,在这些需求中,你必需”安全化”管理员帐号,或者不要激活它。看一下从SP3中就有的passprop。你可以使用passfiltdll加固密码而且是要通过注册(我认为发明它的人真是得了LSD流感...)。干掉那个著名的客户帐号。它也不是很有用(上面说了),但这只是使得情况不至于太糟而已。不过,你可以通过注册限制log文件的进入。在"HKEY_LOCAL_MACHINE"中,创建关键字 SystemCurrentControlSetServicesEventLogApplication。安全和系统(这两个会取代应用程序的)。他们的名子是 "RestrictGuestAccess",其中有REG_SZ 并且它的值是1。你可以使用syskey加密密码。小心哦,这可是不可逆转的操作!最后,有一些好消息:你可以限制客户访问。再一次,我们使用注册,还是在 "HKEY_LOCAL_MACHINE"。这次的健称做 SystemCurrentControlSetControlLsa。名子是 "RestrictAnonymous",类型是"REG_DWORD" 并且它的值是1。不过,对微软世界来说是一个讽刺:你会被提醒:这些变更会影响一些网络服务... 这些事情的要点就是限制访问某些端口,在配置面板中开启网络应用。在TCP/IP属性中,选择”高级”和选中”激活安全”框(我认为有这个名子,但是在我家没有这个东西让我试试)。在”安全”窗口,选中”Allow only” 并且选择你想激活的端口。这里,可要小心。你要知道你干的是什么,否则一些服务会不工作的。 有很多的东西要干,不过这些是根本。你想知道更多,可以参观:sans.org。有成吨的文档。

事情的不可忍受

  好,你已做了所有这一切。你运行nessus扫描整个网络但是你仍然存在安全漏洞。我们不会说他们来自什么地方...我们已经知道!

  试图迷惑这些系统替代品。它不去除通过NetBIOS”提供”的漏洞,而是它将限制破坏。 建立子域。作为管理人员不要登录。

  打补丁。最后,在被用作网关的Unix机器上掩藏所有这一切。遗憾地,安全的相对论仅仅不来自由Redmond制造的产品。网络是活的:

  总有某样东西在运行。一个好的管理人员是“paranoid”因此经常检查“固定装置的总量”。写脚本使检查自动化。有规律地检查SUID与SGID,关键的文件,log文件的习惯...为了得到一些更多朋友,锁住用户软驱和CDROM的设备。不要接受未经同意的用户下载软件尤其是当这种软件在微软世界总是是可执行的。使用邮件过滤系统以防止你的用户打开Word或者Excel格式的附加文件。是,我知道这么做就像法西斯一样,但是你能对着宏病毒做什么呢?不要使用诸如Outlook的产品。再一次,你必须了解你想要什么!我知道,我所说的是无价值的,但是你能对这种产品谈论安全?著名的“我爱你”病毒不能说明任何问题。

  有关Unix,下载也必须被控制。 校验偶然尚未被提供。

  你应该养成一个周期地检查log文件,脚本和扫描控制你的网络的习惯。你将注意到:

  事情变化十分快并且不仅仅是朝着好的方向发展。

  最后,我们要提到话,就是不忘记备份。 备份的策略没有变化: 每日,每星期和每月。 Unix机器也会有问题,即使它是不寻常的。同时,有时用户犯错误的而也不是经常的。大多数问题来自负责机器或部门的管理人员:--(

最后,终于完了!

  如果你看到这一节那可是勇气可嘉呀。问题是我们仅仅大概浏阅了整个的主题!安全是没有终结的并且还不仅仅是网络。易受攻击的程序会毁掉一个网络。一个配置不好的防火墙比没有安防火墙更糟。每个Unix机器一般都有成千的文件。谁能保证没有一个是易攻破的呢?谁能想到一个攻击者可以破解一个128位的密码?你不要被愚弄:他会找到屋子的后门。再说一遍,即使你安装了所有的安全工具,但是如果你只留了一个小漏洞,那么这个小漏洞就可以导致系统被击穿。

  安全可以看成是这样一种行为:你要紧跟形势。比如说,周期地浏阅安全网站,包括你机器的操作系统的网站...比如Sun每个月发布推荐的补丁。SGI每3个月发布Irix的新版本。微软频繁地提供服务包和补丁。 Linux发布的各个版本每发现一个易受攻击点就发布更正。各种BSD系统也是这样。如果你不使用那些产品连同补丁从硬盘中删掉就是了。就是这样子:事情要干的事情列出来会很长很长的。总之,这个工作是没完没了。

  最后,让我再说一遍,我们做的只是使你的系统不太容易受到攻击。不要期望你能得到一个100%安全的网络,即使是一段给定的时间(当然你停掉机器不算)。这样子说,好像对维护系统安全工作不负责似的... 但是它会时刻提醒你。但是不要搞的你的日常生活也是这样,你旁边的人比机器更友好一些...

使用自由软件维护异构网络的安全  来源:不明  类别:安全文献  日期:2003-7-4 16:08:03  今日/总浏览: 1/51  


计算机网络安全很可能是21世纪几大技术挑战之一。

  总之,象许多让人忧心的领域,每个人都谈论它,但是即使是应该感受最深的人也没有察觉到潜在灾难的规模是如此之大。”感受最深”指的是支撑软件或系统软件设计者。最好的例子一再被提到,来自于Redmond,在那里,安全可没有象市场那样运转的按步就班。

  幸运地,在20世纪的最后2个10年里诞生了自由软件和随之而来的哲学。如果你想提高你的机器,你的系统,你的网络的安全的话,你就应该在这里多花些工夫。自由软件团体在安全方面的工作比所有的大公司合起来都多。

  可以这么说,工具不能解决所有的问题,维护一个网络的安全是永久性的任务:因为总是会出现新的情况。

  这意味着你不能说一个网络100%的安全。你能做到的是消除潜在的隐患。我们这里讨论的只是你能减少隐患的一小部分。读完这份特刊(作者注:你应该记住这篇文章是一本法国的Linux杂志关于安全的特刊),你会了解更多一些安全的知识,但是无论如何你不能说你的网络是安全的。在这里我预先警告过你一下。 当然象这样一篇文章不能穷尽所有问题。安全问题已经形成了许多自己的文化但是距离彻底的解决问题还很远。相应地,不要从这篇文章中揣测象操作系统,工具,配置等等事情。

  作为导言的结束,在这篇文章中我们引用LinuxFocus的文章的几部分,不要担心,已经征得作者同意:已经证实他和本人是同一个人!

引言

  首先,我们探讨有着很多不同系统的异构网络的结构,其中的系统或多多少已经地广泛传播。操作系统越多,系统越复杂,因为不是所有的系统在表现?上都是一致的。更进一步,作为服务器的机器在网络中有不同的功能:我们将拥有一个多样化的网络。

  其次,我们将浏览一系列的对提高安全性有助益的工具。选择是很多的:我们不可能一一列举。很显然,我们会讲解如何使用这些工具来提高机器和网络的安全性。下一章节回顾不同系统在安全性方面的特点。 结论将解释安全过程的”相对性”,说明为什么安全性还有一条很长的路要走,而不是把它”划分” 到未来学里面去。

一个异构网络的例子

  第一个有利的是地球上所有的操作系统都”讲”TCP/IP语言。有了这一点不同的系统可以相互通信。相应地作为探讨网络的一个例子,TCP/IP总是被提到。换而言之,其他专有的,不常见的和过时的协议不会提到。我们也不讨论物理结构,比如连接的形式,分类等等。

  这样我们在这个网络里什么都放一些进去。当然会包括UNIX,无论专有的或免费的,比如,Solaris2.6,或SunOs 5.6,如果你原意也可以是Irix 6.5,Linux(RH 6.2)或MacOs X。我们可以加一些QNX,NeXTSTEP,NetBSD或OpenBSD。为了遵循”传统”,我们将包括那个叫Not Terminated 4.0的东西(不是,没有什么别的意思,只是它比你想像的更糟糕)。

  这里呢,我们还包括OS2这个稍好一点的系统。最后我们加入一些”非传统”的OS,比如BeOS,AmigaOS(是的,它存在。不相信吗?)

  当然有的人已经抱怨了:什么没有AIX,没有HP-UX?没有。如果你提到每一个UNIX,那会写一个10卷的文章。无论如何,基本的安全准则对所有的系统都是有效的。

  现在,我们能叫它们做些什么呢?

  举例来说,可以让Solaris作为应用服务器。Irix负责备份。NT作为另一个应用服务器。Linux作为网关。另一个Linux机器用做http服务器或者数据库服务器。其他所有的机器都是客户机。网络中大约30台机器使用密文认证。我们将选择比较复杂的认证方式: NIS (Yellow Pages),LDAP或者Kerberos...。为了让事情简单一点。我们不使用NFS,它也许有用并且安全性能有所改善,但是从安全着眼,你最好忘记它。在法国,有句老话,”最好不要把所有的鸡蛋放到一个篮子里”。不是”一定要”但最好是服务或者协议一个系统只使用一种。举例来说,一个ftp服务器,http服务器很适宜在各自的UNIX机器上。另一些UNIX机器可以用做SSH服务器,其他的做SSH的客户端。后面我们会提到SSH。我们将使用静态的IP:不要DHCP。换而言之,我们使用基本的功能即可。这个样子可以构成一个有50台机器的网络。机器再多那就会变成恶梦的。

安全工具和如何使用他们

  一般来说,做一件事情总是有不止一种方法(TIMTOWDI)。理想的情况是一切从头来,安装机器建立网络。但是现实可不是演电影!相应地,我们的网络应该是用过一段时间了,机器从这里搬到哪里,旧的去新的来。因为CPU在Mhz上的”竟赛”,举例来说,今天的Intel 的机器不会持续很长的时间。大约3年以后,机器的零部件就很难买到了。你要不让你的机器废物利用做些轻便的工作要不就是干脆把它扔掉:无奈但是很现实。幸运的是,其他的系统持续时间长一些并且还可以继续提高。不要说这些跑了题:一个管理员总是要尽量利用现有的条件。

  基本的东西

  工作的第一步通常做我们称”一般性”的部分。那就是去掉每台机器中没有用到的东西:这可不是一件轻松的差使。每个操作系统,包括Unix在内,安装了数不清你用不到的服务,协议。主说:扔掉它。在Unix环境下,简单。。粗暴的方法是注释掉/etc/inetd.conf 文件中的每一个服务。这样就干掉了一些。 这好像有一点霸道,但是在许多机器上这是值得推荐的。这也要看你的需求是什么了。在Linux中和其他一些很少见的系统中你可以使用chkconfig 命令去删除一些服务。

  还要检查SUID/SGID文件,毫不犹豫地把”失误”位去掉。或不要激活程序。一个如下的命令: find / -user root -a ( -perm -4000 -o -perm -2000 ) -print 可以列表所有这样的文件。去掉S位,键入chmod a-s programname (注意:你去掉s位后可能失掉一些功能。 它终归有其目的)。

  去掉所有”危险”或已知的”冒险”的程序:远程命令如rsh,rlogin,rcp等等。可以使用SSH取而代之。

  检查象/etc,/var这样目录的权限,越严格越好。比如,给包含起动文件(在许多Unix系统中是 /etc/rc.d/init.d)的目录使用chmod -R 700是不错的主意。相同的规则可以运用到所有系统的网络部分,去掉你不使用的,至少不激活它。对NT来说,你可以轻松地在配置面板中设置。这里有很多基本的东西去做并许多文化的主题都来源于此。

  工具

  让我们从Unix说起,因为它是唯一真正考虑过安全问题的操作系统。其次,Unix可以运行很多的自由工具软件并且大多数也能运行在Unix的衍生版本中。

  从现在起,我们开始安装各个机器。为了达到网络安全,在做各种事情之前,首先考虑事情的各个元素达到安全要求没有。安装这些工具是很轻松的工作,所以我们不会在这里浪费时间。安全工具不同的参数取决于系统,需求...甚至根据自己的意图来定制。第一个安装的工具是shadow utils。它的意思是做密码加密。幸运地,这已经成了许多Unix发布版本的一部分。文件/etc/shadow就是/etc/passwd”创建”的。

  更好的工具是PAM(插入认证模块)限制用户访问某种服务。每个被关注的服务都使用目录中的配置文件管理一切的事务。这个配置文件一般是/etc/pam.d。许多服务都是PAM”驱动”的,比如,ftp,login,xdm等等,让管理员分配每个人有不同的权限。

  下一个工具是必需提到的:TCPWrapper。它可以工作在大多数的类Unix版本中。简短解说,它限制某些主机对一些服务的访问。这些主机允许还是拒绝由2个文件来决定:/etc/hosts.allow和/etc/hosts.deny。TCPWrapper可以通过2种方法配置:或者把它放到后台,或者改变 /etc/inetd.conf配置文件。如果选择后者,你可以看到TCPWrapper可以和其他的工具和平相处。你可以在下面的链接中找到它: ftp://ftp.porcupine.org/pub/security

  另一个有益的工具就是xinetd。简短解说,xinetd是inetd的更新换代,它有更多的特性。刚才我们已经评论过了inetd,所以我们不推荐它。如果你感兴趣,你可以在以下的网址找到它:http://www.xinetd.org.

  在Linux环境下,这个工具你一定要有:它的名子是Bastille-Linux。它的链接是http://www.bastille-linux.org. 这个工具是用Perl写的,不仅很dd还很有效率。运行了一个脚本后,你会回答很多的问题, Bastille-Linux会根据你的每个回答一一配置。每一个问题都有解释并且提供缺省的设置。你可以不改变缺省的设置,起动一个新的配置,然后检查一下Bastille-Linux做了些什么。你都看到了吧!它也提供了一个防火墙的配置:我们回过头会在讨论它。写这篇文章的时候,Bastille-Linux的版本是1.1.1,但是1.2.0 作为候选版本已经发布了。它提高了不少,并且提供了基于Tk和Perl模块的图形界面。(作者提示:这篇文章在几个月前写的。事实上, Bastille-Linux最近的版本是1.3.0)。

  入侵监测系统也是不错。2个”重量级”的工具是snort和portsentry。第一个可以从下面下载:http://www.snort.org,第二个可以从Abacus网站下载,http://www.psionic.com。这2个有所不同:NIDS (网络入侵监测系统)主要是提供入侵信息,但是第2个可以说是面向主机并且功能更强大。snort有很多的可选项来监测网络通讯。你可以监听所有你想知道的:从主机出去的信息,到主机的信息,防火墙以内的,防火墙以外的。当然,它会产生巨大的log文件,但是你应该知道你想监测那些东西。Win 32版本也是有的,它是蛮重要的,因为这些”系统”中自由软件的数量是很有限的。

  portsentry有一个很有意义的特性:它可以根据的你选择来阻塞被扫描的端口。你或者把攻击者重定位到一个没有使用的地址,或者重定位到防火墙上。当然,你可以选择哪些阻塞,那些不阻塞。现在我们就可以回到TCPWrapper上来了:portsentry可以编辑/etc/hosts.deny文件,如果你想。这样,portsentry的效率会很高。我们不想陷入portsentry使用端口绑定的哲学的讨论中去,这在于你的选择:到你更进一步深入到这个主题后,你再做出自己的选择。另外,portsentry的一个特性是它可以是计算机”看不到”。这可不坏!最后portsentry可以使用不同的操作模式,但是这最高级的特性没有对Linux开放(至少现在是)。

  我们讨论安全就不能不提到加密。但是各国的法律对待加密上是不一样的。有的会完全禁止使用加密。

  作者提示:本文英语版本的关于加密部分已经从法语版本中删除了,因为它涉及到法国的法律。

  推论:如果你的国家允许使用加密,最好安装ssh客户端和服务端在你的Unix机器上。(当然,根据你的需求)。

  在讨论Unix工具的结束,我提示一下在各个系统上专有的工具:在Solaris中,你可以选择ndd, aset;在Irix中,你可以使用ipfilterd。 MacOS X 提供了一些免费的工具:ssh,ipfwadm... 一会儿会再说到它。

  现在,我们可以讨论那个孤独的(真是很幸运,只有一个!)Not Terminated 4.0了。这里就谈不上什么自由软件了...无论如何来自Redmond的人提供了”免费”的东西来提高系统特性(这里可是发现臭虫没有什么关系,因为它没有臭虫!)。关于系统安全,NT 4.0可是个教材...不过是,反面的。 It's a bit like a sieve! Never mind. 相应的,你只要下载最新的Service Pack(写这篇文章时是6)就可以了。和补丁... 安全的补丁。 其次... 你可以得到一些免费工具(意思是免费使用没有原代码)。这就是它了。

  其他的系统你就要搜寻一番了。AmigaOS来说,开发工作没有吸引很多的人并且TCP/IP层有一点老了。无论如何,在公众领域,他们还在运作。关于BeOS,情况也不大好:这个很好的系统好像有一个折中的性能并且称做Bone的网络层还在工作。(作者提示:不幸的是BeOs已经死了。很少有人使它保持活力。作为一个自由软件产品... 他们还是做的不错的)。

  不过,你还是可以在Unix世界里找到一些工具来提高系统性能。

  主机安全化

  现在你必需配置所有这一切!再提一遍,我们假定每一个Unix机器都”配备”了影射工具, PAM,TCPWrapper,没有用的服务都停掉了或删除了,一些”敏感”的目录的访问权限被加强了,等等。

  在Linux机器上,这时是起动Bastille-Linux时候了。(这个工具可以运行在很多的Linux发布版本中,虽然它原先是专为Redhat和Mandrake设计的)。你可以很轻松的回答它限制性很强的提问。

  使用Linux机器作为网关,系统一定”最小化”。你可以去掉大多数的服务:http,ftp,等等。去掉X11图形界面:你不需要它!去掉不需要的软件...这么一来,系统大部分都去掉了。停掉没有用到的后台程序。你应该得到这么一个系统:当你键入 ps ax命令时,显示填不满一个屏幕。如果你使用IP伪装,lsof -i命令只显示一行:那个它关注的监听的服务器(我们假设它不是一个永久的联接)。

  你一定要把portsentry装到机器上并且它会在机器起动时起动,使用”高级”模式(为Linux定做的,它使用 -atcp和-audp选项)。这意味着TCPWrapper和firewall都已经安装上了。回头再说这个。

  对Solaris来说,我们使用aset and ndd命令。回头也要提到它。 portsentry已要安装。我们要使用IP Filter并且使用RPCbind版本2.1取代标准版本,版本2.1可以从porcupine.org下载。对Irix来说,我们选择ipfilterd来进行如其名曰的包过滤。它时Irix发布版本中的一部分,但是不被缺省安装。

  对NT来说,事情有一点复杂...比较”法西斯”的做法是持续地阻塞(最好是去掉)端口137和139,它是著名的NetBIOS。但是这样就没有网络留下了(这就是Windows的网络)。再涉及到应用服务器的时候,它会出现一点小问题。你也可以安装snort但是它不能阻止象sieves这类的东西干扰机器。相应地,你要十分严格地检查分区访问权限,目录访问权限...

  而且你一定要工作在NTFS分区上。这里也有免费的去除guest帐户的工具但是没有源代码。然后安装所有的你能找到的安全补丁!无论怎么说,卷起你的袖子大干一场使得系统不太轻易的受到攻击。这有点象学习攻击系统的教程,还是强制的。

  对于其他”离奇”的操作系统,你可以搜寻和选择适当的工具。总的来说,基本的规则是一样的:服务开启的越少越好。

保护网络

  如果你的主机已经适当的”准备”了,你只是完成了事情的一半。你需要继续前进。既然我们谈到了自由软件,我们会为网关配置防火墙:这样你就可以把机器放到”野蛮”的世界里去了。毫不犹豫的(又一次!)我们使用Linux机器:这样我们就可以使用 Bastille-Linux防火墙了。不同版本,或使用ipchains 或使用ipfwadm。如果你用的Linux是2.4的内核,你就使用ipchains。

  一个小的心得:当涉及到安全时,把所有的初级问题堆叠到一起可不是个好主意。把内核立刻升级到最新版本也许会带来很坏的负面效应。这不是说新的内核工作不好,而是”陪嫁”的工具不能协调(新的内核)工作,这也许会犯大错误的。一个建议:耐心。作为新内核一部分的新防火墙工具很有前途,但是有点儿”年青”。这么说,你是不是轮到你...

  总之,Bastille-Linux防火墙既简单又有效率。 还有更多的精细的工具,有点儿象”天然气工厂” 称为T.REX。可以从以下网址下载:http://www.opensourcefirewall.com.如果你想得到一个很复杂的自由工具的话,它就是。

  其他的解决方案,比如说proxys,它工作的不是太好。另一点??:proxys常被误认为是防火墙。毫无疑问,它们是两回事。防火墙使用包过滤而不提供认证的手段。有2种的proxy服务:基于应用的和基于套接字的。总之,一个应用服务器管理整个的通讯过程和提供用户认证,这是为什么它要比防火墙多消耗系统资源的原因。但是,我再说一遍,这类的工具只能保护网络一小段时间。一个防火墙可以在15分钟内 ”攻克”。你听说过,不是吗?因此之前的适当安全化网络中的主机是很重要的:想把安全都托付给防火墙或Proxy而安全无恙的网络那可是异数呀!

  另一个减少危险的手段是加密。 比如,使用telnet服务简直是让攻击者脚踩红地毯一样大摇大摆的进入(你的网络系统),或者象你给了强盗商店的钥匙。不仅他们能得到环境 数据,而且能得到明明白白的文本形式的password:这也太爽了,不是吗? 相应地,你可以自在地在那些”不安定”的协议下使用ssh(或直接使用它)。如果你必需(?)使用 telnet,你可以在选择一个安全的联接。这就是说把telnet的端口重定位到一个安全的端口上。 如果你想得到更多信息可以参考:这篇名为”通过隧道”的文章 ( ../../English/May2001/article202.shtml). (免费广告!)

  好了,我们是想提高系统安全,现在回过头来检查我们的工作。为了做到这一点,让我们变成”黑客”,我们将使用他们的工具。恶心,是吗?在这个领域,也有一个很棒的工具的组合,我们随意的选择其中2个:nmap和nessus。这里可没有重复。比如说,第二个就需要第一个的支持。这些工具是端口扫描工具,nessus还远胜于此。Nessus可以报告给你系统的弱点,而且把扫描结果和弱点数据库进行对比。在网络中运行这些工具使得你可以得到每个主机的弱点,无论什么操作系统。这些工具得到的结论很有实际的意义,所以这些工具要必备。你可以在以下网址找到nmap和nessus:http://www.insecure.org,http://www.nessus.org.

  在文章的开始我们讨论过一些联接外部网络的局域网的安全问题。这和一个因特网服务提供商的情形会有很多的不同并且我们不会在这个问题的上深入讨论。当然我们提到的依然有效但是你需要更精细的手段,比如VPN(虚拟私人网络),LDAP作为认证手段(打比方)等等。这几乎是另一个主题了因为它涉及到的东西有更多的约束条件。请千万不要提到电子商务网站,这些网站是不考虑安全隐患的。不过他们总是说自己的网站是安全的!不要告诉我...你已经通过因特网发送了你的信用卡的卡号了。如果是,你的勇气可嘉。建言:如果你会法文可以看一下这个网站:http://www.kitetoa.com, 这很值哦。

系统特殊性的考虑

  我们已经提过系统安全在敌人面前的表现是不一样的。有些有很好的能力但另一些没有。有点荒谬的,自由的操作系统是很好的。不同的BSD(OpenBSD, NetBSD,FreeBSD...),不同的Linux在安全方面走在别的系统的前面。当然,这归功于自由软件社区的伟大的工作。别的系统,即使有Unix的标签的,要差一点的。不是Unix的系统,那很糟糕。

  所有这里提到的工具都在所有的操作系统里运转。大多数的专有的Unix系统也可以从中得益。无论如何,这些专有的操作系统大多数都有自己的工具。比如,在Solaris上有ndd and aset。因为传播的不广,Sun的系统不是一个很好的安全的典范。

  aset工具允许提高进入的权限的安全。aset提供3种保护等级:低,中,高。你可以在shell中运行它或者在cron任务中起动它。在运行的网络中,事情总是变化的,在5pm是可以的在5.30pm是不可以的情形是有的。因此周期性的运行一些命令保持某种平衡的需要是有的。这就是aset由cron管理的原因。它总是每一小时或每30分钟,或者你想的任何时间,管理目录文件的进入权限...

  ndd,允许改变IP栈的参数。比如它可以隐藏系统的fingerprints。一个被识别出的系统更容易受到攻击,因为入侵者知道从哪里”下手”会更容易。使用ndd,你可以改变最大段尺寸(MSS)。默认的情况下,Solaris2.6是536。命令ndd -set /dev/tcp tcp_mss_def 546,可以使MSS变为546。越高越好(也不能太多)。不过,Nmap可以找到这个弱点(值设的过大)。如果你运行Solaris,你可以自在的使用ndd。这里有很多的可选项:检查一下man帮助:

  你可以使用IP Filter,一个包过滤工具。在以下的网址可以找到: ftp://coombs.anu.edu/pub/net/ip-filter.

  涉及到Irix,情形又有不同!SGI(ex Silicon Graphics)如其名曰,是专用的图形设计的系统。安全不是它的关注的重点。小心没大错,应该强制性地提供工具减少危险。

  ipfilterd在Irix中的发布中提供,但是在缺省情况下没有安装:你应该找到它!ipfilterd当然是个包过滤软件,这样你可以拒绝某人的访问。你可以在一个叫做ipfilterd.conf的文件中设置并且这里还有一点小奇巧。这个文件的字符比较奇特并且它不是空格和空行。如果你想让一个叫做mars的机器和一个叫做jupiter的机器(是SGI工作站的名子),你需要键入以下的命令:


  accept -i ec0 between jupiter mars

  在这个机器中,文件没有被列举的是不允许进入jupiter的。更甚的是:如果你没有使用systune改变 ipfilterd_inactive_behavior的参数,没有人能够进入这台机器。很有效率,不是吗?这个参数的默认设为1,并且你应该使用systune -i ipfilterd_inactive_behavior 0 命令把它变成0。

  另一个尽人皆知的事情是Irix有易个很”好”的易入侵性的东西,它是fam(文件变更监视器)。这个程序有一个很好的特性,在各个后台程序间通讯。比如,它可以使得文件管理器得到一个很漂亮的图标。很遗憾地,这里只有一件事情可以做的:关闭它!悲惨吧,但就要这么干。

  为了结束Unix系统的讨论,让我们提一下QNX,它是很容易受到攻击的,但是你同样可以从自由软件中受益。Mac OS X也提供一些工具。

  我们必需谈论一下在网络系统中绝对的参照物了:这就是孤独的NT4.0。维护它的安全简直是乌托邦的观点,当然Redmond的头头(和其他一些人)可不这么说。使用nessus模拟一次攻击,结果会使你遭遇到恶梦一般。只要NetBIOS处于激活状态,nessus会提供给你域中每台机器名和相应的用户名,包括管理员。答案是:干掉NetBIOS!对了,我们说过,没有NetBIOS就没有网络...你看着办吧。

  nessus会很可爱的告诉你可以在空事务(就是使用空(NULL)用户名和空(NULL)密码)中以客户的身份登录。删掉它,那么...怎么办?怎么成了这个样子!

  所以,必需减少进入分区(NTFS)和目录。对FAT分区来说...没有办法。不过,有时你需要使用FAT分区,因为有些软件在NTFS上不工作。最后,不要用庞大的IIS,特别是ftp服务器。实际上,不要安装它。现如今,许多的ISP真是疯了,他们还敢用这些东西,我们仅仅告诫使用Apache替代它,但是...我们不会在IIS上浪费太多的时间,在这个主题下有很多的文化。

  事实上,这里有一个办法使得筛子变成过滤器(就是漏洞小一点!)。问题是那需要费很多的口舌就是整个杂志也说不完。让我们只提示其中的要点。这些观点和自由软件没有关联:我们谈论的是微软世界!第一个建议是使用MSCE(微软安全配置编辑器),它在SP4中提供并且带有MMC(微软管理控制台)。但是,你要格外地小心!如果你犯了一个错误,你就赢了。当然,必需是英语版本。在微软的世界里,如果你使用非英文的版本,你得到的果子不会很好吃。无论如何,我可警告过你了。接下来,在这些需求中,你必需”安全化”管理员帐号,或者不要激活它。看一下从SP3中就有的passprop。你可以使用passfiltdll加固密码而且是要通过注册(我认为发明它的人真是得了LSD流感...)。干掉那个著名的客户帐号。它也不是很有用(上面说了),但这只是使得情况不至于太糟而已。不过,你可以通过注册限制log文件的进入。在"HKEY_LOCAL_MACHINE"中,创建关键字 =版权所有  软件 下载  学院  版权所有=SystemCurrentControlSetServicesEventLogApplication。安全和系统(这两个会取代应用程序的)。他们的名子是 "RestrictGuestAccess",其中有REG_SZ 并且它的值是1。你可以使用syskey加密密码。小心哦,这可是不可逆转的操作!最后,有一些好消息:你可以限制客户访问。再一次,我们使用注册,还是在 "HKEY_LOCAL_MACHINE"。这次的健称做 SystemCurrentControlSetControlLsa。名子是 "RestrictAnonymous",类型是"REG_DWORD" 并且它的值是1。不过,对微软世界来说是一个讽刺:你会被提醒:这些变更会影响一些网络服务... 这些事情的要点就是限制访问某些端口,在配置面板中开启网络应用。在TCP/IP属性中,选择”高级”和选中”激活安全”框(我认为有这个名子,但是在我家没有这个东西让我试试)。在”安全”窗口,选中”Allow only” 并且选择你想激活的端口。这里,可要小心。你要知道你干的是什么,否则一些服务会不工作的。 有很多的东西要干,不过这些是根本。你想知道更多,可以参观:sans.org。有成吨的文档。

事情的不可忍受

  好,你已做了所有这一切。你运行nessus扫描整个网络但是你仍然存在安全漏洞。我们不会说他们来自什么地方...我们已经知道!

  试图迷惑这些系统替代品。它不去除通过NetBIOS”提供”的漏洞,而是它将限制破坏。 建立子域。作为管理人员不要登录。

  打补丁。最后,在被用作网关的Unix机器上掩藏所有这一切。遗憾地,安全的相对论仅仅不来自由Redmond制造的产品。网络是活的:

  总有某样东西在运行。一个好的管理人员是“paranoid”因此经常检查“固定装置的总量”。写脚本使检查自动化。有规律地检查SUID与SGID,关键的文件,log文件的习惯...为了得到一些更多朋友,锁住用户软驱和CDROM的设备。不要接受未经同意的用户下载软件尤其是当这种软件在微软世界总是是可执行的。使用邮件过滤系统以防止你的用户打开Word或者Excel格式的附加文件。是,我知道这么做就像法西斯一样,但是你能对着宏病毒做什么呢?不要使用诸如outlook的产品。再一次,你必须了解你想要什么!我知道,我所说的是无价值的,但是你能对这种产品谈论安全?著名的“我爱你”病毒不能说明任何问题。

  有关Unix,下载也必须被控制。 校验偶然尚未被提供。

  你应该养成一个周期地检查log文件,脚本和扫描控制你的网络的习惯。你将注意到:

  事情变化十分快并且不仅仅是朝着好的方向发展。

  最后,我们要提到话,就是不忘记备份。 备份的策略没有变化: 每日,每星期和每月。 Unix机器也会有问题,即使它是不寻常的。同时,有时用户犯错误的而也不是经常的。大多数问题来自负责机器或部门的管理人员:--(

最后,终于完了!

  如果你看到这一节那可是勇气可嘉呀。问题是我们仅仅大概浏阅了整个的主题!安全是没有终结的并且还不仅仅是网络。易受攻击的程序会毁掉一个网络。一个配置不好的防火墙比没有安防火墙更糟。每个Unix机器一般都有成千的文件。谁能保证没有一个是易攻破的呢?谁能想到一个攻击者可以破解一个128位的密码?你不要被愚弄:他会找到屋子的后门。再说一遍,即使你安装了所有的安全工具,但是如果你只留了一个小漏洞,那么这个小漏洞就可以导致系统被击穿。

  安全可以看成是这样一种行为:你要紧跟形势。比如说,周期地浏阅安全网站,包括你机器的操作系统的网站...比如Sun每个月发布推荐的补丁。SGI每3个月发布Irix的新版本。微软频繁地提供服务包和补丁。 Linux发布的各个版本每发现一个易受攻击点就发布更正。各种BSD系统也是这样。如果你不使用那些产品连同补丁从硬盘中删掉就是了。就是这样子:事情要干的事情列出来会很长很长的。总之,这个工作是没完没了。

  最后,让我再说一遍,我们做的只是使你的系统不太容易受到攻击。不要期望你能得到一个100%安全的网络,即使是一段给定的时间(当然你停掉机器不算)。这样子说,好像对维护系统安全工作不负责似的... 但是它会时刻提醒你。但是不要搞的你的日常生活也是这样,你旁边的人比机器更友好一些...

(出处:http://www.sheup.com)




标签: