聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

七月 21, 2017

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» Let’s Encrypt 將在 2018 年一月支援 Wildcard Certificates

Letsencrypt Let’s Encrypt 宣布在 2018 年一月全面支援 Wildcard Certificates,目的就是讓全世界網站都支援 HTTPS 協定。自從 2015 年 12 月宣布免費支援申請 HTTPS 憑證,從原本的 40% 跳升到 58%,Let’s Encrypt 到現在總共支援了 47 million 網域。

升級 API

2018 年 1 月 Let’s Encrypt 將支援 IETF-standardized ACME v2 版本,到時候就可以自動申請 Wildcard Certificates。Go 語言autocert packgeCaddy 都要一併修正支援 v2 API 版本。未來只要申請一次,就可以使用在全部 sub domain (像是 *.example.com)。

結論

Let’s Encrypt 讓 Web 開發者都可以享用到 HTTPS 的優勢,當然也造成不少問題,之前寫了幾篇關於 Let’s Encrypt 可以參考。實在無法想像現在還有沒支援 HTTPS 的網站,之前台北市政府外包案出包『智慧支付 App 忘記切換HTTPS加密傳輸』,還是被一位外國人發現的。

十月 9, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» 申請 Let’s Encrypt 免費憑證讓網站支援 HTTP2

Letsencrypt 寫這篇最主要推廣讓網站都支援 HTTPS 加密連線HTTP2 協定,對於網站為什麼要支援 HTTP2,可以直接參考 ihower 寫的說明文章,最近在玩 Facebook, Line, Telegram Bot 時,填寫 Webhook URL,都強制要填寫 https:// 開頭,所以更不能忽略 HTTPS 了。,去年底寫了一篇 Let’s Encrypt 開放申請免費 SSL 憑證 推廣 Let’s Encrypt 的貢獻,讓買不起憑證,又想玩看看 HTTP2 的開發者可以用很簡單的方式來安裝及自動更新憑證,而 gslin 大為了推廣 HTTPS 也做了一個網站教學,文章寫得相當清楚,支援 ApacheNginx 設定。

安裝方式

如果主機是使用 Amazone EC2,可以直接用 AWS Certificate Manager,用 AWS 的好處就是只要透過後台介面搭配 ELB 就可以直接設定好 HTTPS 對應到 EC2 主機,壞處就是直接被綁死,將來如果不要使用 AWS,要轉移機器會相當痛苦。所以本篇會紀錄如何用 Nginx 搭配 Let’s Encrypt。為了方便部署機器,我們選用 dehydrated 來設定 Let’s Encrypt,好處就是不用安裝 Python 套件,官方網站提供的安裝方式需要安裝 Python 相關環境。透過 wget 將 dehydrated 安裝到 /etc/dehydrated/ 底下
$ mkdir -p /etc/dehydrated/
$ wget https://raw.githubusercontent.com/lukas2511/dehydrated/master/dehydrated -O /etc/dehydrated/dehydrated
$ chmod 755 /etc/dehydrated/dehydrated

建立設定檔

建立 dehydrated config 設定檔
$ echo "WELLKNOWN=/var/www/dehydrated" > /etc/dehydrated/config 
$ mkdir -p /var/www/dehydrated
Nginx 設定,先在 80 port 的 Server section 內寫入底下設定:
location /.well-known/acme-challenge/ {
  alias /var/www/dehydrated/;
}
可以先丟個檔案到 /var/www/dehydrated/ 確定網站可以正常讀取檔案,接著透過 dehydrated 指令產生 SSL 設定檔
$ /etc/dehydrated/dehydrated -c -d fbbot.wu-boy.com
執行上述指令會看到底下結果
# INFO: Using main config file /etc/dehydrated/config
Processing fbbot.wu-boy.com
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting challenge for fbbot.wu-boy.com...
 + Responding to challenge for fbbot.wu-boy.com...
 + Challenge is valid!
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!
最後在設定一次 nginx
server {
  # don't forget to tell on which port this server listens
  listen 80;

  # listen on the www host
  server_name fbbot.wu-boy.com;

  # and redirect to the non-www host (declared below)
  return 301 https://fbbot.wu-boy.com$request_uri;
}

