一个网站被黑

是一个我用 WordPress 所搭建的 Blog。今天登录上去,想写一篇新文章的时候,发现,最新的一篇,被黑了。
这个 WordPress 是我一直在用的,而且一直保持更新的,虽然未必能最快速度的更新,但都迟不了一两天。而这次可能有点久。
看看被黑的样子。
Thumbnail image for hacked.jpg

首先,是考虑要恢复到原来的文章,还好这个站点有打开 revision 功能,可以回到之前的版本。

hacking-history.jpg可以看到一共有四个版本,最底下两个是我修改,而最新的两个是两个略有不同的人成功的用 WordPress 的漏洞来替换了本来的内容(这是我后来体会到的)。

恢复文章内容后,接下来就是考虑是哪个IP,做了何种操作。

阅读全文

你从 Gitlab 服务灾难中学到了什麽?

Gitlab的服务显然已经恢复了,主站也已经可以访问了。就此事件来看,很严重的宕机,看似完备的灾备系统,完全没有按照预想的起作用。虽然最后结果还不算太坏,只损失了6个多小时的数据。恢复的整个过程在 Youtube 上做了直播。

好了,到了正题,你从这次 Gitlab 的数据灾难中学到了什麽?我可以先列出下面这些:

  1. 不要在太过疲劳的情况下,进行非常重要的操作
  2. 备份并不是越多越安全
  3. 未经测试的备份手段并不可靠
  4. 备份的结果需要检查完整度
  5. 经常的检查备份是否完成,是否储存在预定的地方
  6. 备份的策略同样需要有一个恢复的策略
  7. 恢复测试也是要经常进行
  8. 备份恢复需要考虑效率

那么你呢?

阅读全文

开放透明是我们信仰的核心价值之一

这两天,代码储存的服务商 Gitlab 出了个大新闻,刚好最近两个星期都在看 Git 相关的资料。在试用了 Github 和 Gitlab 的服务后,鉴于目前我的使用需求,最后是在虚拟机上开了个 Ubuntu 16.04,然后装了 Gitlab CE 版本。

回过头来说说 Gitlab 的大新闻,简单说就是同Linux 用户执行了那个知名的删除全部的命令一样,把整个生产平台上的数据库给删掉了,没有全删完,发现的时候总共300GB的数据,就剩下4.5GB了。就同完全删除没有什麽区别了。

出问题,或者说出现人为的故障都并不可怕,可怕的是用户完全不知情,被蒙蔽。 Gitlab 在处理这次危机的时候,做的非常漂亮,虽然并不能完全从故障中无损的恢复,就过程来说,是完全的透明开放的。让用户,让使用者有充分的知情权。

回顾一下这个过程。
故障一
2017年1月31日 6PM UTC,起初只是发现有 spammers 对 snippet 的频繁操作让数据库不稳定。他们开始寻找问题所在并试图解决它。
2017年1月31日 9PM UTC,情况更加严重了,导致数据库写操作被锁,间接的就宕机了。
Gitlab 执行了这些操作:根据IP地址阻挡 spammer;删除了一个用户,该用户把一个库当成CDN来使用,造成47000个ip地址同时登入账号(造成数据库高负载);把反复创建snippets的spammer 删掉。

故障二
2017年1月31日 10PM UTC, 他们收到消息,数据库复制操作落后太多,导致复制停止。看上去是 db2 的写操作出现问题。
Gitlab 采取的措施:试图修复 db2,这时 db2 大约落后4GB的量;之后就是一系列的调整 PostgreSQL 的参数,db1 同 db2 之间的同步始终无法恢复。这时 tm1 说要下班,当时他当地时间已经过了23点了,但是因为这个突发故障,就继续工作了。

故障三
2017年1月31日 11PM UTC,tm1 认为不能同步的问题,可能是因为 pg_basebackup 拒绝工作的缘故,决定删除该目录,几秒钟后他发现他是在 db1.cluster.gitlab.com 上操作,而不是在预想的 db2.cluster.gitlab.com。
2017年1月31日 11:27PM UTC, tm1 终止了删除操作,但是已经太晚了,300GB数据只剩下 4.5GB了。
在这个时间点上,Gitlab把网站下线,并且在 Twitter上公布了消息。

