close

這二天公司花錢請外面的公司,滲透我們公司所架設的對外網站,以加強公司對外網站的安全性。

筆者負責的網站也被列到被滲透的對象之一,所以這二天就遇到這類的問題了,

業者寄了一封信來說,筆者負責的網站有 SSL/TLS Information Disclosure (BEAST) Vulnerability 的問題,

並要求限期改善。

 

一開始因為沒有這方面的知識,所以當然莫名其妙,後來找了一些網站補充知識後,才比較瞭解問題,

至於解決方法,要因應架設網站的Server而定,以筆者架設的網站而言,

最前端是一台HA Proxy,後方接二台Web Server,憑證是掛載在HA Proxy上,Web Server則是使用HTTP的服務。

 

以這種架構而言,我們必須在HA Proxy上進行調整,找了一堆文章與測試方法,終於在今天處理掉了,

解決方法如下:

修改haproxy.cfg檔,

在 global區塊中的最下方加入

ssl-default-bind-options no-sslv3 no-tls-tickets no-tlsv10
    ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

    ssl-default-server-options no-sslv3 no-tls-tickets no-tlsv10
    ssl-default-server-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

之後重啟ha Proxy即可;至於上方標紅字的部份,在網路上的資料是沒有的,但是沒有加的話測試不會過,猜測是之前只要關閉SSL3即可,但之後發現TLS1.0也會有這個問題,所以測試時發現TLS1.0沒有關就不會過。

至於要如何實測這設定是否解決的問題的話,目前只有找到線上的測試方法:

https://gf.dev/tls-scanner  or  https://www.ssllabs.com/ssltest/index.html

但是你的網站需要對外,這些工具才能幫你檢測。

這是工作上第一次遇到被滲透的問題,覺得很有趣就記下來了,希望可以幫助到其他人。

arrow
arrow

    JAVA Programmer 發表在 痞客邦 留言(0) 人氣()