NSA 從兩年前就知道 OpenSSL 的 Heartbleed bug...

依據 Bloomberg 的報導,NSA 兩年前就知道 OpenSSLHeartbleed bug 了:「NSA Said to Exploit Heartbleed Bug for Intelligence for Years」。

翻了 GitHub 上的 mirror 記錄,可以發現是在 2012/01/01 commit 進去的:「commit 4817504d069b4c5082161b02a22116ad75f822b1」,幾乎是一開始就知道了?

苦啊...

Docker 0.10

在「Docker 0.10: quality and ops tooling」這篇官方公佈了 Docker 0.10。

可以看到有不少 bugfix 與 feature 是對檔案系統的改善,讓程式的相容性提高。

另外也宣示了 1.0 版的目標是要整合管理工具。純粹不會當掉並不足夠,還是要提供並且整合系統管理工具才算是好用的軟體。

Linode 的 Hourly Billing

Linode 宣佈支援 hourly billing:「Introducing Hourly Billing」。看起來是被 DigitalOcean 逼的?

目前最小台的 1GB 是 USD$0.03/hour,以無閏年的二月來算是 USD$20.16,所以最高收到 USD$20 是沒有瑕疵的。

而有 hourly billing 之後,就更容易拿來測試東西了,而使用 Linode 的人也有機會在上面建立自己的 auto scaling...

OpenSSL 安全漏洞 (CVE-2014-0160)

CVE-2014-0160,又稱 Heartbleed Bug,是 OpenSSL 在 TLS 與 DTLS 協定裡的 Heartbeat Extension (RFC 6520) 的錯誤實作。

OpenSSL 官方的 security advisory 在這:「OpenSSL Security Advisory [07 Apr 2014]」,影響的範圍是:

Only 1.0.1 and 1.0.2-beta releases of OpenSSL are affected including 1.0.1f and 1.0.2-beta1.

實務上爆炸的程度則是:

A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64k of memory to a connected client or server.

比較有描述性的說明可以參考「The Heartbleed Bug」這個站的敘述:

We have tested some of our own services from attacker's perspective. We attacked ourselves from outside, without leaving a trace. Without using any privileged information or credentials we were able steal from ourselves the secret keys used for our X.509 certificates, user names and passwords, instant messages, emails and business critical documents and communication.

由於 untraceable,這代表我們必須假設所有受影響機器上的 SSL private key 都已經被洩漏出去了,所有的 key 都必須 revoke 並且重新產生 (& 重新簽)。這兩天讓所有 SA 爆炸的超大新聞...

ptt.cc 偶而會解不出 IP 的問題

Update:感謝正妹 wens 幫忙,現在已經先上 workaround 了,狀況暫時解除...

最近發現 168.95.1.1 有時會找不到 ptt.cc 這個 domain (參考 gist:9995821),原因是 ptt.cc 在 whois 上登記的是:

Name Server: NS0.PTT.CC
Name Server: NS1.PTT.CC
Name Server: NSOUT1.PTT.CC

用 dig 對 cc 的 NS server 查詢也可以確認:

;; AUTHORITY SECTION:
ptt.cc.                 172800  IN      NS      ns0.ptt.cc.
ptt.cc.                 172800  IN      NS      ns1.ptt.cc.
ptt.cc.                 172800  IN      NS      nsout1.ptt.cc.

;; ADDITIONAL SECTION:
ns1.ptt.cc.             172800  IN      A       140.112.172.10
ns0.ptt.cc.             172800  IN      A       140.112.172.16
nsout1.ptt.cc.          172800  IN      A       112.121.80.227

但 ptt.cc 的三台 NS server 上都找不到 nsout1.ptt.cc:

; <<>> DiG 9.8.1-P1 <<>> nsout1.ptt.cc @140.112.172.10

;; AUTHORITY SECTION:
ptt.cc.                 300     IN      SOA     ns0.ptt.cc. contact.ptt.cc. 2013102501 3600 900 2419200 3600
; <<>> DiG 9.8.1-P1 <<>> nsout1.ptt.cc @140.112.172.16

;; AUTHORITY SECTION:
ptt.cc.                 300     IN      SOA     ns0.ptt.cc. contact.ptt.cc. 2013102501 3600 900 2419200 3600
; <<>> DiG 9.8.1-P1 <<>> nsout1.ptt.cc @112.121.80.227

;; AUTHORITY SECTION:
ptt.cc.                 300     IN      SOA     ns0.ptt.cc. contact.ptt.cc. 2013102501 3600 900 2419200 3600

於是就錯亂了...

可以先解決的方法是先把 nsout1.ptt.cc 加上去,然後再規劃要怎麼修改兩邊的 record (Ptt 這側的 A/NS record,與 cc 的 A/NS record)。

補充一下,ptt2.cc 也有同樣問題。

歐洲議會通過網路中立條款

前幾天歐洲議會通過了網路中立條款:「European Parliament passes strong net neutrality law, along with major roaming reforms」,條文內容的 PDF 可以在這裡看到。

PDF 的左側是 Text proposed by the Commission,右側是 Amendment,可以看到「網路中立」被清楚定義:

The principle of "net neutrality" means that traffic should be treated equally, without discrimination, restriction or interference, independent of the sender, receiver, type, content, device, service or application

然後下面圍繞著網路中立的主題規範了許多電信服務提供商的行為,並且保障公民的上網權利。另外還要求各國的電信主管機關制定檢舉程序,讓公民可以很容易檢舉。

jQuery 多出 1.12 與 1.13 的計畫

jQuery 的「Browser Support in jQuery 1.12 and Beyond」這篇提到新的計畫,其中 What's Changing? 裡提到:

There are no firm dates, but we plan on releasing jQuery core versions 1.12 and 2.2 this year. jQuery 1.13/2.3 will be released some time in 2015.

重點在於對 IE 的支援度。其中 1.12 會繼續支援 IE6+,而 1.13 則放棄 IE{6,7},只支援 IE8+:

jQuery 1.12: This will be the last release to support Internet Explorer 6 and 7. As of today, no feature requests or bug fixes will be landed for them. Only serious regressions for these browsers will be fixed in patch releases (e.g., 1.12.1). jQuery 1.13 will support IE8 as its minimum browser.

這件事情總算是發生了,也就是多出一個「支援 IE8+」的版本。這也就是兩年前我在「jQuery 2.0 將放棄 IE{6,7,8} 的事情...」抱怨過的事情,我無法想像在 John Resig 當政的年代會直接規劃出不支援 IE{6,7,8} 的產品。

現在的 jQuery 有種 AWK 的感覺。

剛好也是提到 jQuery,前陣子「The reason Angular JS will fail」這篇也是讓我笑得很開心,也許有機會再寫...