• 11個網站安全防護的 http Header 設定

    這篇文章主要介紹 11個網站安全防護的 http Header

    只要透過網站的設定,安全設定值加入到 http header 中,不需大幅度的修改程式,

    就可以讓網站與使用者瀏覽器之間有更多的安全防護,因此這個方法是比較簡便可以達成。

    缺點就是這些 Http Header 在比較舊版本的瀏覽器有些是不支援的。

    http Header 用途
    HSTS 強制將網站與瀏覽器間的傳輸轉為 HTTPS例如:這個例子,強制 HTTPS轉換,有效期間為一年

     Strict-Transport-Security: max-age=31536000
    
    缺點是IE12之後才有支援。
    X-Frame-Options 主要用來防止 “Clickjacking” 的攻擊。駭客可能巧妙的假照一個遊戲網站,讓使用者點擊輸入相關資訊,但是該遊戲網站的背後卻是真實的銀行網站。透過 UI 多層重疊的方式,誘導使用者誤以為是遊戲網站。

     

    範例:

    Content-Security-Policy: frame-ancestors 'none'
    Microsoft XSS Filter Microsoft IE8 中提供的防護。可以避免惡意的 XSS JavaScript 程式碼的執行範例:X-XSS-Protection: 0
    X-Content-Type-

    Options

    主要避免讀取未知或是假造的 MIME 資料類型。範例:X-Content-Type-Options: nosniff

    IE 不會任意執行 CSS  除非MIME 型態為text/css

     

    CSP

    Content-
    Security-
    Policy
    為了避免 XSS attack 我們做許多防護措施。相對的,針對白名單,允許執行的 JavaScript ,就可以透過CSP來設定。

    例如這個範例,允許 self (目前網頁)與 apis.google.com的 JavaScript 執行。

    範例:Content-Security-Policy: script-src 'self' https://apis.google.com

     

    HttpOnly 我們都知道 cookie 可能存放登入之後一些 session 相關的資訊。因此,HttpOnly 可以避免 cookie被惡性JavaScript 讀取。

     

    範例

    Set-Cookie: <name>=<value>[; <Max-Age>=<age>]
    [; expires=<date>][; domain=<domain_name>]
    [; path=<some_path>][; secure][; HttpOnly]
    Secure Cookie 針對 cookie在網路上的傳輸,Secure Cookie 限定僅有在 HTTPS 的情況下才會傳輸Cookie 資料。如果是 HTTP 的情況下,Cookie 就不會被傳送。
    Cache Control 快取的設定。考量在於有些敏感性的資料,我們希望快曲的時間不要過長,並且有一定 timeout與 expire的機制。例如 apache 網站的設定。

        <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
        Header set Cache-Control "max-age=290304000, public"
        </FilesMatch>
    Access Control Allow Origin 定義跨 domain 執行 JavaScript 的方式。

    當要存取的資料(Adobe Flash Player) 需要跨 domain 的時候,就用這個方式定義。
    Content-type 主要用在定義最終瀏覽器如何呈現的字元集。
    範例Character encodings

    • Content-Type: text/html; charset=utf-8

    11 個 Http Header 技術參考資料

    1) HTTP Strict Transport Security (HSTS)

    2) X-Frame-Options

    3) Microsoft’s XSS Filter

    4) X-Content-Type Options

    5) CSP – Content Security Policy

    6) HttpOnly Cookies*

    7) Secure Cookies*

    8) Cache-Control

    9) Access Control Allow Origin

    10) Cross Domain Meta Policy

    11) Content-Type

    Posted by Tony @ 12:47 pm

  • Leave a Reply

    Your email address will not be published.