顯示具有 伺服器應用 標籤的文章。 顯示所有文章
顯示具有 伺服器應用 標籤的文章。 顯示所有文章

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年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


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




2011年6月23日 星期四

新版miniserver釋出與快速入門

此次新版miniserver,使用11.04的版本,並加入64位元的版本,使用tcl/tk的圖形介面,整合之前所有伺服器加設的shell程式,設定好網路介面,選擇你的服務,一分鐘即可完成架設
系統下載:
32bit
ftp://ftp3.tn.edu.tw/TWubuntu/miniserver/Version2/TWubuntu_miniserverV2.iso
64bit
ftp://ftp3.tn.edu.tw/TWubuntu/miniserver64/Version1/TWubuntu_miniserver64V1.iso

按下lxlaucher切換器,就會出現lxlauncher選單
 

到『偏好設定』,按下下面的icon就可以安裝系統
 

安裝完成後,到『偏好設定』,啟動『伺服器快樂架』工具
 

選擇『NetWorkManager』設定工具,設定你的固定IP,包括IPv4與IPv6


進入設定畫面,選擇網路介面,然後『編輯』

設定IPv4
 


設定IPv6
 


按下『關閉』,會字動將相關設定填入設定資料中



輸入你的管理員密碼,選擇要啟動的服務,按『OK』,搞定
(注意:若是你安裝此系統,要作為資料轉移的準備,請先不要啟動DNS與DHCP的服務,待資料轉移完成,重新修改你的固定IP後,再來啟動,並取代舊主機)
 


預設的防火牆修改,你可以使用gufw來設定即可
 

2011年5月23日 星期一

SSH + Rsync的備份機制




SSH + Rsync的備份機制
卓國興 2011/05/21



備份流程示意圖:

ssh+rsync的備份機制

為何要備份,又,備份的資料與方法要如何決定呢?有哪些備份機制可以快速簡單呢?



備份是個很重要的工作,電腦周邊硬體你無法去保證他是天天『平安無事』的,就算不是硬體造成的,也有可能發生在你的不小心誤刪、中毒或被入侵的不可預期的情況而遺失資料,此時,備份的資料就是你的救星。
要知道,系統與軟體損毀,重灌就好,資料遺失,就像『大江東去』。
Linux
上的備分方法有很多種,端視個人的需求去取用,可以複雜,可以簡單,dd tar cpio dump等指令,都是不錯的備份工具,若要達到快速、簡單又安全,那麼,依小弟的個人淺見,把rsync加上ssh的加密機制,將是很好的選擇。
rsync
使用所謂『rsync演算法』,進 行 檔 案 比 對 、 傳 輸 與 複 製,可以很快的比對來源與目的端檔案的異動部份,非每次都進行完整的備份,所以,速度與頻寬的利用,都相當優異。
rsync
是撰寫來取代rcp與scp的。可以用來實現透過rsync/ssh,從多個client端以鏡像(mirror)備份到伺服器。搭配cron排程,任何人皆可排程讓多台電腦與伺服器間使用自動加密過、基於rsync的鏡像備份。
要備份哪些目錄,端是個人的需求,通常有網站,會備份/var/www /var/lib/mysql等放置資料檔案的地方,若要備份設定檔案,則會字加入/etc/apache2 /etc/php5等的目錄
不需要備份的目錄:
在linux系統中,就算是整個/都要備份,但也需忽略掉一些特殊的目錄,像是/proc這個程序執行的目錄
/mnt
或 /media 用來掛載了其他的裝置的目錄,不需要備份
/dev
設備檔目錄這個也可以不去理會
/tmp
這個暫存檔目錄也是無需備份的


Linux端使用 ssh+rsync 的備份方法
Server
端:
只要啟動 ssh server
/etc/init.d/ssh start
rcconf
把ssh設為開機啟動

client
端執行:(註:如果你使用linux系統,並且要備份具特殊權限的東西(mysql),那麼需以root身份執行以下動作)
ssh-keygen [-t dsa|rsa](
不要輸入passphares的密碼)於自家目錄下產生~/.ssh/id_rsa 與 id_rsa.pub
cat  ~/.ssh/id_rsa.pub | ssh -l root  serverIP "cat - >> ~/.ssh/authorized_keys"
ssh -l root serverIP (
確認不需密碼可以登入,就可以進行以下的備份動作了)

備份與取回
ssh -l root serverIP ‘mkdir /root/backup’ (
登入遠端,並建立backup目錄) 

備份到遠端
rsync -av --delete --backup --backup-dir=/root/backu/recycle/`date +%F` --rsh=ssh --stats
目錄1  目錄2 --numeric-ids  root@遠端ip:/root/backup

 取回備份
