2014年10月17日 星期五

apache2 如何停用SSLv3支援選項改以TLSv1.2作為加密協定(資安事件編號:ICST-ANA-2014-0025)



國家資通安全會報 技術服務中心
漏洞/資安訊息警訊
發布編號
ICST-ANA-2014-0025
發布時間
Thu Oct 16 18:33:33 CST 2014
事件類型
漏洞預警
發現時間
Thu Oct 16 00:00:00 CST 2014
警訊名稱
SSLv3加密協定存在中間人攻擊弱點,弱點編號CVE-2014-3566 (POODLE)
內容說明
近期美國國家標準技術研究所(NIST)的國家弱點資料庫(NVD)發布弱點編號CVE-2014-3566 (POODLE) [1-5],透過該弱點駭客可在客戶端與伺服器兩端均使用SSLv3加密協定建立連線時進行中間人攻擊,藉由攔截與修改HTTPS封包資訊的方式,嘗試向伺服器主機建立連線,進而獲取使用者的相關傳輸數據與機敏資訊(cookies, and/or authorization header contents)。為確保平台安全性,請各機關確認所屬瀏覽器設定與系統平台(工作站主機及伺服器)所使用的SSL/TLS版本資訊,建議停用SSLv3支援選項改以TLSv1.2作為加密協定。如系統平台不支援TLS加密連線機制,請儘速更新修補SSL相關套件。
影響平台
使用SSLv3加密連線機制的系統平台(工作站主機及伺服器)
影響等級
建議措施
【系統平台(工作站主機及伺服器)】
1.停用SSL加密機制改以TLS確保加密連線機制的強健性
停用SSL相關加密機制(SSLv3與SSLv2),並建議以TLS(v1.2)進行加密連線作業。
如系統平台使用Apache作為網頁伺服器,可調整SSL設定為 "SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2" 以停用對SSLv3的支援,並啟用TLS加密連線機制。

2.對於僅支援SSL的系統平台,請儘速至各系統官方網站更新修補SSL相關套件。目前OpenSSL官方已針對SSLv3 (POODLE)弱點發布最新的更新版本,OpenSSL 1.0.1版本使用者請更新至1.0.1j版本[8]。

3.參考以下方式確認系統SSL/TLS版本資訊:
[工具1] 使用TestSSLServer工具[6] 檢視系統平台上所支援的SSL/TLS加密協定與版本
使用指令 "TestSSLServer.exe [IP位置]" 指定系統平台位置資訊,以檢視系統平台(工作站主機及伺服器)所使用的SSL/TLS版本資訊。附件圖1為使用TestSSLServer工具檢視SSL/TLS版本範例,如發現SSLv3(圖1中紅色標示處),即代表系統平台支援SSLv3的加密機制。
[工具2] 使用線上分析工具[7],檢視系統平台上所支援的SSL/TLS版本資訊。線上工具分析完成後會產出對應的報告資訊,並詳列支援的加密機制,詳見附件圖2,由於有偵測到SSLv3,因此標示為不安全。
【使用者端(瀏覽器)】
建議參考以下方式確認使用者端瀏覽器所支援的SSL/TLS版本資訊
[IE] 瀏覽器工具列-> 網際網路選項->進階->安全性(詳見附件圖3)
取消勾選瀏覽器SSL相關加密連線的支援選項[9],確認開啟TLS加密連線相關設定,調整設定後可透過線上檢查工具[9-10]檢測瀏覽器相關設定是否存在SSLv3 (POODLE) 弱點的風險。
停用SSLv3支援選項改以TLSv1.2
請注意:你的平台需確認有啟動HTTPS,才需進行以下的動作,若您的平台沒有啟用HTTPS,並且於開port申請書中,也不對外開放HTTPS的服務,無需進行以下的動作

這也順便解決此資安弱掃的問題
擷取選取區域_002.png

詳細流程如下,請參考
https://docs.google.com/document/d/1eGdTgrkCt8KWcOR0YIBFuDljdmCN-94x2lq9cVBGSUE/edit?usp=sharing

2014年9月29日 星期一

修補bash漏洞


修補
sudo apt-get update
sudo apt-get install bash

