• Demo
    保持交易與客戶資料隱密性

    GoDaddy

    Keep payments & customer data private
  • Demo
    創造線上信任者!

    COMODO

    Creating Trust Online
  • Demo
    您的成功來自於信任!

    digicert

    Your Success is Built on Trust
  • Demo
    保護數位認證與信息安全!

    Entrust

    Securing digital Identities & Information
  • Demo
    數位憑證的領導品牌!

    GeoTrust

    a leading certificate authority
  • Demo
    安全地溝通和交易!

    GlobalSign

    Communicate and transact securely.
  • Demo
    保護您的網站!保護您的客戶們!

    Network Solutions

    Secure Your Site!Protect Your Customers
  • Demo
    瑞士軍刀的數位認證和PKI

    StartCom

    The Swiss Army Knife of Digital Certificates & PKI
  • Demo
    最高等級的安全與身分認證

    SwissSign

    Extreme Security & Identity
  • Demo
    一個全新等級的保護和信任

    Symantec

    protect and trust to a whole new level
  • Demo
    最明顯的網站安全性標誌

    Thawte

    The most visible sign of web site security
  • Demo
    最簡單方案滿足您安全性與法規的遵從

    trustwave

    to your complex security and compliance challenges
  • Demo
    低成本,高保證的SSL證書

    instantssl

    low cost high assurance ssl certificates
  • Demo
    官網負擔得起的SSL證書及信任標章

    trustico

    Official Supplier Of Affordable Website SSL Certificates & Trust Seals
  • Demo
    簡單的網站安全性

    rapidssl

    simple site security for less
  • Demo
    由SSL.com來建立客戶信任

    ssl.com

    simple site security for less
  • Demo
    我們知道需要什麼是安全的

    certs4less

    We know what it takes to be secure
  • Demo
    從世界上唯一的高級SSL服務

    thesslstore

    SSL Certificates from the Only Premium SSL Service in the World
  • Demo
    專業,認證,信任

    certcenter

    expert. proven. trusted
  • Demo
    網頁安全解決方案

    secure128

    web security solutions
  • Demo
    保護您的業務,高度信任的SSL證書

    sslcertificate

    secure your business,high trust ssl cert
  • Demo
    保護您客戶的資料

    Namecheap

    Protect your site visitors' data
  • Demo
    我們把信任標識化

    IdenTrust

    We Put The Trust In Identity

知識&消息

如何修補網站上SSL的相關漏洞!

在我們提供的ssl config test的工具中,您可以檢測您的網站一些ssl的設定是否正確,包含一些已知的漏洞,本篇文章將針對如何修正這些功能進行說明,讓您除了檢測之外也可以自行去修訂相關的設定,使您的網站更加的安全,除此之外,也讓使用您網站的人更加安心!讓我們一起往下看吧!

SSL設定測試工具中,分成三個部分,如下圖

一個是憑證植入情形,代表您使用的憑證在瀏覽器中植入的情形,

二個是通訊協定的測試(加密套件支援情形),

三個是已知漏洞的測試(已知需調整或補強功能現況),

當您測試之後,您可以看到相關的設定是否正常,如果不正常顯示相關訊息,那我們要如何調整到都正常呢,以下說明:

1.先針對憑證植入情形 :

這個部分比較無從調整起,因為這是CA廠商去申請植入各大瀏覽器的工作,如果發現有沒有植入的情況,也只能發信請CA廠商進行申請,不過此測試是可以提醒您了解您使用的憑證植入狀況!

2.通訊協定的測試(加密套件支援情形) :

這工具會去測試您ssl的通訊協定的設定情況,總共有5個,分別是

TLSV1.0,TLSV1.1,TLSV1.3,SSLV2,SSLV3,

如果您要修正通訊協定哪些要開啟哪些關閉,可以透過以下設定進行調整

先請您找到您web server的設定檔,然後在檔案中加入 SSLProtocol All -SSLv2 -SSLv3 -TLSv1.1 -TLSv1.2 -TLSv1.0來進行調整

如果要取消sslv2與sslv3 =>SSLProtocol All -SSLv2 -SSLv3

如果要取消TLSv1.1與TLSv1.2=>SSLProtocol All -TLSv1.1 -TLSv1.2

如果要取消TLSv1.1與TLSv1.0=>SSLProtocol All -TLSv1.1 -TLSv1.0

所以您可以看到,只要填入參數(-SSLv2 -SSLv3 -TLSv1.1 -TLSv1.2 -TLSv1.0)就可以調整開啟或關閉使用的通訊協定.-號代表不要此通訊協定

3.已知漏洞的測試(已知需調整或補強功能現況)

第一個:Deflate Compression attack(SSL Compression):

說明:

