• <blockquote id="mwkca"></blockquote>
  • <blockquote id="mwkca"><input id="mwkca"></input></blockquote>
    <blockquote id="mwkca"><object id="mwkca"></object></blockquote>
  • 當安全協議不安全了:OpenSSL漏洞

    2018-09-25 10:46:04
    OpenSSL與SSL安全協議

     

    SSL,全稱Secure Socket Layer,為Netscape所研發,用以保障在Internet上數據傳輸之安全,利用數據加密(Encryption)技術,可確保數據在網絡上之傳輸過程中不會被截取及竊聽。簡單的說,就是加密傳輸的數據,避免被截取監聽等。

    SSL應該是大家平時接觸最多的安全協議了,大家可以看訪問一些網址的時候,一般是http://開頭,如果發現https://開頭就是采用了SSL安全協議。比如,大家在登陸微信網頁版的時候就可以看到:

     圖片關鍵詞


     一般來說,比如nginx,可以通過以下方式就可以進行配置:

    <code># HTTPS server
    #
    server {
    listen 443;
    server_name localhost;
    
    ssl on;
    ssl_certificate /opt/nginx/sslkey/server.crt;
    ssl_certificate_key /opt/nginx/sslkey/server.key;
    
    location / {
    		root /home/workspace/;
    		index index.asp index.aspx; 
    	}
    }</code>

    大家可以看到,監聽的是443端口,然后通過ssl on;來開啟,同時通過ssl_certificate和sl_certificate_key配置證書和key文件,具體的就不多解釋了,大家可以自己搜索下。

    那么證書和key又是怎么一回事呢?接下來就要講到OpenSSL了。

    進行過nginx編譯的同學都知道,在編譯nginx的時候,如果想讓nginx支持開啟SSL,那么必須加一個--with-http_ssl_module 的配置項。那么又何讓服務器支持這個配置項呢?又如何生成nginx配置中SSL所需要的證書和key文件呢?都是源于OpenSSL(openssl_百度百科)。

    OpenSSL是一個強大的安全套接字層密碼庫,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不應該只將其作為一個庫來使用,它還是一個多用途的、跨平臺的密碼工具。

    大家平時如果采用公私鑰的方式連接服務器,也是需要用到OpenSSL的。簡單的理解,OpenSSL是一個強大的支持庫,更是一個強大的密碼工具。雖然要支持SSL協議不一定得采用OpenSSL,但是基本大部分的都是采用OpenSSL。

    心臟出血的OpenSSL

    相信前面簡單的介紹能讓大家了解到OpenSSL的重要性,也明白了SSL協議是做什么的,那么大家應該就可以理解,本來采用SSL協議是為了數據傳輸的安全性,是為了更安全,但是OpenSSL的漏洞直接導致了本該是讓為了更安全的設置變成了致命的危險。

    簡單介紹下漏洞,這個漏洞是昨天國外的黑客曝光的,該漏洞可以獲取HTTPS服務器的隨機64K內存。這個漏洞被稱為heartbleed,直譯的話就是心臟出血??赡苡胁糠滞瑢W沒意識到這個64K有啥用錯,讀取內存又有啥用?
     
    貼幾張圖:
    圖片關鍵詞
    這是筆者利用poc進行的一些測試(測試poc:hhttp://pan.baidu.com/s/1nt0T0d7,直接python ssltest.py domain就可以了),大家可以看到,cookie甚至是明文帳號密碼都直接爆出來了,有的還有代碼源碼(這個忘記截圖了。。。)、SSL私鑰(這個筆者沒測試出來)等,那么影響有多大呢?看下wooyun的漏洞提交列表:
     
    再給個來自zoomeye(ZoomEye - The Cyberspace Search Engine)的統計數據:

    全國443端口:1601250,有33303個受本次OpenSSL漏洞影響

    看了這些,稱為"心臟出血"完全不為過。今天估計又有許多運維同學可忙的了。具體的漏洞分析我也不多說了,大家可以看wooyun上的文章(關于OpenSSL“心臟出血”漏洞的分析)

    安全防范
     

    說了這么多,可能有些同學覺得都不要去訪問那些是https的網站了,其實也大可不必,官方其實已經放出補丁了,修復方法:

    升級到最新版本OpenSSL 1.0.1g
    無法立即升級的用戶可以以-DOPENSSL_NO_HEARTBEATS開關重新編譯OpenSSL
    1.0.2-beta版本的漏洞將在beta2版本修復

    對于個人用戶的話,大家不用太擔心,雖然說影響有點大,不過問題主要是出在服務商,而且像那些大網站,比如微信、淘寶等都已經修復了,實在不放心,大家可以這幾天暫時不要訪問使用了SSL協議的網站進行登陸等操作,特別是網銀等網站。

    圖片關鍵詞


    在线观看精品自拍视频