网站安全,服务器和网站程序是关键
防止网站被挂马,从技术层面上讲,有两个方面,一方面是服务器本身的安全,另外一方面是网站程序的安全。对于网站程序本身,可以进行代码审计。如果没有足够的人力和物力,就用黑客工具进行扫面,检查漏洞,降低程序本身的风险。对于服务器本身,有两种情况,部分学校的二级网站是托管网络中心的,就不需要担心服务器安全的问题,只需踏踏实实地做好网站自身的管理。
对于服务器的安全加固,以Windows2003为例,sql服务器安全加固如下所述:安装最新的mdac(http://www.microsoft.com/data/download.htm)
密码策略
由于sql server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号。新建立一个拥有与sa一样权的超级用户来管理数据库。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的sql语句:
- use master
- select name,password from syslogins where password is null
数据库日志的记录
核数据库登录事件的"失败和成功",在实例属性中选择"安全性",将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。
管理扩展存储过程
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。请把它去掉。使用这个sql语句:
- use master
- sp_dropextendedproc ’xp_cmdshell’
注:如果你需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll’
ole自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下(不需要可以全部去掉:
- sp_oacreate sp_oadestroy sp_oageterrorinfo sp_oagetproperty
- sp_oamethod sp_oasetproperty sp_oastop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:
- xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues
- xp_regread xp_regremovemultistring xp_regwrite
防tcp/ip端口探测
在实例属性中选择tcp/ip协议的属性。选择隐藏 sql server 实例。请在上一步配置的基础上,更改原默认的1433端口。在ipsec过滤拒绝掉1434端口的udp通讯,可以尽可能地隐藏你的sql server。
对网络连接进行ip限制
使用操作系统自己的ipsec可以实现ip数据包的安全性。请对ip连接进行限制,保证只有自己的ip能够访问,拒绝其他ip进行的端口连接。通过以上的配置,禁止了服务器开放不必要的端口,防止服务被植入后门程序,通过配置目录权限可以防止入侵者拿到welshell后提权,加强了服务器的安全性,避免了对服务器的攻击和加强了TCP协议栈。
通过iis的配置提高了iis的安全性和稳定性。修改了sql server的默认端口,可以防止恶意用户对服务器进行扫描尝试暴力破解sa账户提供数据库的安全性。对服务器实现了整体的安全加固。
安全性提高对于网站来说,还需加强管理,尤其是日志的查看等日常操作。只有通过不间断的管理,才能及时的发现存在的问题,才能提高服务器的安全。安全没有绝对的,所有管理员需要不断地加固服务器。
【编辑推荐】