此漏洞被稱為Shell Shock
這個漏洞讓攻擊者可以遠端下達並執行任意的命令,例如在網頁請求(web request)裡設定headers,或者是設定奇怪的MIME類型
若系統中有安裝以cgi程式呼叫bash程式的,將有可能受到攻擊
例如執行CGI scripts的web伺服器,信箱或網頁的用戶端傳送檔案到外部程式來呈現影音或聲音檔,有可能就在攻擊範圍內
目前包括CentOS、Debian、紅帽與Ubuntu皆已釋出更新版



更詳細的說明,請參考我的測試說明
https://docs.google.com/document/d/1XiZy2raC_9r0sZksAiZ6Q2GO85bL6ULsjub7Geahqp4/edit?usp=sharing

2014年9月14日 星期日

關於DNS的遞迴查詢攻擊與防護

最近有許多學校的DNS遭到了攻擊,大都是因為沒有限制遞迴查詢,導致外面的IP也可以使用學校的DNS進行遞迴查詢,產生大量的查詢封包,攻擊者只要利用沒有限制遞迴查詢的學校DNS,去查詢一個網域,就足以產生大量的名稱解析
相關狀況與處理流程,可以參考我的處理經驗

https://docs.google.com/document/d/1vACK8AihEUOnJ_wGSVHq0saFrIksJyfzjC9FQhLD86Y/edit?usp=sharing

2014年8月18日 星期一

2014年8月11日 星期一

電腦教室管裡系統


電腦教室管裡系統

下載位置:ftp://ftp3.tn.edu.tw/computerRoom/

建議流程:
製作範本機 -- DRBL-live大量佈署 --中控機管理 :所有本機同時自我備份與還原


因為整個流程牽涉多方工具的應用,目前文件較為雜亂,會持續修改

製作與設定
https://docs.google.com/document/d/1BWaAmdv4Bf_9O5V5l8xnNwix8pcQh6fVC5pLMxGvub8/edit?usp=sharing


操作與管理
https://docs.google.com/document/d/1LXC17V9ZYKONqoZ0aPh6-89aWtfRbK8AefMIcUhTRSg/edit?usp=sharing

2014年4月10日 星期四

OpenSSL 爆發出嚴重的安全性漏洞, 請趕快檢測 + 升級


OpenSSL 爆發出嚴重的安全性漏洞, 請趕快檢測 + 升級

這個問題到底嚴不嚴重呢?看看下面這篇文章吧,你會怎麼想呢?
http://devco.re/blog/2014/04/11/openssl-heartbleed-how-to-hack-how-to-protect/

看來寫的詳細,會造成許多網管不知如何處理,我把重點列出(紅字部份):
使用ubuntu12.04或debian(wheezy)的系統
#為何要升、為何而升:因為ssh的加密也是使用openssl
#轉成root身份
sudo su
#升級前,請先更新軟體資料庫
apt-get update
#升級
apt-get install libssl1.0.0 openssl
#看版本
openssl version -a
#重新啟動有使用openssl的服務,如apache2(443)
service apache2 restart
#如果你不知道你的SERVER有哪些服務使用openssl,那就「重新開機
#別想太多,有升級就好。

centos6.5
yum update openssl

#線上檢測網站
http://filippo.io/Heartbleed/


Linux系統各發行版的升級建議
Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4
Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11
CentOS 6.5, OpenSSL 1.0.1e-15
Fedora 18, OpenSSL 1.0.1e-4
OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)
FreeBSD 8.4 (OpenSSL 1.0.1e) and 9.1 (OpenSSL 1.0.1c)
NetBSD 5.0.2 (OpenSSL 1.0.1e)
OpenSUSE 12.2 (OpenSSL 1.0.1c)

#以下為進階部份,看不懂就不要理會,重點是有升級套件
  1. 舊版的openssl(1.0.0之前)由於沒有使用heartbeat這個extension,反而無此風險,1.0.1之後的版本,通常有使用此extension
    檢查:
    openssl s_client -connect 你的IP:443 -tlsextdebug 2>&1| grep 'TLS server extension "heartbeat" (id=15), len=1'
    以yahoo為例:可以得知他的openssl使用heartbeat的extension,不過,該漏洞有已經修補
  2. 如何知道你的哪些服務使用openssl,並且還未重新啟動
    lsof | grep ssl | grep DEL


    小弟有這麼多服務使用openssl,都要重新啟動
    service vsftpd restart
    service openvpn restart
    等等...,懶惰的話,重開機吧
  3. 如果你有使用webmin這類服務,那就要檢測10000 port的https




