Ubuntu 下 VMware Tools 的替代品 Open Virtual Machine Tools

VMware 裡面跑 Ubuntu 通常會安裝 VMware Tools,像是「VMware Tools for Linux Guests」這篇介紹的方法。

但官方介紹的方法比較麻煩一點,所以想要從現有的套件裡找看看有沒有現成的可以用,然後就找到「open-vm-tools」,而且看起來已經存在一段時間了,12.04 (甚至 10.04) 都有支援。

裝好後就可以馬上看到更新:

應該是沒問題吧...

Firefox 也要支援 Public Key Pinning Extension for HTTP

在「Mozilla to Support Key Pinning in Firefox 32」看到的新聞,目前的標準還是 draft:「Public Key Pinning Extension for HTTP」。

被簡稱 PKP 與 HPKP:(一般比較常用前者)

We call this "public key pinning" (PKP); in particular, this document describes HTTP-based public key pinning (HPKP).

可以看到 Google Chrome 程式碼裡面是怎麼使用 PKP 技術預載的:「/trunk/src/net/http/transport_security_state_static.json」。

目前 Google Chrome 使用的方式是限制 Google 的網域只能由某些特定的 CA 才能簽,這樣可以降低其他 CA 簽出高經濟價值的 SSL certificate 的效益。

Mozilla 的 wiki 上面可以看到對應的條目:「SecurityEngineering/Public Key Pinning」,目前 Firefox 的版本是 31,也就是從下一個版本就支援了。

第一波的 32 版會支援 Mozilla 自己的某些站台,以及一些 Twitter 的網域。

第二波的 33 版會把 Twitter 的部份擴充到 *.twitter.com,另外還會支援 Google 所擁有的網域。

第三波的 34 版會支援 Firefox account (*.accounts.firefox.com)、Tor 以及 Dropbox

用 RawGit 服務供應檔案

RawGit 可以讓你直接連 GitHub 的檔案,並且帶入適當的 Content-Type

RawGit serves raw files directly from GitHub with proper Content-Type headers.

production url 用的是 NetDNA (MaxCDN):

cdn.rawgit.com.         3600    IN      CNAME   rawgit.rawgh.netdna-cdn.com.

不過一般情況下可以直接用 raw.github.com,這個是 GitHub 提供的網址,目前使用 Fastly

raw.github.com.         30      IN      CNAME   github.map.fastly.net.

用 Amazon S3 送 301 重導

參考「Configure a Bucket for Website Hosting」這邊的說明就可以了,拿 test-redirect.abpe.org 當範例,先是 CNAMES3 的 website endpoint 上:(這個 bucket 我是放在 us-west-2 上,所以會指到 us-west-2 的 website endpoint)

;; ANSWER SECTION:
test-redirect.abpe.org. 7200    IN      CNAME   test-redirect.abpe.org.s3-website-us-west-2.amazonaws.com.

然後 S3 上指定 redirect rule:

  <RoutingRules>
    <RoutingRule>
    <Condition>
      <KeyPrefixEquals>img/</KeyPrefixEquals>
    </Condition>
    <Redirect>
      <HostName>www.example.com</HostName>
      <ReplaceKeyPrefixWith>img/</ReplaceKeyPrefixWith>
    </Redirect>
    </RoutingRule>
  </RoutingRules>

也就是像是這樣:

也就是說,如果是 simple redirect 的話,可以善用 S3 的這個功能而不用自己架設 web server (自己架設需要另外考慮 High Availability),還算蠻方便的?

很特別的 Side-channel attack 方法以取得 RSA 與 ElGamel 的 private key

在「A new Side channel attack-how to steal encryption keys by touching PCs」這邊看到一種很特別的 side-channel attack:(直接先看圖)

引用說明:

The signal can also be measured at the remote end of Ethernet, VGA or USB cables.

方法愈來愈特別了 XDDD

把家裡的無線網路換成 DD-WRT

看到「WRTnode Opened for $25」這個網站的時候,就想起來家裡還在用中華電信數據及提供的無線網路,訊號有點差... 算了一下 USD$25 就算不算運費也要 NTD$750 左右,還是到 PChome 24h 上找一台可以刷 DD-WRT 的機器來用...

後來是找到「D-Link Wireless N 實用版無線寬頻路由器 DIR-615」這台 NTD$399 的福利品:

會選這台是因為這台出一陣子了,雖然 802.11n 是 draft,但我在家裡用無線網路時不在意... 另外在 DD-WRT 的資料庫內是全部都支援,花白工的機會比較低:

拿到的時候背面可以看到是 E4 的硬體,對應到 DD-WRT 資料庫:

後面就照著官方的 Installation 文件做,把該設定的值設一設就收工了...

PA-DSS 3.0 對密碼儲存方式的說明

PA-DSS (Payment Application Data Security Standard) 是 PCI SSC 訂出來提供給軟體開發商在支援交易時的標準:

PA-DSS was implemented in an effort to provide the definitive data standard for software vendors that develop payment applications.

這個標準也有很多版本,最新的 3.0 版是 2013 年 11 月公告的。剛剛在「Passwordscon 2014 - Password Security In The Pci Dss - Jarred White」這邊意外看到有提到密碼儲存的要求,出自 PDF 的 Page 34。

分成幾個部份,PA-DSS Requirements 的部份是寫:

3.3.2 Use a strong, one-way cryptographic algorithm, based on approved standards to render all payment application passwords unreadable during storage. Each password must have a unique input variable that is concatenated with the password before the cryptographic algorithm is applied.

標準規定必須使用 one-way cryptographic algorithm,並且必須要有 salt 的設計。

另外在 Guidance 則是直接建議使用 PBKDF2Bcrypt

Concatenating a unique input variable to each password before the hashing algorithm is applied reduces the effectiveness of brute force attacks. Examples of strong one-way cryptographic algorithms suitable for hashing passwords include PBKDF2 and Bcrypt.

之前在密碼儲存這塊最痛的事情就是沒有夠先進的標準可以遵循,現在總算是有一份金融標準可以拿出來用了...

參考 2012 年 ijliao 就有寫到的「請愛用 bcrypt 和 PBKDF2」。

Python Practice Book

Python Practice Book 這份資料對於學過 Python 又不常用而導致常常忘記的人還蠻好用的,算是復健用的書?

裡面的範例都是以 Python 2 為主 (因為我拿 Python 3 測試,發現 print 用法不一樣了),不過還是不錯啦... 大量的範例程式碼可以看。

現代的電子報設計環境

在「What 22 Billion Newsletters Tell Us About Designing For Mobile Email」這篇討論現在電子報設計的環境。

首先是討論 table layout 而引用了 2013 年的數據:

可以看到行動平台的比率已經是主流了。在這種情況下是否還適合用 table layout 就變成問題了...

在文章後面有很多其他的數據以及討論,重點在於推導的過程,而非直接看文章的結論。要有能力透過數據分析。

判斷是否為付費文章的瀏覽器套件

AdDetector 是個 ChromeFirefox 的套件,可以在頁面上顯示這篇文章是不是付費文章:

AdDetector reveals articles with corporate sponsors.

會在最上面出現紅底的警告說明:

這個套件之所以未被發展出來,主要是因為付費內容即使被標注,也都是很不明顯的標注。這個套件的目的就是希望讓標注更清楚。