Main Page | 最近更改 | 編輯本頁 | 頁面歷史

可列印版 | 免責聲明 | 隱私政策

未登入
登入 | 幫助
 

SecureDebian

出自DebianWiki

目錄

[編輯] 讓你的 Debian 硬起來

這僅是快速導引,指引相關手冊與工具,目的在於導引管理者加強安全,而非打造無敵系統,相關資訊與軟體設定細節尚待補充。網路監測、備份機制與入侵偵測等,會持續補充或另外撰寫新文。

[編輯] 安全作業系統的迷思

無論是何種系統,並沒有所謂安全的電腦作業系統存在,特別是接上網路的伺服器系統,資訊安全是過程,不是結果。如果有人對你推銷某作業系統裝了之後,就可讓你高枕無憂,夜夜好眠,拜託千萬別給拐騙了。即便再安全的系統,在缺乏資訊安全概念的管理者手中,還是十分不安全。你可能見過許多號稱極端安全或加強資訊安全的作業系統,簡單的說來,這些作業系統的開發過程是嚴格的進行程式碼稽核,以確保基礎系統在軟體上沒有重大缺失。或加強了政策(policy)導向的安全管理機制,可對電腦資源的使用加以限制。此外,則是加強核心或函式庫的安全性功能,以規避入侵者利用程式碼的缺陷,如以特定技術保護程式堆疊,防止緩衝區溢出等。還有則是以隱蔽資訊策略來達到『假性』安全,也就是作業系統供應商限制作業系統本身的公開資訊,盡可能讓使用者無法接觸原始碼,程式開發介面應用,程式二進制介面與系統核心。另外則是新增了加密演算法工具可讓你對網路連線(VPN) 檔案或磁碟加密。

是的,這些內建加強資安功能的作業系統可以替你省下不少事情,也可以讓你較為輕易的套用組織的資安政策。但系統設定錯誤,使用密碼的習慣不當,系統日誌稽核的鬆懈都會造成資安危機。所以任何安全作業系統都不比其他系統安全,除非管理者本身建立的良好的習慣與資安概念。

有些患有強迫症的傢伙非得要比個高下,你可以看看 Bugtraq Vulns Stats 在 2001 年八月之前的統計,在 2001 八月之前的漏洞排行版的頭三名是 Mandrake Linux 與 RedHat Linux 包辦,你千萬別把這個列表看的太認真,因為其中有許多所謂瑕疵僅是可能遭受入侵者利用,並未實際證明足以達到破壞的階段,你大概注意到微軟 Windows 2000 居然排在列表之後,了解真相的人們大概會哈哈一笑,還不了解請閱讀 Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers!

[編輯] 到底 Debian 安不安全

這大概是正計畫使用 Debian 的使用者最大的疑慮, 你可以參考Debian security FAQ 以及Securing Debian Manual 第十一章 ,或許其中包含了一些你想知道的答案。

簡單的說,Security Team 提供了健全的維護機制,當某套軟體出現系統漏洞時,會迅速的修正,並以 NMU 方式上傳修復的軟體,並於公開的郵遞論壇以及網頁發佈資安諮詢報告。此外另外有 Debian Security Audit Project 等計畫以協助驗證系統軟體的品質。因此你大可放心使用,接下的來的事情應是管理者本身的責任。

注意並訂閱相關的資訊安全新聞,確實定時的驗證稽核系統,培養良好的管理與備份習慣,這才是資訊安全的自保之道。僅安裝以下所介紹的軟體並不會讓你獲得足夠的安全。

[編輯] 掌握你的資訊系統安全

一般我們都會建議 Debian 使用者在建造伺服系統時,選擇 Stable 分支(現穩定版本代號是 woody),Debian 的安全原則是至少支援到下一版穩定版釋出一年後,或下下一個穩定版釋出後,才會凍結更新。由於 Debian 的嚴謹政策使各穩定版開發準備期較其他版本的 Linux 分發套件要來得久,每個穩定版都經過長期的使用者測試粹煉,因此各項軟體均經過大量的日常使用與測試。Debian 的另外一項政策是穩定版中的軟體除了安全性問題與重大瑕疵外,一律不做版本更新,而安全性問題也不以版本升級為解決方案,僅提供現有版本的修復版本。如此一來,便持續維持了各項軟體的版本,延長了生命週期,凡是基於此系統所開發的資訊系統便無須由於基礎系統的版本更動,而必須花費額外的維護支出。許多分發套件,在碰到新的軟體安全漏洞問題時,以代換新版本作為解決方案,這樣的後果會造成你所使用的第三方供應商軟體由於及基礎軟體的升級而無法使用,因此你必須付出昂貴的維護費用要求第三方廠商支援,或者...持續使用含有漏洞的基礎軟體。另外許多商業版本的分發套件,往往為了商業因素,會全力開發新版本,以刺激市場需求,由於版本更動極快,有時候供應商會要求客戶付費以取得升級服務,然而,升級服務費僅是微小的支出,最怕的恐怕是供應商宣佈不再提供舊版的升級服務,而這種死亡宣告,往往來的比你想像的快。使用 Debian 穩定版並不失為一個好主意,雖然其中的軟體版本看起來似乎較其他種類的套件舊了些。