詳細說明,請看:
http://www.techbang.com/posts/17694-openssl-heartbleed-revealed-gaping-holes-user-information-credit-card-debt-in-secret-all-gel-how-should-you-deal-with-it
ubuntu miniserver的修補
版本檢查:
openssl version -a
1月4日的,有問題:
選取區域_001.png
檢測(果真有洞)
python ssltest-cve-2014-0160.py 127.0.0.1
注意,檢測預設使用443的port,若你的網站沒有啟用https功能,可以不理會。
選取區域_002.png選取區域_001.png
修補:sudo apt-get update
sudo apt-get install libssl1.0.0 openssl
openssl version -a
更新到4月7日 選取區域_004.png
檢測:重新啟動apache2
service apache2 restart選取區域_003.png
嗯,安全了!


測試其他網站,看看有無修補選取區域_004.png


2013年5月14日 星期二

從菲律賓DNS被攻破一事,檢視一下自己的WEB站台,是否也有相同的「人為疏失」


從菲律賓DNS被攻破一事,檢視一下自己的WEB站台,是否也有相同的「人為疏失」


好久沒回到這PO文了,2013年的第1篇文就與台菲事件有關,但無關政治議題,僅就這次的網站攻擊事件,對網站的安全省思上,提出筆者的淺見與檢視工具

另外,感謝鄭老師提供了好方法,一行設定就可以解決,作法如下:
-----------------------------------------------------------------------------------------

我試過修改:/etc/apache2/mods-enabled/php5.conf

  <FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php

改成
<FilesMatch "\.ph(p3?|tml|p~)$">
 SetHandler application/x-httpd-php

然後 service apache2 restart
把.php~ 也當成php來執行
也可以暫時避免這個漏洞說
 只是不知道會不會有其他副作用
------------------------------------------------------------------------------------------


可以到http://blog.xsoin.com/2013/05/govph-vim.html來看到事情始末,但看完劇情,是否也要想想「他山之石可以攻錯」
筆者自己使用vi 去編輯了php檔案,並不會留下php~的檔案,測試了leafpad, vi, geany等都無此問題,只有gedit的編輯器會留下此暫存,所以在linux系統上,目前除了gedit外,無此情況,網站上所說的vim,應該是for windows版本的
筆者的測試:
以mediamosa的站台測試,以gedit編輯cron.php檔案後,將留下禍根

正常的php程式

留下~後,將被視為一般文字檔(看光光)

果然,魔鬼藏在細節中,就算網站的防護做的好,但小疏失,可導致大損失


找出這些檔案:

知道有此問題後,就要去找出系統中的問題檔案,尤其是放在/var/www底下,以http對外服務的目錄,絕不應殘留這些檔案,但/var/www底下這麼多子目錄,要一層層下去找,會累死人,所以當然要使用有效率的指令,進行遞迴搜尋並處理,那就用find指令


find /var/www -name '*~' -printf "找到了!" -print;

找到了!/var/www/mediamosa/cron.php~
找到了!/var/www/mediamosa/install.php~
找到了!/var/www/mediamosa/modules/user/user.api.php~


當然,依筆者的習慣,find指令的參數相當多而雜,所以,寫成shell,以備不時之需



使用:
放到/root
chmod u+x find~.sh
./find~.sh
請輸入要檢查的目錄,如/var/www,/home/xxx/public_html
/var/www
檢查的位置是/var/www
13899368    4 -rw-r--r--   1 root     root          720  5月 14 16:29 /var/www/mediamosa/cron.php~
13899369    4 -rw-r--r--   1 root     root          688  5月 14 16:29 /var/www/mediamosa/install.php~
13899370   16 -rw-r--r--   1 root     root        14545  5月 14 16:30 /var/www/mediamosa/modules/user/user.api.php~
總共有
3筆符合的檔案,要如何處置?(移動請輸入:m,刪除請輸入:d,按其他鍵離開)
m
移動到/var/~files/

