跳转到主要内容
Carol 提交于 26 November 2014

原文链接:https://commerceguys.com/blog/is-your-drupal-site-protected

译者:Carol

10月15日新版本的Drupal核心发布了,大部分的人自然会想到:应该如何来保证我的网站安全性(稳定性)呢?

Drupal的更新原理

Drupal是一款由业余爱好者和高手建立的社区来管理的开源软件。负责安全性的社区成员重心工作是在开发过程中以及在Drupal.org上的所有模块和Drupal核心本身的验证上。这一个超能的社区团队在Drupal已有很长的历史而且对Drupal的核心代码,过去和未来的计划都有十足的理解。

成员负责分析已存在的应用并且保证应用不受恶意威胁,无论来源哪里。当一个问题被检测到时,他们评估此问题带来的影响和是否紧急以便决策出合适的解决办法(an appropriate mode of communication,此处我不知这是否为IT术语,姑且就踹测原文作者的意思用意译)来满足社区的需求。这通常表明为了避免风险,每个更新都是发布在惯例的两周一次的公告日上。

负责安全的团队能独立工作并规律的给模块和Drupal核心提供更新。下面是为了确保网站安全性和及时更新你可以遵照的一些办法。

安全通知

大部分Drupal用户在Drupal.org上都有账号。如果你没有,或许已经错过了一些信息,赶紧注册一个吧。从你的账户里,你有权限进入“订阅”页面,在这个页面,你会被邀请订阅安全栏目并得到更新的通知。

Drupal.org newsletter subscription

推特

跟所有其他牛逼的技术社区一样,Drupal的安全团队也是有推特账号的:@drupalsecurity.

RSS

你可以订阅到“Drupal 核心”和“第三方模块”的安全团队推广的两个不同的RSS源。

你的网站应用维护

无论是你开发了你的网站还是由网络公司做出来的,一旦上线了,它就该被维护。维护你的网站目的不是让它变成劳斯莱斯,而是为了让它避免出错或者安全受到威胁,并让它及时跟上Drupal核心里的新功能和你正使用的一些模块的更新。尽早和及时的更新是非常有意义的。

又可以选择更新的频率和方法,但是实施的操作方法总是一样的:更新核心,更新主题和模块,在你所更新的项目全部上线前测试你的所有应用是否可用。在配置之前,为避免出错确保你的代码库,文件目录,数据库已经全部备份。

我怎么来更新我的网站呢?

你可以利用不同的技术方法来获取最新版本的核心,主题和Drupal模块。不管你是用什么方式,你将获取新的文件来安装到你的网站上。这儿有个关于如何来做的一个大概总结(这个方案只是为你的项目提供的范例,具体参照你自己常用的配置步骤)。

先在本地环境下为你的网站做个备份:

  • 获取新的文件或者补丁更新
  • 浏览更新日志看你网站上的现有功能哪些会受到影响而改变,包括任何的新依赖new dependency 不知道如何翻译),小的API变化,或者在更新过程中其他需要手动载入的记事本。
  • 替换文件或者应用补丁。在这样的情况下,更新已经完成了但他们还没有应用于你的网站上。
  • 你或许会被要求发布数据库“更新”,例如:

      在这样的情况下,开始Drush UPDB drush命令或者安装“更新.php页面”到你的本地备份网站。这个操作会被应用到你网站的数据库更改里面。

  • 为了确保所有的更新都生效了,清空网站的缓存。请注意这可能会需要花费一些时间还会影响到网站导航的运行。对于运营中的网站,推荐你保持现有的配置步骤。
  • 一旦都完成了,测试你的网站。查看是否全部正常运行。

如果你在两个非常不同的核心版本之间更新你的Drupal网站,一些功能受到影响也是有可能的。但是,从一个核心直接更新到下一个版本,却不会感受到主要的功能变化。同时当你对更新步骤也很有信心时,就按照你平时的常用方式,更新你的网站或所有网站吧。

怎样更新Security SA-CORE-2014-005 - Drupal core - SQL injection

如果你的网站一直维护的很好,那么稳定性的更新将变的很容易并且也对你的项目功能没有影响。你可以跟平时一样更新Drupal核心用这个新版本:https://www.drupal.org/project/drupal

然而如果你已经有段时间没维护你应用的核心了(跳过一些版本)而且我们并不推荐这样,如果你对Drupal核心做了手动的更改,我们推荐你只应用那些本身包括安全补丁的那些更新。这里https://www.drupal.org/files/issues/SA-CORE-2014-005-D7.patch

在这两种情况下,Drupal新版里面的更改就不会对你的项目功能造成影响,因为他只影响跟表格(forms这里应该翻译为表格还是格式?)相关的一个文件。

怎样保证我的购物网站的安全性?

安全性是一个电商网站的主要问题而且作为一个生意人保证一个安全的购物网站也是你对于消费者的责任。为了保证你的网站安全性,你必须先做到经常更新Drupal核心,安全与否,或者是否承担风险后果。

然后,按时的更新你使用的模块。在有些情况下,或许会影响到你的网站性能,你必须小心处理。

总之,为了更新,请参考你的代理或者主机商的标准更新步骤。你可以使用platform.sh的新技术来快速更新你的网站然后信心满满的测试。

商业人士如何保证你的项目安全性呢?

我们Drupal应用支援和商业应用资源栏目的订阅者已经第一手看到我们是怎么保护你的网站的了。我们及时的更新客户网站并且100%收到保护不管它们是否挂在我们这里的。

我们Platform.sh的订阅者得益于使用一个“Drush make”的工作流程表来为他们的网站管理代码库。这个工作流程表有一个优点是通过一个包含有一系列组成你网站的要素的一个单独的配置文件来管理不同版本的Drupal核心和第三方主题,模块。Platform.sh使用这个文件通过下载模块和核心来创建和配置你的网站,从而使更新变得快捷简单。

通过创建一个Drush Make File的文件,你可以自动的恢复包含安全补丁的Drupal最近的版本。你节约了维护时间也减少了潜在问题。

另外为了你的主机稳定性,Platform.sh屏蔽了没有应用补丁的来自HTTP的命令。因此,Platform.sh上只有稳定的网站,任何没有受保护的网站都会被立即采取措施。

阅读更多关于这个保护性屏蔽点这儿

如果你还想了解关于Drupal 更新更多的内容,请看下面的链接:

Blog post: Your Drupal site got hacked. Now what? (via @qdelance)

Drupal 版本