大多的安全管理程序都能很好地使用防火墙,过滤路由器和其它的防御工具来保护它们的网络免于受到外部黑客的袭击。然而,对于你网络的最大的敌人莫过于内部的攻击。内部的访问控制列表(ACLs)可以帮助保护你的网络安全免遭内部危害。
你的路由器和交换机中的内部ACLs可以在安全构件中给你提供另外一个工具。通过在你的网络中限制传输的类型,你就可以提高性能,并且可以减少你的弱点,以防止内部攻击、特洛伊木马和蠕虫病毒的繁衍。当你开发了内部的ACLs,请记住这个基本的规则:客户端发出,服务器监听。
服务器监听
除非你创建了一个脚本来在服务器上运行,否则你就是使用服务器来控制其它的服务器或连接(例如,一个服务器终端或者一个打印机服务器),服务器不建立连接。它们从客户端的机器上相应服务需求。
所以,当你开发ACLs的时候,首先要确定每个服务器是干什么的,并且要知道哪个客户需要访问这些信息。例如,如果你在运行一个内部的,非SSL的网络服务,你可以把访问列表置于访问你的网络服务的端口处,并且只允许TCP的80端口可以访问。但是,如果这个服务器是范围控制器(DC),你就需要允许一系列的端口可以访问这个服务器,从而可以进行客户身份鉴定和登陆服务。
特别的,在Windows NT的DC,你需要允许:
NetBIOS 名称: UDP 端口 137
NetBIOS 网络登陆和浏览:UDP 端口 138
NetBIOS 会话:TCP端口 139
远程程序调用(RPC): TCP端口 135
或者,对于Windows 2000的DC,你需要允许:
Kerberos authentication: UDP/TCP port 88
RCP: TCP端口 135
轻量级目录访问协议(LDAP): UDP/TCP端口 389
微软路径服务:TCP端口 445
LDAP 全局目录:TCP端口3268 (如果DC保持着全局目录的操纵权)
服务器列表接下来,就依赖服务器的类型和功能The server list continues, depending on the type and function of the server.
客户端发送
正像我前面说的一样,客户端“talk”,或者建立连接。为了增加内部的安全性,你将会需要筛选客户端的外部连接。虽然试图筛选客户的连接不是一件容易的事情,可是一旦你知道你的服务器在监听哪个端口,你就可以知道你的客户在试图连接哪个端口。
给客户连接开发一个访问列表是通过了解你的客户需要什么服务决定的。例如,如果你不想让一个客户可以进行远程登陆,你就可以通过不允许它访问TCP端口23来完成。
最后的思考
你也许认为这些类型的ACLs太难进行管理。但是在你放弃这个决定之前,运行NMAP或者另外一个端口扫描仪并记录客户端和服务器的连接。这就可以给你提供一个工作基线,这样你就可以在这个基线上建立你自己内部的ACL ,并可以增加你成功的可能性。
特洛伊木马和蠕虫病毒需要端口才能进行通信。在你的内部网络中严格控制端口和协议,你就可以减少它们繁殖的几率,所以要特别关注你服务器和客户的开放端口。控制你的网络安全的过程很长,从网络连接开始到客户中止连接时才结束。
【相关文章】