然後,檔案就移動到/var/~files/底下

再執行一次,確認無相關檔案
./find~.sh請輸入要檢查的目錄,如/var/www,/home/xxx/public_html
/var/www
檢查的位置是/var/www
總共有
0筆符合的檔案,要如何處置?(移動請輸入:m,刪除請輸入:d,按其他鍵離開)

不做任何動作...



最後,筆者順便檢查了/home,發現還真不少這樣的檔案,雖非公開的目錄,但還是處理一下

後記:
避免將來使用gedit編輯檔案又留下這些檔案,所以要修改gedit的「偏好設定」
這樣,就不會留下這樣的檔案了



2012年10月21日 星期日

miniserver即刻救援版應用指南(學校客製化專用版)與客製用live系統釋出

miniserver即刻救援版
此版本用於學校客製化自己學校專用之live系統,一旦完成,可以於live系統開機完成後,自動把學校的重要Server(DNS,Web,DHCP)服務,即刻完成,以便於主要伺服器掛點時,即刻上線提供基本服務,包含IPv4與IPv6的設定
文件請參考:
ftp://ftp3.tn.edu.tw/TWubuntu/LiveServerRescue/miniserver%E5%8D%B3%E5%88%BB%E6%95%91%E6%8F%B4%E7%89%88%E6%87%89%E7%94%A8%E6%8C%87%E5%8D%97.pdf

2012年7月27日 星期五

miniserver與ubuntu桌面班研習講義上線

終於完成了連日來的研習課程,這次除了miniserver基礎架設與升級研習,開了桌面版的課程,以及『虛擬系統入門』的課程,總共完成了三份講義,有興趣的朋友可以參考看看。

miniserver伺服器架設與系統升級:
ftp://ftp3.tn.edu.tw/Document/miniserver_7target.tar.gz

TWubuntu中文桌面版:(此份講義使用系統『求助』文件轉成HTML文件,加入桌面操作錄影,所以檔案較大,請使用支援HTML5的瀏覽器觀看)
ftp://ftp3.tn.edu.tw/Document/ubuntu-help-modify.tar.gz
此中文桌面版,包含多個桌面選擇:ubuntu ubuntu2D lxde gnome-classic gnome3 xbmc


虛擬系統入門與應用(virtualbox 與 kvm):
ftp://ftp3.tn.edu.tw/Document/%E8%99%9B%E6%93%AC%E4%B8%BB%E6%A9%9F%E7%B3%BB%E7%B5%B1%E5%85%A5%E9%96%80%E8%88%87%E6%87%89%E7%94%A8.pdf

這次研習有個現象,就是server與虛擬系統都滿,還有候補的,但桌面班就兩梯都沒有滿額,可見linux桌面系統要被一般老師接受,還是有一段長路要走啊!Orz

2012年6月8日 星期五

TWubuntu_miniserver升級包與12.04 LTS版釋出

關於升級:

針對之前發布的11.04與已經升級至11.10版的miniserver,以虛擬機系統測試數十次終於達到比較穩定與輕鬆的升級方法,所以把這些流程寫成shell程式,在升級過程中,先一一將一些升級會遇到的bug先解除,然後進行safe-upgrade與full-upgrade,回答一些簡單的問題之後,就能把系統升級到有長期支援的12.04 LTS,有五年哦(我都稱他為『黃金五年』,掛保證的)

下載升級包:ftp://ftp3.tn.edu.tw/TWubuntu/UpgradeShell/

請依據你使用的版本選擇適當的程式,並於升級前,仔細看一下『注意事項』的pdf文件


注意,此升級包是專為『客製化』的miniserver系統作的,對許多『伺服器服務』的升級更新,因此比一般桌面版升級過程複雜,桌面版使用『官方』的升級工具即可


關於TWubuntu_miniserver64V2(12.04):