[編輯] harden

當你裝好 Debian 系統,其中一個頭痛的問題是如何使你的系統更為安全,如何讓你的系統『硬』起來?一位 Debian 開發者 Ola Lundqvist <opal[at]debian.org> 包裝了一系列以 harden 為首的套件:

這些軟體絕大部分都是 metapackage,協助你安裝或注意不要安裝特定軟體,我們並不建議你安裝以上 "所有" 的套件,因為那會造成你的系統自縛手腳,不堪使用。你應該做的是藉由這些軟體檢測系統並學習。

[編輯] Securing Debian Manual

首先,你要裝的是 harden-doc ,它包含了一份非常具參考價值的文件 - Securing Debian Manual ,Securing Debian Manual 是由 Alexander Reelsen 與 Javier Fernández-Sanguino Peña 所著,文中廣泛的整理了各項注意事項與解決方案,從安裝前的密碼抉擇到安裝後的系統維護,以及如何檢驗與設定各項網路服務的服務細節。在你準備動手讓你的系統『硬』起來前,先把整份文件讀過一次。

系統會遭到入侵的其中一項主要原因是技術不熟練(unskill)的管理者對於伺服器的設定錯誤。因此請在安裝後特別注意,第四節與第五節,提到對特定伺服軟體進行設定細節,如透過 tcpwrappers 設定『存取控制列表(ACL)』,僅限制可信賴的來源。在你尚未準備好之前,別急著插上網路線。

[編輯] 自動應用程式檢測

harden 套件在教育用途的目的大於實用價值,使用者可以藉由這些 metapackage 了解系統安裝了可能有安全問題的軟體,如果沒有實際的需要,建議把這些軟體移除或使用其他版本軟體取代。

[編輯] harden-servers,harden-clients

這兩個套件會協助你移除不該使用的伺服器與客戶端。這些伺服器與客戶端都是使用明碼協定,因此可能遭到網路封包的擷取,以至於認證資訊泄露,或是可能會泄露資訊給網路上其他用戶。這些應用程式包含了 telnet/ftp/finger/POP3/IMAP/Sun RPC Service 等。

你可以透過安裝這兩個套件以檢閱目前有什麼軟體是有上述的疑慮。例如先行安裝 harden-servers ,再安裝 telnetd,你便會得到以下的重複確認訊息。

# apt-get install telnetd 
The following packages will be REMOVED:
	harden-servers
The following NEW packages will be installed:
 telnetd 
Do you want to continue (Y/n)

[編輯] harden-3rdflaws, harden-remoteflaws 與 harden-localflaws

這三個套件包含了防止本地,遠端連線還有第三方軟體缺陷遭到入侵者利用的套件。這些軟體的缺陷可能是使用明碼密碼,或是歷史上曾經發現漏洞,而軟體本身還是使用超級使用者的 setuid 權限,可能造成高級權限不當利用(exploit),或是軟體本身未支援存取控制表(ACL)。

如果你的系統中裝有 harden-remoteflaws 或 harden-servers 中所包含的軟體,又必須使用,像是 portmap 等,你該考慮藉由 iptables 來限制存取來源。

所謂第三方軟體是指某些網站系統可能透過瀏覽器等藉以滲透入侵。

[編輯] harden-environment, harden-nids

harden-environment 則是建議安裝本機入侵偵測系統,這些本機入侵偵測系統會對系統檔案與目錄進行檔案雜湊驗證,如果系統遭到侵入,你可以藉由現有的檔案資料庫判斷有多少檔案遭到竄改。這些軟體包含 DebianPackages:debsumsDebianPackages:samhainDebianPackages:integritDebianPackages:tripwireDebianPackages:aide

harden-nids 則是網路入侵偵測系統,所謂網路入侵偵測系統是分析網路封包,藉以抓出入侵者的攻擊封包。這裡所說得是 snort,細節將會詳述。

[編輯] harden-remoteaudit

遠端弱點檢測軟體,這裡所建議安裝的是 nessus ,注意,nessus 部份弱點測試目的是阻斷服務攻擊,這個工具僅可用於授權單位。

[編輯] harden-surveillance

這個套件包含兩個軟體,DebianPackages:nagiosDebianPackages:netsaint,適合網管人員監視網路服務是否正常運行。

[編輯] 建造城堡 - Bastille

DebianPackages:bastille 來自於 The Bastille Hardening System,這是一個圖形化工具,協助管理者增強系統安全,包含設定系統檔案的權限,移除網路服務等等。管理著除了可以用這套系統加強系統安全外,也可以藉由Bastille 的一問一答圖形介面了解相關的資訊,每個問題都包含了細節描述。