rsync -v -u -a --numeric-ids --delete --backup --backup-dir=/root/backu/recycle/`date +%F` --rsh=ssh --stats root@
遠端ip:/root/backup/目錄1 :/root/backup/目錄2 .
注意,不同的linux作業系統應使用 --numeric-ids, 這是因為相同的使用者名稱,在不同的系統可能有不同的uid/gid,如mysql,以此參數健行備份與還原,方能維持還原回來的資料為原來的uid /gid,不過,若是你更換或升級系統,有可能造成還原的資料的uid/gid對應的使用者錯誤,例如mysql,此時,你可以手動 chown -R mysql /var/lib/mysql來還原使用者身份。
--numeric-ids
不將傳送端檔案的uid及gid值,與目的端的使用者/群組進行配對. 若傳送端並沒有uid及gid的對應名稱(如:原帳號群組被刪除的遺留檔案), 或目的端沒有相對應的帳號/群組,保留數字型態的uid/gid

 另外,使用 --backup --backup-dir=/root/backu/recycle/`date +%F`, 則是一個使用類似資源回收統的機制,來對同步的動作做一個保護機制,當本地端新編修或刪除的程式碼,經同步後,與端的目的目錄就會跟本地端相同了,若你欲 取回之前的舊的、刪除的程式碼,就可以透過此機制,去backup-dir所指定的目錄(如:/root/backup/recycle /2001-05-21)取回了
-b, --backup
目的地端先前已經存在的檔案在傳輸或刪除前會被備份.  

--backup-dir=DIR 設定備份的資料夾.   

--suffix=SUFFIX 指定備份的檔案名稱字尾形式(預設為~).

--bwlimit=KBPS
定義傳輸頻寬的大小(KBytes/秒),這個可以限定你進行同步時,使用的頻寬,如果家裡的電腦是多人使用的環境,可以使用此參數限制上傳或下載的頻寬,以免讓家裡面其他使用電腦的人,覺得上網的速度受到影響
 

使用crontab做定時備份
設定 crontab , 定時執行備份
sudo gedit /root/bkeclass.sh


/root/bkeclass.sh的內容如下:
#! /bin/sh
rsync -av  --delete --backup --backup-dir=/root/backu/recycle/`date +%F` --rsh=ssh --stats
目錄1  目錄2  --numeric-ids root@遠端ip:/root/backup


加入可執行權限:
sudo chmod u+x /root/bkeclass.sh
定時備份:
sudo crontab -e
0 3 * * * /root/bkeclass.sh
註:每日 3 時執行 bkeclass.sh 以備份資料
列出定時備份
sudo crontab -l
rcconf
把cron選起來

下載使用快速設定工具 ensshRsync.sh工具
修改:gedit ensshRsync.sh,把以下的紅字的部份改為適合自己的參數
#
本地端要備份的目錄
backuplist="/var/www /srv/ftp"
#
遠端備份主機的IP OR DomainName
remote="192.168.1.2"
#
備份的目錄名稱
remoteDIR="/root/backupFTP3"
#
頻寬設定
limit=5000
…......................................
 
執行這個shell程式,就可以以無須密碼的方式以rsync + ssh 進行遠端備份的工作,並建立一個名為getMyBackup.sh,取回遠端備份的指令
當然,你也可以使用任何可以透過 22port 的連線軟體,來取回你的資料,如使用跨平台的FileZilla使用sftp來登入並取回


Windows使用 ssh+rsync 的備份方法

備份windows端的資料,可以備份到linux系統的某個user的目錄下,因為資料沒有uid/gid的問題
 
安裝cygwin把rsync ssh cron 選起來安裝



執行ssh-keygen.exe
ssh -l user serverIP ‘mkdir .ssh backup’ (
登入遠端,並建立backup與 .ssh目錄)
cat  ~/.ssh/id_rsa.pub | ssh -l user  serverIP "cat - >> ~/.ssh/authorized_keys"
rsync -av --delete --rsh=ssh --stats /cygdrive/c/Users/Administrator/Vid
os user@ServerIP:/home/user/backup/



注意:cygwin的Administrator與windows的Administrator是不同的人,一個是在/home/Administrator下,一個在c:\Users\Administrator(Win7),對cygwin而言,c:\就等於/cygdrive/c,所以要備份c:\Users\Administrator的資料,在cygwin下要寫成/cygdrive/c/Users/Administrator

安裝madedit
http://sourceforge.net/projects/madedit/

下載ensshrsync.ssh,並以madedit編輯(不可以使用wordpad編輯,因為斷行的符號不同)
#!/bin/bash
#Author: kawsing
#Date:2011/05/17
#
本地端要備份的目錄
backuplist="/cygdrive/c/Users/Administrator/Videos/  
資料夾1  資料夾2"
#
遠端備份主機的IP OR DomainName
remote="
遠端主機"
#
備份的目錄名稱
remoteDIR="/home/user/backupmyWIN7DATA"
#
頻寬設定
limit=5000
…..........................................................
…..........................................................

設定cron

cron-config
Enter the value of CYGWIN for the daemon: [ ]ntsec
Do you want the cron daemon to run as yourself? (yes/no)yes
Please enter the password for user 'Administrator':(
輸入此使用者的Windows密碼)
Reenter:(
再次輸入密碼)
Running cron_diagnose ...
WARNING: You do not currently have a crontab file.
... no problem found.
Do you want to start the cron daemon as a service now? (yes/no) yes

crontab.exe -e
:wq!
寫好的檔案會存在c:\cygwin\var\cron\tabs你可以使用madedit編輯

./getMyBackuo.sh,
檔案會被還原到c:\cygwin\home\Administrator
你也可以透過FileZilla或 winscp等軟體,以22 port連上主機,取回個人資料

cygwin
服務的啟動與關閉
cygrunsrv -S cron
cygrunsrv -E cron



Android手機也來囉
在Android的手機上,去Market,下載安裝 rsync backup for Android,也可以使用此方法來進行備份,相當有趣



blender:修改器Modifiers

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