|
如何防止网络服务器被黑?
楼主
来源:幻想精灵@hi_567 10/14/2009 5:14:00 AM
1、对数据库进行安全配置,例如你的程序连接数据库所使用的帐户/口令/权限,如果是浏览新闻的,用只读权限即可可以对不同的模块使用不同的帐户/权限;另外,数据库的哪些存储过程可以调用,也要进行严格地配置,用不到的全部禁用(特别是cmd这种),防止注入后利用数据库的存储过程进行系统调用; 2、在获取客户端提交的参数时,进行严格的过滤,包括参数长短、参数类型等等; 3、对管理员后台进行严格的保护,有条件的话,应该设置为只允许特定的IP访问(例如只允许管理员网段访问)――这个要根据实际情况来看的; 4、对操作系统进行安全配置,防止注入后调用系统的功能,例如把 cmd.exe/tftp.exe/ftp.exe/net.exe 这些文件全部转移到其他目录,并对目录进行严格的权限指派; 5、设置网络访问控制; 6、有条件的话,配置针对HTTP的内容过滤,过滤病毒、恶意脚本等; 7、如果有必要,可以考虑选择HTTPS,这样可以防止很多的注入工具扫描,我以前自己开发注入检测工具的时候,考虑过做支持HTTPS方式的,但目前还没付诸实施。 相信你也看出来了,总的来说程序方面主要考虑权限、参数过滤等问题;权限主要包括IIS浏览权限、数据库调用权限。除此以外,还要考虑数据库、操作系统的安全配置。 另外,不知道你们在开发过程中会不会用到其他人开发的组件,例如图片上传之类的,这类组件你们研究过其安全性么?或者开发的过程中,绝大多数人会使用网上、书上提供的现成代码,例如用户登录验证等等,这些公开代码,也要研究其安全性问题。 |