## 7.5 被攻擊后的主機修復工作
如果你的主機被攻擊而被取得操縱權的話,而你也由于了解到主機監控的需要,所以在最短的時間內發現此一事件, 那么該如何針對這個被入侵的主機來修復?那如果你要修復的話,你這個網管人員還需要哪些額外的技能? 底下我們就來談一談。
* * *
### 7.5.1 網管人員應具備的技能
從本章第一小節的分析當中,你會發現網管還真的是挺累的,他需要對操作系統有一定程度的熟悉, 對于程序的運作與權限概念則需要更了解,否則就麻煩了!那除了操作系統的基本概念之外, 咱們網管還需要啥特殊技巧呢?當然需要啊!其實一部主機最常發生問題的狀況, 都是由『內部的網絡誤用所產生的』,所以啊,你只管好主機而已是『沒有辦法杜絕問題』的啦! 底下就來談談你還需要啥技巧呢?
* 了解什么是需要保護的內容:
我的天吶,還要知道什么是需要保護的呀?沒錯,就是如此!由剛剛我們知道的主機入侵方法當中, 不難了解,只要有人坐在你的主機前面,那么任何事都有可能會發生!因此,如果你的主機相當的重要, 請『不要讓任何人靠近!』你可以參考一下湯姆克魯斯在『不可能的任務』里面要竊取一部計算機內的數據的困難度! ^_^""
* 硬件:能鎖就鎖吧!
* 軟件:還包含最重要的數據呢!
* 預防黑客 (Black hats) 的入侵:
這可不是開玩笑的,什么是黑客呀!這是因為原本在西部電影當中,壞人都是戴黑色帽子的, 所以之前的人們就稱網絡攻擊者為 Black hats 啦!在預防這方面的攻擊者時,除了嚴格管制網絡的登入之外, 還需要特別控制原本你的主機中的人物!就我們小網站來說,不要以為好朋友就隨便他啦! 他說要指定密碼是跟他的賬號相同比較好記,你就答應他!等到人家用他的密碼登入你的主機,并破壞你的主機, 那可就得不償失了!如果是大企業的話,那么員工使用網絡時,也要分等級的呢! ^_^
* 主機環境安全化:
沒什么好講的,除了多關心,還是多關心!仔細的分析登錄檔,常常上網看看最新的安全通告,這都是最基礎的! 還包含了以最快的速度更新有問題的軟件!因為,越快更新你的軟件,就越快可以杜絕黑客的入侵!
* 防火墻規則的訂定:
這部份比較麻煩一些啦!因為你必需要不斷的測試測試再測試!以取得優化的網絡安全設定! 怎么說呢?要曉得的是,如果你的防火墻規則訂定得太多的時候, 那么一個數據封包就要經過越多的關卡才能完整的通過防火墻,以進入到主機內部!嘿嘿! 這可是相當的花費時間的!會造成主機的效能不彰!特別留意這一點呢!
* 實時維護你的主機:
就像剛剛說的,你必需要隨時維護你的主機,因為,防火墻不是一經設定之后就不用在再他了! 因為,再嚴密的防火墻,也會有漏洞的!這些漏洞包括防火規則設定不良、利用較新的偵測入侵技術、 利用你的舊軟件的服務漏洞等等!所以,必需要實時維護你的主機呀!這方面除了分析 log files 之外,也可以藉由實時偵測來進行這個工作!例如 PortSentry 就是蠻不錯的一套軟件呢!
* 良好的教育訓練課程:
不是所有的人都是計算機網絡高手,尤其雖然現在信息爆炸但是仍然有很多的機會會遇到計算機白癡呀! 這個時候,要曉得的是,我們對于內部網域通常沒有太多的規范,那如果他用內部的計算機去做壞事怎么辦? 有時候還是無心的~挖哩~所以說,需要特別的教育訓練課程呀!這也是公司需要網管的主因之一!
* 完善的備份計劃:
天有不測風云,人有旦夕禍福呀!什么人都不知道什么時候會有大地震、我們也都不知道什么時候會突然的硬盤掛掉去~ 所以說,完善的備份計劃是相當重要的!此外,大概沒有人會說他的主機是 100% 的安全吧! 那如果你的系統被入侵,造成數據的損毀時,你要如何復原你的主機啊?呵呵!一個良好的網站管理人員, 無時無刻都會進行重要數據的備份的!很重要啊!這一部份請參考一下[基礎學習篇](http://linux.vbird.org/linux_basic)之 [Linux 主機備份](http://linux.vbird.org/linux_basic/0580backup.php)的內容吧! 我們在后面的遠程聯機服務器章節內也會提到一個很棒的 rsync 工具,你可以瞧瞧!
* * *
### 7.5.2 主機受攻擊后復原工作流程
所謂『百密一疏』啊,人不是神,總會有考慮不周的情況,萬一你的主機就因為這『一疏』導致被入侵了, 那該怎么辦?由上面的說明當中,我們知道『木馬』是很嚴重的,因為他會在你的系統下開個后門 (Back door) 讓攻擊者可以登入你的主機,而且還會竄改你 Linux 上面的程序,讓你找不到該木馬程序!怎么辦?
很多朋友都習慣『反正只要將 root 的密碼改回來就好了』 這樣的觀點,事實上,那樣一部主機還是有被做為中繼站的危險啊!所以, 萬一你的主機被入侵了,最好的方法還是『重新安裝Linux 』會比較干凈!
那該如何重新安裝呢?很多朋友一再地安裝,卻一再地被入侵~為什么呢?因為他沒有『記取教訓』啊!呵呵! 底下我們就來談一談,一部被入侵的主機應該如何修復比較好?
1. 立即拔除網絡線:
既然發現被入侵了,那么第一件事情就是拿掉網絡功能!拿掉網絡功能最簡單的作法自然就是拔掉網絡線了! 事實上,拿掉網絡線最主要的功能除了保護自己之外,還可以保護同網域的其他主機。怎么說呢?舉個 2003 年 8 月發病的疾風病毒好了,他會感染同網域之內的其他主機喔!所以,拔除網絡線之后,遠程的攻擊者立即就無法進入你的 Linux 主機,而且你還可以保護網域內的其他相關主機啊!
2. 分析登錄文件信息,搜尋可能的入侵途徑:
被入侵之后,決不是只要重新安裝就好,還需要額外分析 『為什么我的主機這一次會被入侵,對方是如何入侵的?』, 如果你能夠找出問題點,那么不但你的 Linux 功力立刻增強了,主機也會越來越安全喔! 而如果你不知道如何找出被入侵的可能途徑,那么重新安裝后,下次還是可能被以同樣的方法入侵啊! 粉麻煩的啦!好了,那該如何找出入侵的途徑呢?
* 分析登錄檔:低級的 cracker 通常僅是利用工具軟件來入侵你的系統,所以我們可以藉由分析一些主要的登錄檔來找出對方的 IP 以及可能有問題的漏洞。可以分析 /var/log/messages, /var/log/secure 還有利用 last 指令來找出上次登入者的信息。
* 檢查主機開放的服務:很多 Linux 用戶常常不曉得自己的系統上面開了多少的服務?我們說過,每個服務都有其漏洞或者是不應該啟用的增強型或者是測試型功能, 所以,找出你系統上面的服務,并且檢查一下每個服務是否有漏洞,或者是在設定上面有了缺失,然后一個一個的整理吧!
* 查詢 Internet 上面的安全通報: 透過安全通報來了解一下最新的漏洞信息,說不定你的問題就在上面!
3. 重要數據備份:
主機被入侵后,顯得問題相當的嚴重,為什么呢?因為主機上面有相當重要的數據啊!如果主機上面沒有重要的數據, 那么直接重新安裝就好了!所以,被入侵之后,檢查完了入侵途徑,再來就是要備份重要的數據了。 好了,問個問題,什么是『重要數據』?who, ps, ls 等等指令是重要數據嗎?還是 httpd.conf 等配置文件是重要數據?又或者是 /etc/passwd, /etc/shadow 才是重要數據?
呵呵!基本上,重要的數據應該是『非 Linux 系統上面原有的數據』,例如 /etc/passwd, /etc/shadow, WWW 網頁的數據, /home 里面的使用者重要檔案等等,至于 /etc/*, /usr/, /var 等目錄下的數據,就不見得需要備份了。 注意:不要備份一些 binary 執行文件,因為 Linux 系統安裝完畢后本來就有這些檔案,此外, 這些檔案也很有可能『已經被竄改過了』,那備份這些數據,反而造成下次系統還是不干凈!
4. 重新全新安裝:
備份完了數據,再來就是重新安裝 Linux 系統了。而在這次的安裝中, 你最好選擇適合你自己的安裝軟件即可,不要全部軟件都給他安裝上去啊!挺危險的!
5. 軟件的漏洞修補:
記得啊,重新安裝完畢之后,請立即更新你的系統軟件,否則還是會被入侵的啦!鳥哥喜歡先在其他比較干凈的環境下將 Internet 上面的漏洞修補軟件下載下來,然后刻錄起來,然后拿到自己的剛剛安裝完成的系統上面,mount CD 之后全部給他更新,更新之后,并且設定了相關的防火墻機制,同時進行下一步驟『 關閉或移除不需要的服務』后,我才將網絡線插上主機的網絡卡上! 因為鳥哥不敢確定在安裝完畢后,連上 Internet 去更新軟件的這段時間,會不會又受到入侵攻擊說....
6. 關閉或移除不需要的服務:
這個重要性不需要再講了吧?!啟用越少的服務,系統當然可以被入侵的可能性就比較低。
7. 數據回復與恢復服務設定:
剛剛備份的數據要趕緊的復制回來系統,同時將系統的服務再次的重新開放,請注意, 這些服務的設定最好能夠再次的確認一下,避免一些不恰當的設定參數在里頭喔!
8. 連上 Internet:
所有的工作都進行的差不多了,那么才將剛剛拿掉的網絡線接上來吧!恢復主機的運作了!
經過這一連串的動作后,你的主機應該會恢復到比較干凈的環境,此時還不能掉以輕心, 最好還是參考防火墻的設定,并且多方面的參考 Internet 上面一些老手的經驗,好讓你的主機可以更安全一些!
* * *
- 鳥哥的Linux私房菜:服務器架設篇 第三版
- 第一部份:架站前的進修專區
- 作者序
- 第一章、架設服務器前的準備工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架設服務器流程
- 1.3 自我評估是否已經具有架站的能力
- 1.4 本章習題
- 第二章、基礎網絡概念
- 2.1 網絡是個什么玩意兒
- 2.2 TCP/IP 的鏈結層相關協議
- 2.3 TCP/IP 的網絡層相關封包與數據
- 2.4 TCP/IP 的傳輸層相關封包與數據
- 2.5 連上 Internet 前的準備事項
- 2.6 重點回顧:
- 2.7 本章習題
- 2.8 參考數據與延伸閱讀
- 第三章、局域網絡架構簡介
- 3.1 局域網絡的聯機
- 3.2 本書使用的內部聯機網絡參數與通訊協議
- 第四章、連上 Internet
- 4.1 Linux 連上 Internet 前的注意事項
- 4.2 連上 Internet 的設定方法
- 4.3 無線網絡--以筆記本電腦為例
- 4.4 常見問題說明
- 4.5 重點回顧
- 4.6 本章習題
- 4.7 參考數據與延伸閱讀
- 第五章、 Linux 常用網絡指令
- 5.1 網絡參數設定使用的指令
- 5.2 網絡偵錯與觀察指令
- 5.3 遠程聯機指令與實時通訊軟件
- 5.4 文字接口網頁瀏覽
- 5.5 封包擷取功能
- 5.6 重點回顧
- 5.7 本章習題
- 5.8 參考數據與延伸閱讀
- 第六章、 Linux 網絡偵錯
- 6.1 無法聯機原因分析
- 6.2 處理流程
- 6.3 本章習題
- 6.4 參考數據與延伸閱讀
- 第二部分:主機的簡易資安防護措施
- 第七章、網絡安全與主機基本防護:限制端口, 網絡升級與 SELinux
- 7.1 網絡封包聯機進入主機的流程
- 7.2 網絡自動升級軟件
- 7.3 限制聯機埠口 (port)
- 7.4 SELinux 管理原則
- 7.5 被攻擊后的主機修復工作
- 7.6 重點回顧
- 7.7 課后練習
- 7.8 參考數據與延伸閱讀
- 第八章、路由觀念與路由器設定
- 8.1 路由
- 8.2 路由器架設
- 8.3 動態路由器架設:quagga (zebra + ripd)
- 8.4 特殊狀況:路由器兩邊界面是同一個 IP 網段: ARP Proxy
- 8.5 重點回顧
- 8.6 本章習題
- 8.7 參考數據與延伸閱讀
- 第九章、防火墻與 NAT 服務器
- 9.1 認識防火墻
- 9.2 TCP Wrappers
- 9.3 Linux 的封包過濾軟件:iptables
- 9.4 單機防火墻的一個實例
- 9.5 NAT 服務器的設定
- 9.6 重點回顧
- 9.7 本章習題
- 9.8 參考數據與延伸閱讀
- 第十章、申請合法的主機名
- 10.1 為何需要主機名
- 10.2 注冊一個合法的主機名
- 10.3 重點回顧
- 10.4 本章習題
- 10.5 參考數據與延伸閱讀
- 第三部分:局域網絡內常見的服務器架設
- 第十一章、遠程聯機服務器SSH / XDMCP / VNC / RDP
- 11.1 遠程聯機服務器
- 11.2 文字接口聯機服務器: SSH 服務器
- 11.3 最原始圖形接口: Xdmcp 服務的啟用
- 11.4 華麗的圖形接口: VNC 服務器
- 11.5 仿真的遠程桌面系統: XRDP 服務器
- 11.6 SSH 服務器的進階應用
- 11.7 重點回顧
- 11.8 本章習題
- 11.9 參考數據與延伸閱讀
- 第十二章、網絡參數控管者: DHCP 服務器
- 12.1 DHCP 運作的原理
- 12.2 DHCP 服務器端的設定
- 12.3 DHCP 客戶端的設定
- 12.4 DHCP 服務器端進階觀察與使用
- 12.5 重點回顧
- 12.6 本章習題
- 12.7 參考數據與延伸閱讀
- 第十三章、文件服務器之一:NFS 服務器
- 13.1 NFS 的由來與其功能
- 13.2 NFS Server 端的設定
- 13.3 NFS 客戶端的設定
- 13.4 案例演練
- 13.5 重點回顧
- 13.6 本章習題
- 13.7 參考數據與延伸閱讀
- 第十四章、賬號控管: NIS 服務器
- 14.1 NIS 的由來與功能
- 14.2 NIS Server 端的設定
- 14.3 NIS Client 端的設定
- 14.4 NIS 搭配 NFS 的設定在叢集計算機上的應用
- 14.5 重點回顧
- 14.6 本章習題
- 14.7 參考數據與延伸閱讀
- 第十五章、時間服務器: NTP 服務器
- 15.1 關于時區與網絡校時的通訊協議
- 15.2 NTP 服務器的安裝與設定
- 15.3 客戶端的時間更新方式
- 15.4 重點回顧
- 15.5 本章習題
- 15.6 參考數據與延伸閱讀
- 第十六章、文件服務器之二: SAMBA 服務器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服務器的基礎設定
- 16.3 Samba 客戶端軟件功能
- 16.4 以 PDC 服務器提供賬號管理
- 16.5 服務器簡單維護與管理
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考數據與延伸閱讀
- 第十七章、區網控制者: Proxy 服務器
- 17.1 什么是代理服務器 (Proxy)
- 17.2 Proxy 服務器的基礎設定
- 17.3 客戶端的使用與測試
- 17.4 服務器的其他應用設定
- 17.5 重點回顧
- 17.6 本章習題
- 17.7 參考數據與延伸閱讀
- 第十八章、網絡驅動器裝置: iSCSI 服務器
- 18.1 網絡文件系統還是網絡驅動器
- 18.2 iSCSI target 的設定
- 18.3 iSCSI initiator 的設定
- 18.4 重點回顧
- 18.5 本章習題
- 18.6 參考數據與延伸閱讀
- 第四部分:常見因特網服務器架設
- 第十九章、主機名控制者: DNS 服務器
- 19.1 什么是 DNS
- 19.2 Client 端的設定
- 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
- 19.4 DNS 服務器的詳細設定
- 19.5 協同工作的 DNS: Slave DNS 及子域授權設定
- 19.6 DNS 服務器的進階設定
- 19.7 重點回顧
- 19.8 本章習題
- 19.9 參考數據與延伸閱讀
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服務器之三: FTP 服務器
- 21.1 FTP 的數據鏈路原理
- 21.2 vsftpd 服務器基礎設定
- 21.3 客戶端的圖形接口 FTP 聯機軟件
- 21.4 讓 vsftpd 增加 SSL 的加密功能
- 21.5 重點回顧
- 21.6 本章習題
- 21.7 參考數據與延伸閱讀
- 第二十二章、郵件服務器: Postfix
- 22.1 郵件服務器的功能與運作原理
- 22.2 MTA 服務器: Postfix 基礎設定
- 22.3 MRA 服務器: dovecot 設定
- 22.4 MUA 軟件:客戶端的收發信軟件
- 22.5 郵件服務器的進階設定
- 22.6 重點回顧
- 22.7 本章習題
- 22.8 參考數據與延伸閱讀