论Drupal的安全性

“这些年在与客户对话的过程中,经常会被问到“Drupal安全嘛?”这个问题。每次我都信心满满的向客户表示Drupal很安全,但又无法在短时间内作出更有说服力的表述。于是就在闲暇准备了以下这篇《论Drupal的安全性》,希望能够为尝试说服客户的Drupaler提供些素材。”

Drupal是一个经过验证的,安全的内容管理与应用框架,能够抵御世界上各种危险的漏洞,以防最糟糕状况发生。它成熟,稳定,强健,安全性高。 在世界范围很多公司、媒体机构与政府依靠Drupal打造其关键业务的网站平台,并以严格的标准测试它的安全性。Drupal有一个专属的安全团队,庞大的服务商生态,以及强大的开发者社区之一,这些确保了任何Drupal的安全问题都能得到快速响应。况且许多安全问题已被Drupal强健的编程标准与严格的社区代码审查机制所杜绝,做到防范于未然。

 

专属的安全团队

来自世界各地的数十位专家验证并响应Drupal的安全问题。 安全问题会以保密方式传递给安全团队。再由安全团队协同Drupal核心与模块开发者发布安全补丁。安全团队在发布补丁的同时,也会发布漏洞形因的解释与修复步骤的建议,以帮助用户将其带来的影响降到最低。

 

访问安全

原生的Drupal用户密码被存入数据库前,已进行Salt及多重hash加密。Drupal能够选择各种策略设定密码,例如密码最小长度、复杂度或密码到期时间。Drupal支持标准的验证模式,例如SSL、双因子认证等。也能够集成所有主流的单点登录系统,例如LDAP,Shibboleth,OpenID和SAML等。

 

颗粒化的用户权限控制

Drupal可以给予网站管理员完整的站点控制权,控制谁能看什么,谁能做什么。 Drupal运作在一个可扩展的“角色”与“访问权限”组成的系统上。 管理员可以创建多个“角色”并给予它们特定的权限。 例如,某网站可能需要一个“作者角色”,该角色可以创建、更新网站内容,但它不具备发布或删除网站内容的权利。而另一个“编辑角色”则能够发布与删除内容。用户能够通过被管理员赋予单个或多个“角色”来获得相应的权限。未获得相应权限的用户不仅无法访问相应的内容或功能,就连作为该内容页入口的菜单项也将会对他隐藏。

 

数据库加密

在一些对安全要求很高的网站或应用系统上,Drupal可以配置强健的数据库加密。 当不需要全库加密时,Drupal能以极细的颗粒度对特定的信息进行加密配置:用户帐户,特定表单,甚至特定字段的值都可以单独在数据库中加密。Drupal的加密系统能通过严格规范与法规,如:PCI,HIPAA以及离线密钥管理等。

 

防止XSS、CSRF跨站与SQL注入攻击

Drupal的Form API可确保数据在进入数据库前已得到安全验证与过滤。Drupal系统会测试用户输入的数据(甚至表单字段本身)是否是符合规范与预期格式。 每个表单在生成时都会加入Token(令牌),以防止潜在的CSRF攻击。Drupal数据库抽象层在对数据库进行读写时会执行额外的安全检查。

 

暴力破解监测

Drupal可在规定时间段内限制来自单个IP地址的尝试登录次数,以防止暴力破解。并且通过管理界面记录、显示失败的登录尝试以便追踪攻击来源。Drupal也可提供配置界面让管理员禁止特定IP地址或IP范围的访问。

 

缓解DoS攻击

原生的Drupal的缓存层(cache)已配置了页面、JS和CSS缓存。同时Drupal支持与Memcache、Redis、Varnish等高性能技术,以及所有主流CDN服务的深度整合。Drupal中自定义的组件也能通过缓存API以极细的颗粒度进行缓存与过期处理。 这种多层级的缓存架构极大地缓解了大流量对站点的影响,使得Drupal成为世界上一些流量最高网站的首选系统。

 

响应OWASP的10大风险

OWASP全称是Open Web Application Security Project。它是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究,推动了安全标准、安全测试工具、安全指导手册等应用安全技术的发展。

Drupal包含的功能响应了所有OWASP所指出的实践中常见的10大安全风险的防护守则。

 

安全认证响应

很多大型企业或政府出于网站安全考虑,在决定启用一个新的软件或技术之前,都会根据自己的特性对它进行全面安全认证,才可正式在项目上用。

戴文科技作为中国领先的Drupal应用架构服务商,能配合客户内部的IT安全部门,响应安全认证事宜,对Drupal及其环境软件进行安全认证。以确保客户对Drupal技术选型的顺利进行。