server {
  listen 0.0.0.0:443 ssl http2;
  server_name fbbot.wu-boy.com;

  location /.well-known/acme-challenge/ {
    alias /var/www/dehydrated/;
  }

  ssl_certificate /etc/dehydrated/certs/fbbot.wu-boy.com//fullchain.pem;
  ssl_certificate_key /etc/dehydrated/certs/fbbot.wu-boy.com/privkey.pem;
  location / {
    proxy_pass http://localhost:8081;
  }
}
上面是將 80 port 自動轉到 https,如果下次要重新 renew 的時候才不會又要打開 80 port 一次。

加入 Cron 設定

每天半夜可以自動 renew 一次,請參考 https://letsencrypt.tw/ 最後章節
0 0 * * * root sleep $(expr $(printf "\%d" "0x$(hostname | md5sum | cut -c 1-8)") \% 86400); ( /etc/dehydrated/dehydrated -c -d fbbot.wu-boy.com; /usr/sbin/service nginx reload ) > /tmp/dehydrated-fbbot.wu-boy.com.log 2>&1

後記

除了這方法之外,也可以使用 Certbot 來自動更新憑證,但是這方式就是要安裝 Python 環境,不過也不是很難就是了,可以直接參考這篇『NGINX 使用 Let’s Encrypt 免費 SSL 憑證設定 HTTPS 安全加密網頁教學』。結論就是你可以在網路上找到超多種方法來申請 Let’s Encrypt 憑證,就找到自己覺得不錯的方法即可,而我是認為不用安裝 Python 環境的方式最適合部署了。

八月 31, 2016
» 移除所有中國 CA 簽章

先前注意到中國 CA 憑證簽發單位[1]可能會濫發簽章,而導致中間人攻擊等風險,而過去也的確發生過一些隨意簽發 Google 網域簽章的案例[2]。最近看到 Mozilla 討論 WoSign 的安全疑慮[3][4],如濫發 github.com 簽章等。決定把中國的 CA 全數移除。

RevokeChinaCerts[5] 可以

  • 移除 Network Security Service 中的設定。 (需要裝 libnss3-tools)
  • 移除全系統的 default internet SSL certificate trustchains. (ca-certificates)

修正了 Linux 版本的的問題[6]。

另外發現 Ubuntu 還沒有做 ArchLinux 上那種簡易黑名單簽章管理機制[7]。

[1] http://blog.nutsfactory.net/tag/cnnic/
[2] http://bit.ly/2bBnm9g
[3] Mozilla 在考慮移除 WoSign 的 CA Root http://bit.ly/2bwXAbU
[4] Incidents involving the CA WoSign – http://bit.ly/2bOoHx8
[5] https://github.com/chengr28/RevokeChinaCerts
[6] http://bit.ly/2bymDKF
[7] Managing SSL certificates – http://bit.ly/2bFAoUX

四月 11, 2014

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» StartSSL 關閉註冊 OpenSSL CVE-2014-0160 Heartbleed Security

heartbleed

這幾天 OpenSSL 發出很嚴重的 CVE-2014-0160 Bug 叫做「Heartbleed」,台灣資安公司 DEVCORE 也直接發布了一篇文章,請大家儘快升級系統,並且通知全部會員修改密碼,目前看到 Github 等大型網站都已經先將使用者 Session 資料清除,另外個人憑證部份也必須要更換,所以這幾天免費提供申請的 StartSSL 服務,被大量的使用者來申請,目前看到官方網站直接關閉註冊給個暫時的 warning 訊息 XD 如下圖

startssl

三月 26, 2011
» CertAlert 0.0.6 for Firefox 4.0

Firefox 4.0 出來之後,一直沒有抽時間出來更新 CertAlert,不過最近看到 AT&T 上的 Facebook 流量莫名被轉到中國南韓去,似乎有某種暗黑勢力蠢蠢欲動。

頗擔心 CNNIC 有惡意作為,稍微更新了 CertAlert,讓它支援 Gecko 2.0 XPCOM API,可以裝在 Firefox 4.0 上。新版安裝檔可以於 github 下載。

Mozilla 官方 AMO 因爲疏於更新,暫時被拿下來了,將重新上傳等官方審閱後即可再次下載。

2011-03-29 01:30

官方 AMO 已經重新開放安裝,仍於申請審閱程序中。

support:

biggo.com.tw

A Django site.