新版的miniserver也完成了,此次整合了KVM與VirtualBox的虛擬平台,所以也可以變成虛擬主機的平台,一方面檔案大小變大,約近900MB,另一方面也只提供64位元的版本,修正了『一些伺服器快樂架』的功能,這是較不同之處
由於提供作為虛擬平台服務,所以也整合了openvswitch與bonding的功能,以期於虛擬平台的服務上提供更多的好工具
事實上,opensource的虛擬平台所提供的『虛擬電腦』服務,已在小弟服務的中心運作許久,裡頭包含miniserver,centOS,winserver2008R2等系統,目前都正常服役中,這當中測試了KVM與VirtualBox,都有不錯的表現,當然,還是有許多功能尚待發覺與實測,像是『即時備援』的機制等(CDP),不過,我相信『自由的生命』會自動找到出路


關於新版miniserver的『伺服器快樂架』的小修改:
有鑑於ubuntu系統升級套件的『穩定性』有不錯的表現,因此,決定採用ubuntu官方自帶的phpmyadmin套件來安裝,不再使用原始壓縮檔,以便未來五年的持續更新,因此,若你有選擇安裝mysql資料庫功能的話,將會出現phpmyadmin套件的設定視窗,密碼部份只要統統輸入管理員密碼即可,如下:



按下OK鍵,會跳出phpmyadmin的設定視窗,選『是』


選『unix_socket』


資料庫管理員,輸入root


輸入root的密碼


建立phpmyadmin使用者


設定phpmyadmin使用者密碼,這裡輸入與root相同的密碼即可


確認密碼


建立phpmyadmin資料庫


使用『apache2』作為web server


輸入:http://yourIP/phpmyadmin



2012年1月20日 星期五

TWubuntu_VBox64V2開源虛擬主機建構系統發佈

TWubuntu_VBox64V2開源虛擬主機建構系統發佈
下載: ftp://ftp3.tn.edu.tw/TWubuntu/Vbox64/Version2/TWubuntu_VBOX64V2.iso

系統開機後,會進入文字模式(若畫面一片黑,請按Ctrl+Alt+F1 or F2),然後登入,執行 startx 即可進入桌面環境

桌面概觀

VirtualBox-ose:
由於使用開源版,所以比起官方版少了部份功能,像是usb2.0的設備與VRDP等功能,但若昨為虛擬伺服主機使用,已是綽綽有餘。
KVM:
開源且功能完整的linux原生虛擬系統,各種虛擬系統所需的功能應有盡有,並也擁有如virt-manager這樣的圖形管理介面,可以達到簡易與快速的建立與管理,是linux系統下首選的虛擬系統軟體
使用之前,請啟動libvirt-bin
sudo /etc/init.d/libvirt-bin start
sudo virt-manager
即可



以上的虛擬系統各有其優缺點,VirtualBox的介面簡單易懂,且兼容許多虛擬系統格式,並且跨平台(Linux上的虛擬機可以拿到Windows上的VirtualBox跑),而KVM在linux系統上,則有完整且媲美商用虛擬系統的功能,雖入門較難,但絕對是linux上使用虛擬系統的最佳選擇

魚與熊掌不可兼得:
無法同時使用兩者,運行於同一Host機上會讓系統Crash,只能挑選其一

善用iSCSI環境,將虛擬電腦安裝於 iSCSI 磁碟上
這裡,以一台miniserver啟動iSCSI服務,並立用open-iscsi工具登入使用

掛載為本機磁碟的遠端iSCSI磁碟
以VirtualBox來運行位於iSCSI磁碟上的虛擬電腦



以KVM運行位於iSCSI磁碟上的虛擬電腦
儘管實驗的環境只使用100Mbit的連線速度,但實際運行起來的效果仍超乎預期的好,之後將建置1Gb的環境,應可接近DAS存取速度

其實,這個系統已經實際安裝於一台HP 4U的機器上,加上ubuntu對硬體支援度極佳,完整支援其硬體raid卡,所以Host本身已在raid的保護機制下,並且上頭已經運行了8台VM主機,有win2003 win2008 miniserver等系統(都有sample虛擬機) ,可以利用Clone或再製功能,很快完成主機建制,只要根據該主機的需求,給予需要的運算資源與硬碟空間即可

此live系統,是64位元的第2版,功能談不上完善,但對有興趣於虛擬系統的人,可以作為一個練習的平台,玩玩看吧!

安裝:sudo ubiquity




blender:修改器Modifiers

  使用Modifiers:Array做出以下效果 plain axes(平面軸) \ Bevel(斜角) boolean