10/26/2011

SSL 購買注意事項

最近系上打算要開始買ssl 憑證, 老師說要知道各家的差異,所以我很認命的查了一些資料,整理如下

主要差異:
  • Single Root V.S. Chained Root 
    • Single: 大部分數位憑證都擁有自己的憑證發放機構 (CA)以及自己的根憑證,這些公司的SSL 憑證都已經加入瀏覽器的安全憑證機構的名單內。 
    • Chained: 有些憑證機構並沒有一個被瀏覽器信任,或者並沒有自己的根憑證,這些公司就使用一種所謂『連鎖』根憑證來取得瀏覽器的信賴。有人說chained比較不安全,但是google 也是用chained (不過聽說安裝比較麻煩!) 
  • Domain Validation V.S. Organization Validation V.S. Extended Validation:
    • Domain Validation: 只有Domain 的資料
    • Organization Validation: Cert 包含organization的資料
    • Exteneded Validation (EV): Green bar (像google 在網址列上有自己的公司名字)
  • Single Domain V.S. Multiple Domain  V.S.  Wildcard SSL:
    • Single Domain:  只支援一個domain
    • Multiple Domain: 可驗證多個domain (不需要是同一個subdomain)
    • Wildcard: 可用regular Expression驗證domain (例如:*.csie.ntu.edu.tw ,表示所有csie的subdomin 都可以使用)
  • Security:
    • Warranty: 投保金額 (我覺得好像還好xDD)
    • Validation: Organization 的資料驗證(會影響憑證發放的時間,還有顧客信任度,但說實話,就網頁瀏覽我們系上的狀況應該沒差xDD)
    • SGC : 強制讓早期的瀏覽器使用128-bit encryption (早期通常是 40-bit,不過通常我們可以不考慮早期的瀏覽器吧xD)
  • 支援度:
    • 跟CA有關,現在幾乎各個瀏覽器都已經支援主要的CA
    • Fully support :  Verisign , Thawte 
    • 不支援 IE 5.X , Netscape:  Entrust,  Baltimore, InstantSSL
    • Opera支援度低(Opera 7↑) :  GeoTrust 
  • Misc:
    • Customer Service:  買國外的客服要講英文,買國內的不見得有24/7 的支援
    • Entrust 發過憑證給中國亂發憑證的,事件弄得很大(google 搜尋cnnic)
    • verify Domain 的價格大約一年3~4000元, verify Organization的通常一年都要上萬元!

9/20/2011

Link to my Web server in NAT via SSH tunnel

Home PC ---- School PC(SSH Server) --- SSH Tuneel ----VM


School PC: 

  • Since it is windows, I used CopSSH 
  • Note: Execute Initial Setup with (Run as admin)
  • Modify C:/Program files/ICW/etc/sshd_config , addGatewayPorts yes



Build SSH Tunnel:
@VM $   autossh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R :10023:localhost:22 user@SchoolPC


HomePC(Pietty)
Access VM ssh:
ssh SchoolPC:10023 


Access VM Web Server:
(In Pietty:) Tunnel →  source port: 10005   and Destination: localhost:80
browse web through localhost:10005!!!!!













3/25/2011

Dropbox PHP API

 因為某 Xntel-Xtu Lab 的網站說想要可以讀dropbox 上的檔案,要可以上傳檔案,可以下載檔案
所以我用了這支 http://code.google.com/p/dropbox-php/


但是它裡面問題還滿多的,主要有兩點



  1. file name 或是 folder name中間有空白,就會掛掉

  2. putfile 不能用PHP OAuth extension ,要用 PEAR's HTTP_OAUTH package 


第一個問題主要是原來的code在呼叫dropbox api時,沒有用urlencode包起來,
因為我目前只有用到 getMetaData putFile getFile move ,所以這幾個function 已經修好了(我是懶人)
附上改好的api 檔:link   (取代原來API.php的位置, 我的話是在 /usr/share/php/Dropbox/API.php)


第二個問題只要改成用
$oauth = new Dropbox_OAuth_PEAR($consumerKey, $consumerSecret);
就可以了


附帶提一下,安裝oAuth-Pear 時會跳出alert 說alpha版不行唷,加個-f強制一下就好了
pear install -f HTTP_OAuth


 

3/12/2011

ldap sync with Google apps for education

說明文件:http://www.google.com/support/a/bin/answer.py?answer=106368
pdf: http://www.postini.com/webdocs/gads/admin/gads_admin.pdf


流程:



  1. 利用configuration manager 建立configuration file(xml)

  2. 利用sync-cmd  指令讀取剛剛建立好的檔案 (sync-cmd -a 才會套用,不然只會當作模擬)

  3. 設定crontab 定期執行sync  


Note:



  • sync是單向的( 只會改google apps的資料,並不會改動ldap上的data)

  • configuration manger 就是上面網址的windows版本

  • linux的sync-cmd指令要下載上面連結的linux


 


遇到的問題:


unsolved:



  1. 轉過去以後有些user無法建立帳號: InvalidHashDigestLength(1405) - InvalidHashDigestLength(1405)
    http://www.google.com/support/forum/p/Google%20Apps/thread?tid=5dbcecd8358da574&hl=en

     


solved:



  1. configuration manager 在win7好像要用system administrater 執行,不然會完全沒反應

  2. google api 出現 "Domain cannot use API": 去control panel 的group ,要把"Enable provisioning API"打開

  3. ldap server上每個帳號一定要有mail的資訊,否則會被skip掉

  4. default 新建的user好像都會變成suspended 還在研究要怎麼處理: 用configuration manager建的xml 裡面<suspended >被寫成True了,要把它改為False


 pending:



  1. csie有設tls加密,configuration沒辦法設定,所以連不上server
    TESTING: http://www.google.com/support/forum/p/Google+Apps/thread?tid=0b9d3f130628f63b&hl=en
    (結果太麻煩,我決定用ldap就好,然後限制可以連port 389的機器 ~~~  xDDD)

3/11/2011

javascript failed in IE

我決定要留一篇集合文,以免老是不小心踩到雷=.=

  1. trim:
    string.trim() will fail in IE, you have to use trim(string)

  2. event.target:
    use event.srcElement instead of event.target

2/16/2011

Mail Server: dovecot with sieve support

http://www.howtoforge.com/dovecot_mail_server_sieve_virtual_users

  1. Install from source:  dovecot and sieve .
    dovecot: CPPFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib/ ./configure --with-pam --with-ldap --with-nss --with-ssl=openssl
    sieve(pigeonhole):  ./configure --with-dovecot=../dovecot-2.0.9/
    make
    make install

  2. cp ms dovecot.conf

  3. edit dovecot.conf
    mail_location=maildir:~/Maildir


problem encountered

  1. g++ not installed

  2. cannot find make: build-essential not installed

  3. libpam-dev libldap-dev libnss-dev libssl-dev install required