這個漏洞是針對SSL/ TLS通訊協定中的信息洩露做攻擊,是由 Juliano Rizzo and Thai Duon這兩位發現,主要是發生在資料進行壓縮的過程中進行攻擊,假設有人可以重複輸入或者任意混合一些內容,加到比較敏感且可預測的數據上,然後觀察加密系統加密後的資料,並找到一些規則,那就可以從加密訊息中還原加密的資料!造成資料洩漏! 所以,如果您的server有支援SSL Compression(TLS),那就有可能暴露在此種風險當中!

修正方式:

取消SSL Compression的功能,舉常用的apache為例 :

在Apache 2.2.24(using mod_ssl)以上的版本,請找到SSL的config檔案,修改或加入SSLCompression off,關閉此功能

如果是Apache 2.2.24以前的版本,並沒有這個項目可以修正,請重新編譯openssl,讓他不支援ZLIB的功能,這樣就可以禁止使用

SSLCompression!

第二個:Session Renegotiation attack(對話重新協商攻擊)

說明:

這個漏洞是針對SSL/TLS本身設計上的缺陷進行攻擊,在2011年的時候,德國的駭客組織提出了一個攻擊的工具,可以

癱瘓https的網站,駭客是利用SSL的server與client端的溝通時的規則的小缺失進行攻擊,這叫做SSL Renigociation Attack,我

們舉的例子,當您上一個https的購物網站進行商品選購時,原本的SSL互相認証的機制會建立,並且保留一些交握的資料,而當

您確定要購買時,網站通常會要求認證您的身分,這時候原本的SSL的連線(不是開新的連線)就必須配合認證身分而進行調

整,已達到認證的目的,而SSL的重新調整就是利用SSL Renigociation的機制完成,乍看之下,這個種重新溝通的機制很正常,

然而TLS與SSL3.0的協定並沒有好好處理這樣的流程,造成駭客可以利用重溝通的過程中塞入一些資料,來進行攻擊!

修正方式:

新版的瀏覽器有支援RFC5746,大都修補完成,舊版的則需要關閉Session Renegotiation的功能,禁止使用

SSLV2,SSLV3以及禁止使用弱密碼套件來修補此問題!

第三個:OpenSSL Heartbleed 漏洞(心臟淌血攻擊)

說明:

這個漏洞是OPENSSL本身發現提出(2014.04.18),主要是openssl軟體開發的時候沒注意到的程式漏洞(記憶體溢位),

所以是openssl套件本身的問題造成,駭客利用此漏洞可以竊取相關受SSL保護的機密資料,所以影響很嚴重!須修補的

OpenSSL版本:1.0.1,1.0.2-beta,1.0.1f,1.0.2-beta1與之前的舊版本!如果您的openssl版本是這些,務必注意此漏洞造成的影

響!

修正方式:

就是更新openssl到新的版本,如在linux上, 執行 yum update openssl進行更新!

第四個:OCSP Stapling (OCSP裝訂)

說明:

當您打開網頁連接到https網站的時候,您的瀏覽器透過發證商提供的CRL或者OCSP server會去驗證此SSL憑證的有效

性,CRL通常檔案很大且不是很即時,OCSP則是即時提供,然而,因為OCSP每次的回應都需要時間,一但量大的時候,會發生

來不即回應(或者回應很慢)的情況,這時候流覽器就會一直等待回應,讓駭客可以拒絕OCSP的回應而無法驗證!OCSP

Stapling就是要改善此情況!

修正方式:

解決的辦法是利用cache緩存,讓服務器在溝通的時候,發送其緩存的OCSP的記錄,節省server的時間,此cache可

以提供48小時的時間,之後再從新進行緩存!這部分是跟CA發證商比較相關!發證商的OCSP server必須要提供此服務,另外

您在您的網站主機上可以做以下的調整 舉apache為例,

在您的config檔案中加入或修改

SSLUseStapling on = >啟用tapling

SSLStaplingResponseMaxAge 900 =>設定回應時間最大為900秒

SSLStaplingCache "shmcb:logs/stapling-cache(150000)" =>設定cache的時間 還有其他的修改設定,可以調整好的效能,可

參考apache的官網

第五個:Session Resumption

說明:

這個也不算是漏洞,是加速SSL速度的一種方式,有的話SSL的速度會比較快!

當建立SSL的連線的時候,基本上需要四的步驟進行訊息交換,client hello->sever hello(cert server hello)->client key

exchange(change cipher spec finish)->sever change cipher spec finish->打開網頁,有了Resum,只要前三步驟就好,可以省

下交握的時間!

修正方式:

舉apache為例 ,您可以把SSLSessionCache啟用!

第六個:BEAST attacks

說明:

野獸攻擊是一種中間人攻擊,存在TLS1.0的通訊協定中,主要是破解加密訊息中的部分明文,然後比較session的內容,並

且送出script去找到沒加密的數據,來解密server發出的cookie!達到破解密文的目的!但是前提是必須能監聽網路的封包,監聽

的動作最常發生在公眾使用的網路上,如AP server!

修正方式:

