首先,服务器上用的是私有的操作系统和数据库,所谓私有,并不是完全自己写,而是说,全部都是进行私有化改造过的,一般使用开源的操作系统和数据库进行改造,比如说操作系统使用free bsd的改,数据库使用mysql的改,网站服务器数量上百时开始实施这个工程的网站比较多,费用是很重要的一方面原因,但更重要的是安全因素。防火墙不仅昂贵,而且会严重降低效率,所以他们一般不会考虑。 改造操作系统的时候,除通信所需的一些命令文件保持原名外,很多命令文件连文件名都换掉(有人认为这是小花样,呵呵),大量功能被重写,黑客即使拿到权限坐在服务器面前,也取不到数据。
有网站首席安全官认为放一扇门让别人一个劲砸,不如给人两条路让人选择正确的或者不正确的,所有使用错误帐号和密码去试系统的人,都会被允许以匿名身份登陆到一个shell里,那个shell跟真的系统很象,嗯,只是很象,但其实是个空壳,所有的指令,都会被以最小代价运行,调用假的信息界面出来。有的甚至里面放了陷阱,欺骗性引导黑客自动送上身份资料或其他一些敏感信息,毕竟黑客可能通过境外跳板过来,如果不是黑客主动送上,网站方很难获得黑客身份资料的。
使用自己的安全策略,对已有的攻击手段都有相应的防护措施。比如说对syn flood这样的,就是临时降低服务质量,降低半连接等待时间,这样连接的成功率会降低,但是不会造成服务被停。
网络空闲时间经常有欺骗性数据流在办公网络和服务器之间流动,使用强度不高的加密方式加密,让黑客有事做。
网站内部工作人员使用业务系统登陆网站服务器时,界面上和一般服务器一样,所有的一般命令都可以通过业务系统转换为私有操作系统的专用命令而得到执行,网站内部工作人员也只有很少的知道转换的对照,而且一般都经过分权,做操作系统开发的,不负责服务器的维护,并且不知道安装某个内部版本号操作系统的服务器被部署到什么地方。
帐号及密码按规定必须通过安全的消息平台传递。
有自己部署在不同城市的DNS服务器,所有部署出去的应用都有不在同一机房的备用系统,应急机制设置在自己的DNS服务器这一环节,使用承载其他服务的服务器做交叉的安全状态监测,比如说A1服务器是A服务器的备用系统,使用CDEFGH等服务器来做A服务器安全状态监测,定时通信,并向A1服务器传递通信成功的信号,当失败率超过某个值的时候,A1自动分担A的部分压力,A1服务器上原本承担的非及时服务(不面向客户的,比如说索引服务)被降低优先级。所有服务器之间这么相互监测,通过某个机制保证监测是及时有效的。这样的情况下,即使某家DNS服务商被攻击,自己的网站都还能被大部分用户访问,因为不同地区的DNS还没被刷,用户还是可以使用那些DNS连接到网站的。
一般而言,使用了这些手段,网站的安全性不能说万无一失,也是大大提高的
本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。