Google Reader 將在 2013/7/1 關閉

根據 Google Blog 的公告:A second spring of cleaning,Google Reader 將在 2013/7/1 關閉,官方表示原因是使用人數日漸下降。Google 並沒有給出替代方案。

Feedly 馬上就公告請大家試試看他們的服務,並且放出正在寫 Google Reader 相容 API 的消息。不過現在Feedly 網站 已經屬於癱瘓狀態了。

OpenVPN Connect on iOS / Android

OpenVPN 在上個月推出了 OpenVPN Connect for iOS ,連同去年推出的 OpenVPN Connect for Android,算是把產品線補齊了。今天趁過年假期,裝起來測試了一下。

先來張截圖:

設定時要注意的地方:

  • 如果要用帳號密碼認證,Client 的 .ovpn 設定檔除了要加上auth-user-pass以外,還要另外加一行:setenv CLIENT_CERT 0
  • root / intermediate CA、憑證與 Private Key 可以使用以下格式直接放在 .ovpn 檔案內:(Private Key 建議放在 Keychain 內,或是設定 client-cert-not-required

    <ca>
    —–BEGIN CERTIFICATE—–
    DlDCC…
    LMlZ=
    —–END CERTIFICATE—–
    </ca>
    <cert>

    </cert>
    <key>

    </key>

  • 先讀完 FAQ 再進行設定會省下很多時間

優點:

  • 免費的 SSL VPN(Server 是 GPL License)
  • 支援帳號密碼認證,也支援 2 Factor Authentication
  • 可以走 TCP 也可以走 UDP
  • 可以吃 Android / iOS 內建的 Keychain
  • 支援 IPv6

缺點:

  • 需要手動匯入 .ovpn 設定檔。Android 設備可以直接放到 SD Card 或是 Dropbox 裡面,但是 iOS 設備需要用 iTunes 或是 Mail App 匯入(不能用 Gmail App,一定得用內建 Mail App),麻煩不少。
  • Android 版本在通知欄會出現兩個 ICON

利用 Percona Playback warm-up MySQL 資料庫…

Percona Playback 是一套可以將事先記錄下來的 SQL Query Log 在指定的 MySQL Server 上重作一次的工具,目前最新的版本是 0.5,支援讀取 slow query log 或是 tcpdump capture file。Percona 標榜可以完全按照 Query Log 的 Pattern (包含 thread concurrency,query 所花的時間等等)來重作一次 Query,不過測試的結果還是有點落差。

首先先在 Production 的 Server 上面紀錄 Query Log。因為 Percona Playback 0.5 的 Slow Query Reader 是爛的(bug 1035217),所以只能用 tcpdump:
tcpdump -w log.dump dst port 3306 and dst ip 192.168.1.1

記錄到足夠長度的 log 之後,把 log 放到要測試的 MySQL 機器上,開始執行 percona playback。要注意的是,所有的 Log (包含 UPDATE, DELETE, INSERT 等等會修改資料庫內容的 Query)都會被執行,如果要在 Slave 上跑的話,記得要事先濾掉,才不會造成 Master Slave 不同步的狀況。
percona-playback --input-plugin=tcpdump --tcpdump-filelog.dump --tcpdump-mode=fast --mysql-host=127.0.0.1 --mysql-username=root --mysql-schema=mydb

官方文件是使用 --tcpdump-mode=accurate,速度慢很多,使用 --tcpdump-mode=fast 會快不少。

中國「春運」造成 GitHub 負載升高

中國的「春運」(台灣的春節返鄉)訂票系統 12306 在農曆春節開放訂票時常常會癱瘓無法使用。於是有個傢伙就寫了一個 Browser Plugin 12306.cn 訂票助手 來解決這件事。不過因為他把檢查更新的機制放在 GitHub 的 raw.github.com 上,所以就….XDDD

GitHub 的人開的 Issue 下面一堆中國網友在討論萬一 GFW 把 GitHub 牆了怎麼辦 XDDD

Update: GitHub 果然被牆了

Aaron Swartz 自殺…

這幾天蠻大的一個新聞,連國內媒體都第一時間報導了。(聯合報中央社

Aaron Swartz 除了是 RSS 1.0 規格的共同作者之外,也是 Reddit 的共同創辦人及 Markdown的共同作者之一。

2011 年,Aaron 來因為大量下載了 400 萬篇 JSTOR 的學術期刊而被起訴。可能是造成他憂鬱症與自殺的原因。關於學術期刊這個詭異的 ecosystem,可以讀讀 學者的智慧, 期刊的財產, 圖書館的業績…或是負擔? 這篇文章。

FreeBSD 系統的 auditd

上個月的 17 日,FreeBSD.org cluster 中的兩台機器被入侵,起因是擁有這兩台機器 root 權限的人的 ssh private key 外洩,導致這兩台主機被不明人士登入。由於這兩台主機上有開啟 Audit 機制,因此管理員發現了 root 有異常存取 file system 的行為。今天剛好有空,於是也來幫主機加上 audit 的機制。

步驟非常簡單,只要根據 handbook 重新編譯 Kernel,設定 /etc/security 下的設定檔,再把 auditd 跑起來就可以了。不過一開始跑起來之後並沒有紀錄 Log,花了一點時間找資料,才發現原來是 auditd 跑起來之後,必須要重新登入,才會開始紀錄。

auditd 產生的紀錄大概長這樣:

header,84,11,sudo(1),0,Tue Dec 25 00:00:38 2012, + 49 msec
subject_ex,jnlin,root,wheel,jnlin,1001,93339,93339,42554,192.168.128.100
exec arg,ls,-al
return,success,0
trailer,84

參考資料:FreeBSD 這次的入侵事件

DMARC: 讓寄件網域取得決定不通過測試的信件資訊,並定義收件者對該類信件的處理方法

標題有點長… XD

昨天在 LinkedIn Engineering 上看到了 LinkedIn 採用 DMARC 的事情,於是花了點時間看了一下 DMARC。

DMARC 是架構在 DKIMSPF 等偽冒偵測 (fraud detection) 功能上,提供 Email 寄件網域設定「當收件者收到未通過偵測的 Email 時,指示如何處理」的功能。除了拒絕或暫時保留外,也可以設定通知寄件網域該偽冒信件內容,可幫助打擊釣魚信件。

舉例來說,如果 example.com 設定 DMARC 的 Policy 為拒絕(Reject),並且要求收件者將偽冒信件報告寄回 fraud@example.com,則收件者一旦遇到無法通過 DKIM 與 SPF 檢查的信件,就不會將這封信送入收件者的信件夾中,並且會報告給 fraud@example.com。example.com 的管理者便可根據此報告進行處理(例如透過法律方法關閉釣魚網站等)。

目前大的 Email Service Provider,如 GMail, Yahoo Mail, Hotmail 等都有提供 DMARC 的功能。

設定 DMARC 的方法跟 SPF 類似,在 DNS 內加入一個 Entry:

_dmarc.example.com IN TXT "v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@dmarcdomain.com"

詳細的設定與各參數的意義可參考 DMARC Overview