把apache設定檔中的SSLCompression off關閉 , 同時如果您有上公用的網路,建議不要輸入敏感資料,以免被竊

取!

第七個:CRIME(Compression Ratio Info-Leak Mass Exploitation) attacks

說明:

罪犯攻擊,由兩位Juliano Rizzo and Thai Duong所發現,使用暴力破解方式解密(HTTPS)連接的會話cookie,然後強

迫使用者的網站連到駭客的網站,趁這網頁載入時注入攻擊碼,然後新的路徑就可以由駭客控制,藉由分析壓縮後資料的長度

來找出您的session cookie,最後破解資訊!

修正方式:

把server中apache設定檔的SSLCompression off關閉,client瀏覽器的話可以關閉TLS/SSL auto compression的功

能,更新到最新版的瀏覽器也是一個方式

第八個:POODLE attack

說明:

貴賓狗攻擊,這是由google的研究人員發現的,一般伺服器在進行https通訊協定的溝通時,會有提供自動調整通訊協定的

功能,通常會以最高版本的通訊協定為優先,如TLS1.2,一旦發現哪一方不是相同的通訊協定,則會一直交握(handshack)直到

找到雙方都有的協定為止,而這樣的調整,除了server與client之間的協定自動啟動外,也可以由存在網路中的駭客主動發起此

類的協定調整,達成入侵目的

修正方式:

關閉SSLV3的通訊協定即可!可參考上面第2.項的說明!或者啟用TLS-FALLBACK-SCSV的功能,升級openssl版本!

第九個:Downgrade attack prevention

說明:

當您連結https的網站的時候,client與server會找尋相同的通訊協定進行溝通,假設有一端的通訊協定是比較舊版的,那

麼另一端就會以此舊版的通訊協定進行連結,這樣就造成一個危機,如果有心人用舊版的去連線,因為舊版的通訊協定有一些

bug,那麼就可利用此bug去破壞達到駭客的目的!

修正方式:

舉apache openssl為例,您可以在server禁用sslv2 sslv3等通訊協定,另外使用較高等級的加密套件

(SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH),至於client瀏覽器的設定也有可以讓

您取消的勾選項目!讓您瀏覽器只用較新的通訊協定溝通!

第十個:Forward Secrecy(遠期保密)

說明:

當您連到https的網站的時候,您的相關數據都會利用一把key(每一次連結都不同)進行加密後傳輸,但是如果server私密

金鑰遺失的話,那有可能會被破解加密金鑰而找出加密資料,而Forward Secrecy就是解決此問題,使用只能用一次的金鑰加

密,用完即丟,即使server私密金鑰洩漏也不會被解密出來!

修正方式:

讓您的server只支援ephemeral Diffie-Hellman 的加密演算法,以apache為例,您可以在設定檔中找到

SSLCipherSuit參數,只支援ECDHE_RSA_RC4_SHA 和 DHE_RSA即可!

第十一個:Strict Transport Security(HSTS)(嚴謹傳輸安全)

說明:

通常我們要登入一個網站的時候,有可能輸入是http然後在導到https的網頁去,在重新導向的時候(http->https),就有可

能讓駭客導向到惡意的網站,而Strict Transport Security的功能就是讓你的網站告知使用者,只能強制使用https打開網站,避

免被導向到惡意網站!舉例:當您輸入http://www.sslbuyer.com的時候,網址會自動改成https://www.sslbuyer.com!就是這樣的

功能!新版本的瀏覽器都有支援此功能!

修正方式:

舉apache為例: 您需要在apache的設定檔案(httpd.conf)加入或修改以下參數

設定header

LoadModule headers_module modules/mod_headers.so

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

其中max-age是header存在的時間(秒為單位),建議180天以上

redirect網站

ServerName example.com Redirect permanent / https://example.com/ 或者

RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

第十二個:Public Key Pinning (HPKP)

說明:

這是一種安全的機制,當您啟動之後,可用來讓客戶端瀏覽器知道目前的加密公鑰是來至於哪一個伺服器,以避免中間人

利用偽造的憑證進行攻擊!新版的瀏覽器也都支援此功能了!

修正方式:

啟用HPKP的功能即可,當有人連上你的網站的時候,回傳Public-Key-Pins HTTP header即可

舉apache為例

Header always set Public-Key-Pins "pin-sha256=\"base64+primary==\"; pin-sha256=\"base64+backup==\"; max-age=5184000; includeSubDomains"

以上為本工具測試結果的說明與修正方式,以上修正方式並非全部的修正都有提供,但是您可以參考使用並了解並修正這些

弱點,讓您的伺服器可以安全些!因為每一種網頁伺服器的修正方式都不盡相同,這邊提供一個參考, 您透過本網站的廠商介

紹,找相關CA廠商官方網站,大部分都有提供這些弱點的修補建議!未來本網站也會增加測試的項目與相關說明,期待可以幫

助大家!感謝!