·建站首页 ·钻石 ·繁體
您的位置: 中国建站之家 -> 网站开发设计 -> ASP教程 -> ASP漏洞及安全建议(4)

ASP漏洞及安全建议(4)

作者:未知  来源:转载  发布时间:2005-9-15 0:03:55  发布人:acx

     六 ASP安全建议
   如何设置才能使ASP更加安全呢?以下我们重点来谈谈ASP安全方面要注意的问题。我们在第五部分“ASP漏洞和解决方法”中针对某些漏洞,也提出了相应的安全建议,这部分就不再重复。
    在这部分的后面还要介绍些可扫描ASP漏洞的工具。
  
  1 安装NT最新的补丁
   目前最新的补丁是NT Option Pack 6.0.,微软的主页有最新的补丁。一般来说微软都会及时的公布最新的漏洞和补丁。目前IIS最新是5.0。windows2000自带IIS5.0.
   IIS 5.0新功能如下:
  安全性上:包括摘要式验证、整合的Windows验证、SGC (Server-Gated Cryptography ) 、Microsoft Certificate Services 2.0、集区处理程序之程序保护等。
  管理上:包括IIS重新激活、站台CPU使用时间的限制、CPU资源使用记录、使用终端机服务远程管理IIS、自订错误讯息等。
  Internet标准上:包括WebDAV(Web Distributed Authoring and Versioning)、FTP重新激活、HTTP压缩等。
  
   Active Server Pages:包括新的转向方法(Server.Transfer与Server.Execute方法)、新的错误处理功能(Server.GetLastError方法)、无指令.asp的执行速度增快、可安装组件的效能调升、scriptlet支持、使用cookie取得浏览器信息、自动增减执行绪(executing threads)、SRC服务器端包含功能、script Encoder编码保护等。
   更具体的功能介绍请参见其它资料。
  
  2 关闭没有用的服务和协议
  “尽量少开没用到的服务”,这永远是网络安全的准则。如果开启了某个
  服务,你就要面对不少的漏洞困扰,更重要的是你还要时时提防未来的由这个服务所引起的漏洞。
   比如,你不使用ftp,那就把FTP关了,不然你就要发费大量的精力
  和金钱去应付那些什么DOS,缓冲区溢出之类的漏洞。NETBIOS也是windows的一大安全隐患,我想目前服务器很少需要Netbios。再如你的IIS安装了index server 服务,那你至少要面对三个以上的有关这个服务的漏洞,因此如果你没用到INDEX SERVER服务,也大可删除他.
   同样的道理,我们要安装最少的协议。千万不要安装点对点通道
  通讯协议。此外,还必须小心地配置TCP/IP协议。在TCP/IP的属性页中选择“IP地址”项目,然后选择“高级”。在弹出来的对话框中选择“安全机制”,这样你可以禁止UDP,然后开启IP端口6和TCP端口80。当然开不开这些端口主要是看你的情况了。
  IIS中的应用程序映射也是个很大的安全漏洞,请在IIS中设置好扩展名和可执行路径,删除没用的扩展名。
  
  3 设置好你的NT
   NT缺省安装时,系统账号Administrator和Guest被自动设置,很多攻击者就是利用这些账号来猜密码,从而进入你的系统。虽然没有足够的耐心,很难猜中这些密码,但是为了安全起见,建议把这些账号重新命名或者删除。
   NT SERVER的系统策略编辑器非常有用。按“管理工具”->“系统策略编辑器”就可以进入,然后选择“文件”->“打开注册表”,并选择“本地计算机”图标,就可以认真配置了。主要设置以下几项:
  1. 取消:网络->系统规则更新->远程更新
  2. 取消:WINDOWS NT网络->共享->创建隐藏的驱动器共享
  3. 设置:Windows NT远程访问下面的各项
  4. 设置:Windows NT系统->登录中各个项目。包括设置登录标记;不允许从“身份验证对话框”关机;不显示上次登录的用户名.
  5. 设置:WINDOWS NT系统->文件系统中的“不为长文件名创建8.3文件名”
   不要使用远程管理软件,除非不得已。由于NT不太支持远程管理,所以你可能会安装Reachout或者PC anywhere来管理。可是,当你安装了这些软件,你就不得不开启TCP/IP的所有端口。
   在你离开服务器的时候,请按”Ctrl+del+alt”,并选择“锁定工作站”。
  
  4 磁盘文件格式使用比较安全的NTFS格式。
   NTFS 权限是 Web 服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。当拥有 Windows NT 有效帐号的用户试图访问一个有权限限制的文件时,计算机将检查文件的 访问控制表 (ACL)。该表定义了不同用户和用户组 所被赋予的权限。例如,Web 服务器上的 Web 应用程序的所有者需要有“更改”权限来查看、更改和删除应用程序的 .asp 文件。但是,访问该应用程序的公共用户应仅被授予“只读”权限,以便将其限制为只能查看而不能更改应用程序的 Web 页。
  
  5 对目录设置不同的属性,如:Read、Excute、script。
   您可以通过配置您的 Web 服务器的权限来限制所有用户查看、运行和操作您的ASP 页的方式。不同于 NTFS 权限提供的控制特定用户对应用程序文件和目录的访问方式, Web 服务器权限应用于所有用户,并且不区分用户帐号的类型。 对于要运行您的 ASP 应用程序的用户,在设置 Web 服务器权限时,必须遵循下列原则:
   对包含 .asp 文件的虚拟目录允许“读”或“脚本”权限。
   对 .asp 文件和其他包含脚本的文件(如 .htm 文件等)所在的虚目录允许“读”和“脚本”权限。
   对包含 .asp 文件和其他需要“执行”权限才能运行的文件(如 .exe 和 .dll 文件等)的虚目录允许“读”和“执行”权限。
  
  6 维护 Global.asa 的安全
   为了充分保护 ASP 应用程序,一定要在应用程序的 Global.asa 文件上为适当的用户或用户组设置 NTFS 文件权限。如果 Global.asa 包含向浏览器返回信息的命令而您没有保护 Global.asa 文件,则信息将被返回给浏览器,即便应用程序的其他文件被保护。
  
  7不要把密码,物理路径直接写在程序中。
  很难保证您的ASP程序是否会给人拿到,即使你安装了最新的补丁。为
  了安全起见,应该把密码和用户名保存在数据库中,使用虚拟路径。
  
  8 在程序中记录用户的详细信息.
   这些信息包括用户的浏览器、用户停留的时间,用户IP等。其中
  记录IP是最有用的。
   可用下面的语句了解客户端和服务端的信息:
  
   <table><%for each name in request.servervariables%>
   <tr><td><%=name%>:</td>
   <td><%=request.servervariables(name)%></td>
   </tr>
   <%next%></table>
  
   如果我们可以记录了用户的IP,就能通过追捕来查用户的具体地点。
  当然如果用户通过代理来浏览网页,上面的方法只能看到用户代理的IP,而不能记录用户真实的IP。ASP没有提供查看客户端网卡物理地址(即MAC)的功能。
  
  9 C

[1] [2] [3] [4]  下一页

将本文收藏到QQ书签与更多好友分享