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
如何设置才能使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
上一篇:ASP漏洞及安全建议(3)
下一篇:实现聊天室的悄悄话功能(上)