iT邦幫忙

DAY 28
0

練習如何去開發一個通訊軟體 Boo it!系列 第 28

Day28 - Security 保密工作,人人有責。

  • 分享至 

  • xImage
  •  

在Boo-it 之中。因為是以Web 技術去開發APP。因此,在Web技術上的安全議題也必須去考慮。

資訊安全上的議題實在是非常多。老實說,這裡覺得安全的議題怎麼講也講不完。也是另外一種宇宙。

議題如下 :

工研院研發通訊App揪科 證實有中間人攻擊風險

資安有問題 政院禁公務用LINE、WhatsApp、WeChat

在寫程式的同時,就必須考慮到程式設計上的安全議題。例如有無buffer overflow等。

在架設伺服器的同時也必須考量到是否有系統安全的問題。例如今年有個重大的安全漏洞。OpenSSL CVE-2014-0160 Heartbleed 。有可能造成SSL 私密金鑰被竊取、Session被盜用等問題。

然而,我們在設計一個Apps也必須考慮到程式安全,當然在這裡我們是以Web技術去開發一個跨平台的Mobile Apps。因此,任何在網頁架設、伺服器架設的問題,我們也必須要考量進去。

首先我們在sinatra的設定之中。 我們可以透過Rack:Session 以及Encrypt Cookie來設定加密Cookie以及session 。

至於在session 以及 cookie上的安全問題。這裡非常推薦一篇文章(DEVCORE : HTTP Session 攻擊與防護)

我們先經過套件安裝。

gem install encrypted_cookie

可以透過rack 來使用加密cookie

use Rack::Session::EncryptedCookie, cookie_settings

亦或是設定session random key 。

set :session_secret, 'booit' 

另外在我們cu_server上。我們可以使用HTML5的wss來設定安全溝通通道。

EM::WebSocket.start({

  :host => "0.0.0.0",

  :port => 443,

  :secure => true,

  :tls_options => {

    :private_key_file => "/private/key",

    :cert_chain_file => "/ssl/certificate"

  }

}) 

並且可以透過bind SSL proxy 設定:

:secure_proxy => true

當然SSL 在最近也發生重大安全漏洞(CVE-2014-3566)。因此相對應的解決方案與上述Heartbleed 也必須去更新相關套件。

當然還有資料庫安全。 在mongoDB 上,我們也要去設定Secure Admin 等。

現在對於安全上的議題,也愈來愈重要。 不妨可以有時間可以去參加HITCON 駭客年會。

來獲取各方面最新的安全議題來加強在 程式、網頁、伺服器等資訊安全知識。

參考資料來源:

1 stackoverflow

2 DEVCORE


上一篇
Day27 - Open Source + Mobile OS + Web Technology => Firefox OS
下一篇
Day29 - 歷史的指標 記錄著設計boo-it的過程。
系列文
練習如何去開發一個通訊軟體 Boo it!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言