事情的前因就是这样。在错误的服务器上执行了删除操作。工作时间过长,导致的眼花,手抖。
之后的事情就开始透明报告了, Gitlab 在 twitter 上不断报告调查的情况,之后直播恢复的过程。

tm1,tm2,tm3 是工作人员。

阅读全文

全局 HTTPS 是势在必行

很多站长应该收到 Google 发来的 email 了。从 Chrome 56 开始,任何网页,如果有输入密码或者信用卡资料的,却没有使用 HTTPS,将被 Chrome 浏览器标识为不安全。

其实这只是第一步,之后,任何没有使用 HTTPS 协议的网页都会被标识为"不安全",或者 "Not Secure"。

之前 DavidYin 就建议过,要使用 HTTPS,而且过去我也认为只有在有支付等需求的网站才需要上 HTTPS,现在看来还不够,从2017年1月开始,任何网站都要考虑到上 HTTPS了,新网站从设计,从买域名开始就要考虑到这一点。现有网站也要尽快加上 HTTPS。

google-warning-https.jpg

过去用 HTTPS,买 SSL 证书都是一个比较大的成本。从去年的 Let's Encrypt 可以免费签发证书后,这就不再是一个费用的问题了,而且网上有不少自动签发证书以及续签的脚本,找一个用上就是了。还有一些虚拟空间的服务商,比如 Dreamhost , 也免费提供 Let's Encrypt 的自动签发服务,你都不用去找脚本了,直接在管理后台改一个设置就成了,以后每三个月自动给你续签。

阅读全文

Google 排名因素的趋势

Google 的算法几乎一直在变化,其收录以及排名现在也接近于实时了,不再像之前隔几个月有一次大的数据更新,对网站,网页的排名有明显的影响,现在的数据更新是实时的,那么这个变化也就是实时的了,观察起来就感觉变化很少有突变,都是渐变的。

就影响排名的因素来说分几个大类,每个大类又有若干个小类,都会对网页的排名有所影响。

页面内容:

  1. 内容的相关度;
  2. 内容相关的中心;
  3. 有效字数;
  4. 正文内的关键词;
  5. 描述中的关键词;
  6. 标题中的关键词;
  7. H1标签中的关键词。

上面这些因素,按照重要程度依次降低排列。下面的几个分类也是这样的排列方式显然内容的相关性是最为重要的,关键词在 meta 标签中,已经不再是那么的重要了。

用户指标:

  1. 点击率;
  2. 停留时间;
  3. 弹出率;

这三个都是相当的重要,点击率原先是在广告领域非常重要的权重因子,现在在搜索排名中也成为了重要的因素。停留时间也显然是同页面内容的质量成正比的,包括弹出率,都是页面相关的,网页的载入速度,页面的易用性,以及内容的相关性都会大大的影响这三个指标。

网站技术:

  1. HTTPS,SSL 的使用;
  2. 是否有H1;
  3. 是否有H2;
  4. com 顶级域名;
  5. 文件的大小;
  6. 网站的速度;
  7. URL 的长度。

就像前文所说,HTTPS 技术已经非常重要,同时采用 HTTP/2 之后页面内容的并行载入也会帮助到网站的速度。

阅读全文

2016 到 2017 年的网站优化趋势

二零一七年的一月也已经过去十天了,过去一年的 SEO 变化很多,也很快,很多新的技术出现,也淘汰了不少过去习以为常的优化手段。现在我们就来看看在这辞旧迎新的时候,在新的一年里,必须要做好的那些网站优化。

1) 网站针对移动设备的优化。搜索引擎已经把移动设备的权重提高到桌面设备之上了。现在设计,制作一个网站,首先要考虑的就是移动优先,或者是自适应的设计。

2) 全站 https 加密,SSL 证书在过去一年已经成为非常容易获得的基本配置了, DV 证书,在 GoGetSSL 只要9美元多就可以拿到3年的证书了,如果一分钱也不愿意出,也可以用 Let's Encrypt 的免费证书,虽然稍微比较麻烦一点,但是稍微熟悉一点的也是可以的。浏览器 Chrome 已经在采用 https 的域名前显示 "安全"两个字了,对于用户还是有影响的,当然对于搜索引擎也是有影响的