[編輯] 日誌稽核

另外一項系統管理者的重要工作就是定期稽核系統日誌基本,基本上,系統日誌(syslog)稱為 "Soft Log",因為儲存在電腦上的日誌紀錄都是可以被滲透者竄改的,因此重大的資訊系統往往將系統日誌轉到特定的日誌伺服器,直接以印表機或其他的方式進行離線儲存。無論是何種日誌儲存系統,如果管理者未確實進行稽核,那麼日誌形同虛設。但系統日誌非常繁雜,管理者需要工具協助整理與匯整。

[編輯] logcheck

這裡推薦 DebianPackages:logcheck (目前只在 sid 中),logcheck 配合分析資料庫系統,可以協助管理者找出有問題的系統日誌,並透過電子郵件通知管理者。 logcheck 計畫首頁 http://www.astro.uiuc.edu/~r-dass/logcheck/

[編輯] log-analysis

使用 Stable 與 Testing 版本的朋友可以使用 DebianPackages:log-analysis 。但由於 log-analysis 對於紀錄檔的分析樣式不夠完整,必須由管理者手動加強分析,並手動設定啟動 cron,因此使用時,必須特別注意。

[編輯] 系統稽核

系統稽核所指的是驗證本機系統檔案,入侵者往往會竄改系統檔案,安裝後門軟體等。你可以使用特定的系統稽核軟體,自動查驗檔案是否遭到修改或刪除,以及分析是否有後門程式佔用網路服務。

[編輯] checksecurity

DebianPackages:checksecurity 提供基礎的系統驗證,會每日建立具備高級權限的程式列表,如果檔案更動,會以電子郵件通知管理者,另外還有查驗密碼檔與磁碟大小等基本功能。

[編輯] Tiger

DebianPackages:tiger 則是進階且積極的系統驗證系統。tiger 是由大量的命令稿與 C 語言所寫成的小程式所組成,支援數種 UNIX 作業系統,這些系統指令會進行比較嚴謹的系統驗證,包含各項網路服務設定、cron 設定、檔案權限、額外的網路服務稽核等等,除此之外,也會檢驗弱密碼、知名的 rootkit 等。

Debian 版本的 Tiger 甚至會藉由以發佈的資安諮詢報告(Security Advisories),協助辨別系統中是否存在問題版本的軟體。以及依照已安裝檔案列表,判斷 /usr, /dev 等目錄是否有不該存在的系統檔案。由於 Debian Package 在發佈時,絕大部分也內涵個別檔案的 md5sum ,因此 tiger 也可藉由已安裝的套件資訊查驗檔案的完整性。

某些 Debian 專屬的功能,由於會占去較多的系統資源,你必須在安裝後設定 /etc/tiger 下的檔案。必要時,你可以手動執行以下的指令來進行稽核

# sh /usr/lib/tiger/systems/Linux/2/deb_checkadvisories # 檢查現有軟體是否為 Security Advisories 報告的問題版本
# sh /usr/lib/tiger/systems/Linux/2/deb_checkmd5sums # 檢查所有安裝套件的檔案是否遭到竄改
# sh /usr/lib/tiger/systems/Linux/2/deb_nopackfiles # 檢查系統目錄中是否存在非正常安裝檔案
註: 依據已安裝的套件資訊進行驗證並非絕對安全。因為入侵者也可能修改這些資訊。

[編輯] 限制核心功能 - lcap

在 Linux Kernel 2.2.11 之後,核心支援了 Linux kernel capabilities,這個功能使的核心的部份功能可以被停用。目前被支援的 POSIX-draft defined capabilities 有

你可以安裝 DebianPackages:lcap,並使用這個指令停用某些功能。你可以將指令擺在開機程序中,例如停用 ptrace ,ptrace 通常用在 breakpoint debugging 與 system call tracing,因此大部分時候你並不會用到這個功能。但入侵者卻可以藉由這個指令中斷你正在執行中的程序,甚至插入惡意程式到目前執行的程式中,諸如此類。在你正常開機後,並載入必須的驅動程式後,你通常也用不到核心模組載入功能,未免遭到安裝 LKM 形式 Rootkit,因此你也可以停用這項功能。

這不是必要的程序,僅建議資深使用者使用。

[編輯] 參考文件/連結

取自"http://wiki.debian.org.tw/index.php/SecureDebian"

本頁面已經被瀏覽19,500次。 這頁的最後修訂在 2007年5月15日 (星期二) 23:35。 本站的全部文本內容在GNU Free Documentation License 1.2之條款下提供。


[Main Page]
Main Page
社區
近期活動
最近更改
隨機頁面
幫助
贊助

編輯本頁
討論本頁
頁面歷史
鏈入頁面
鏈出更改

特殊頁面
錯誤報告