3) Google 提出了 AMP 页面,百度随之也开始有了 MIP。两者是类似的,目的是相同的,使用方法也是雷同的。总而言之就是为了在搜索结果中快速返回移动页面。那些以内容页面,或者说新闻网站,就非常需要使用这个 AMP 或者 MIP 页面,实际使用中,也能发现 Google 也是在新闻网站首先开始收录并展示 AMP 页面的。

4)社交媒体对于网站的排名影响,不得不考虑,长期来看,我认为那些开放的社交媒体网站中的链接会对网站本身的排名有所影响,但是那些封闭的社交媒体,必须要登录才能看到内容的社交媒体就像一个个孤岛,外界对于其内容无法抓取,当然也就没有办法参考和使用了。

5) 还有很多传统的基于页面的优化手段,还是要保持,基本功还是需要的。

阅读全文

Amazon AWS 开始代收加拿大的货劳税

Amazon 的 email 通知:

Greetings from Amazon Web Services,

Amazon Web Services, Inc. ("AWS") will charge Canadian transaction taxes, such as Goods and Services Tax ("GST"), Harmonized Sales Tax ("HST"), and Quebec Sales Tax ("QST"), on your use of the Canadian data center and Canadian CloudFront sites beginning December 2016. Provincial tax rates apply based on your billing address.

You will receive both a commercial invoice for payment and a tax invoice through your AWS billing console. The tax invoice will separately state the specific transaction taxes charged. If you are registered for GST/HST or QST, you may be eligible for input tax credits and utilize the tax invoice to support the input tax claim. For additional details, please visit the Canada Revenue Agency and Revenu Québec websites at http://www.cra-arc.gc.ca/tx/bsnss/tpcs/gst-tps/bspsbch/itc-cti/menu-eng.html and http://www.revenuquebec.ca/en/entreprises/taxes/tpstvhtvq/ctirti/default.aspx, respectively.

Thank you for using Amazon Web Services.

Sincerely,

Amazon Web Services, Inc.

Amazon Web Services, Inc. is a subsidiary of Amazon.com, Inc. Amazon.com is a registered trademark of Amazon.com, Inc. This message was produced and distributed by Amazon Web Services Inc., 410 Terry Ave. North, Seattle, WA 98109-5210

如果在用CloudFront的时候,有选择加拿大的数据中心,那就会被收取这个"货劳税",我们通常称之为 GST,或者 HST ,QST,因为各个省份有所差异,名称也就有所不同,税率也略有不同。

阅读全文

回来了,开始更新(多图,慎点)

前一段时间,回国去了,上海的天气还算好,虽然在到达的第二天开始喉咙有些不舒服,至少到离开的时候也没有出现发烧的症状。
这个城市已经越来越不认识了,在政府改天换地的工作热情之下,整个城市的旧貌几乎已经没有多少残留了,除了一些假装是旧房子的新房子,就是那些不会说上海话的上海人。整个城市已经更多的混合了来自全国各地的人们,也混合了来自全球各地的游客和商人。

下面用一些照片来展示我所看到的一些城市风景。

2016-11-01 13.45.19.jpg2016-11-01 13.45.14.jpg2016-11-01 13.45.11.jpg在"大上海电影院"对面看。

2016-11-01 17.01.47.jpg这好像是家长们在接补习班放学的孩子。

阅读全文

升级到 MovableType 6.3.2

刚刚升级了 Blog 系统,到最新的 MovableType6.3.2。 此版本是发布与九月二十八日,而我是才注意到。
这是一个小版本的升级,增加了一些新的功能和小的改进。

首先就是新特性: 增加了外部 log 文件,它可以把活动log记录到外部文件中,这样对于追踪各种错误和安全问题就容易了许多。


Logging Level 有四种, debug / info / warn / error。

  • debug 就是调试,一般是不用的,而且MovableType自身是没有用这个级别,但某些插件可能会使用。这是记录的数据量最大的一种。用于软件开发调试的时候。
  • info 就是信息级别,比如登入登出,创建新文章等。这个级别包括下面两个级别。
  • warn 就是警告,也属于错误的一种,但是不影响 MovableType 的运行。但总是一种不正常,需要关注。
  • error 是错误,会严重影响系统。比如安全问题发生,或者数据库写入错误等。

此次更新还包括了一些问题的改进,比如动态发布,同步等等。

升级的过程同样简单,概述如下:

阅读全文
全部文章归档