Linux作業系統安全應用的因素

來源:互聯網
上載者:User

Linux作為開放式的作業系統受到很多程式員的喜愛,很多進階程式員都喜歡編寫Linux作業系統的相關軟體。這使得Linux作業系統有著豐富的軟體支援,還有無數的技術人員作為技術後盾和支援人員,這使得Linux越來越受到程式員的歡迎。

但這種開放式的作業系統有一個最大的弊端就是每個程式員的水平不等,編寫相關軟體後並未注意自己程式中的漏洞。沒有統一的漏洞檢查,這使得Linux的軟體中會出現很多的漏洞,而軟體開發人員卻很難察覺自己編寫程式的漏洞,但駭客們會非常注意這些漏洞,並且會利用這些漏洞來達到自己的目的。那麼是不是Linux系統就不安全了呢?其實大可不必擔心,Linux系統的安全性還是比視窗系統要安全的。只要做好下述幾點便可安心的使用Linux系統。去體驗別樣的操作體會。

一、取消不必要的服務

早期的Unix版本中,每一個不同的網路服務都有一個服務程式在後台運行,後來的版本用統一的/etc/inetd伺服器程式擔此重任。Inetd是Internetdaemon的縮寫,它同時監視多個網路連接埠,一旦接收到外界傳來的串連資訊,就執行相應的TCP或UDP網路服務。

由於受inetd的統一指揮,因此Linux中的大部分TCP或UDP服務都是在/etc/inetd.conf檔案中設定。所以取消不必要服務的第一步就是檢查/etc/inetd.conf檔案,在不要的服務前加上“#”號。

一般來說,除了http、smtp、telnet和ftp之外,其他服務都應該取消,諸如簡單檔案傳輸通訊協定tftp、網路郵件儲存及接收所用的imap/ipop傳輸協議、尋找和搜尋資料用的gopher以及用於時間同步的daytime和time等。

還有一些報告系統狀態的服務,如finger、efinger、systat和netstat等,雖然對系統查錯和尋找使用者非常有用,但也給駭客提供了方便之門。例如,駭客可以利用finger服務尋找使用者的電話、使用目錄以及其他重要訊息。因此,很多Linux系統將這些服務全部取消或部分取消,以增強系統的安全性。

Inetd除了利用/etc/inetd.conf設定系統服務項之外,還利用/etc/services檔案尋找各項服務所使用的連接埠。因此,使用者必須仔細檢查該檔案中各連接埠的設定,以免有安全上的漏洞。

在Linux中有兩種不同的服務型態:一種是僅在有需要時才執行的服務,如finger服務;另一種是一直在執行的永不停頓的服務。這類服務在系統啟動時就開始執行,因此不能靠修改inetd來停止其服務,而只能從修改/etc/rc.d/rc[n].d/檔案或用Runleveleditor去修改它。提供檔案服務的NFS伺服器和提供NNTP新聞服務的news都屬於這類服務,如果沒有必要,最好取消這些服務。

二、限制系統的出入

在進入Linux系統之前,所有使用者都需要登入,也就是說,使用者需要輸入使用者帳號和密碼,只有它們通過系統驗證之後,使用者才能進入系統。

與其他Unix作業系統一樣,Linux一般將密碼加密之後,存放在/etc/passwd檔案中。Linux系統上的所有使用者都可以讀到/etc/passwd檔案,雖然檔案中儲存的密碼已經經過加密,但仍然不太安全。因為一般的使用者可以利用現成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設定影子檔案/etc/shadow,只允許有特殊許可權的使用者閱讀該檔案。

在Linux系統中,如果要採用影子檔案,必須將所有的公用程式重新編譯,才能支援影子檔案。這種方法比較麻煩,比較簡便的方法是採用插入式驗證模組(PAM)。很多Linux系統都帶有Linux的工具程式PAM,它是一種身分識別驗證機制,可以用來動態地改變身分識別驗證的方法和要求,而不要求重新編譯其他公用程式。這是因為PAM採用封閉包的方式,將所有與身分識別驗證有關的邏輯全部隱藏在模組內,因此它是採用影子檔案的最佳幫手。

此外,PAM還有很多安全功能:它可以將傳統的DES加密方法改寫為其他功能更強的加密方法,以確保使用者密碼不會輕易地遭人破譯;它可以設定每個使用者使用電腦資源的上限;它甚至可以設定使用者的上機時間和地點。

Linux系統管理人員只需花費幾小時去安裝和設定PAM,就能大大提高Linux系統的安全性,把很多攻擊阻擋在系統之外。

三、保持最新的系統核心

由於Linux流通渠道很多,而且經常有更新的程式和系統補丁出現,因此,為了加強系統安全,一定要經常更新系統核心。

Kernel是Linux作業系統的核心,它常駐記憶體,用於載入作業系統的其他部分,並實現作業系統的準系統。由於Kernel控制電腦和網路的各種功能,因此,它的安全性對整個系統安全至關重要。

早期的Kernel版本存在許多眾所周知的安全性漏洞,而且也不太穩定,只有2.0.x以上的版本才比較穩定和安全,新版本的運行效率也有很大改觀。在設定Kernel的功能時,只選擇必要的功能,千萬不要所有功能照單全收,否則會使Kernel變得很大,既佔用系統資源,也給駭客留下可乘之機。

在Internet上常常有最新的安全Hotfix,Linux系統管理員應該訊息靈通,經常光顧安全新聞群組,查閱新的Hotfix。

四、增強安全防護工具

SSH是安全套接層的簡稱,它是可以安全地用來取代rlogin、rsh和rcp等公用程式的一套程式組。SSH採用公開密鑰技術對網路上兩台主機之間的通訊資訊加密,並且用其密鑰充當身分識別驗證的工具。

由於SSH將網路上的資訊加密,因此它可以用來安全地登入到遠程主機上,並且在兩台主機之間安全地傳送資訊。實際上,SSH不僅可以保障Linux主機之間的安全通訊,Windows使用者也可以通過SSH安全地串連到Linux伺服器上。

五、限制超級使用者的權力

我們在前面提到,root是Linux保護的重點,由於它權力無限,因此最好不要輕易將超級使用者授權出去。但是,有些程式的安裝和維護工作必須要求有超級使用者的許可權,在這種情況下,可以利用其他工具讓這類使用者有部分超級使用者的許可權。Sudo就是這樣的工具。

Sudo程式允許一般使用者經過組態設定後,以使用者自己的密碼再登入一次,取得超級使用者的許可權,但只能執行有限的幾個指令。

六、設定使用者帳號的安全等級

除密碼之外,使用者帳號也有安全等級,這是因為在Linux上每個帳號可以被賦予不同的許可權,因此在建立一個新使用者ID時,系統管理員應該根據需要賦予該帳號不同的許可權,並且歸併到不同的使用者組中。

在Linux系統上的tcpd中,可以設定允許上機和不允許上機人員的名單。其中,允許上機人員名單在/etc/hosts.allow中設定,不允許上機人員名單在/etc/hosts.deny中設定。設定完成之後,需要重新啟動inetd程式才會生效。此外,Linux將自動把允許進入或不允許進入的結果記錄到/rar/log/secure檔案中,系統管理員可以據此查出可疑的進入記錄。

每個帳號ID應該有專人負責。在企業中,如果負責某個ID的職員離職,管理員應立即從系統中刪除該帳號。很多入侵事件都是借用了那些很久不用的帳號。

在使用者帳號之中,駭客最喜歡具有root許可權的帳號,這種超級使用者有權修改或刪除各種系統設定,可以在系統中暢行無阻。因此,在給任何帳號賦予root許可權之前,都必須仔細考慮。

Linux系統中的/etc/securetty檔案包含了一組能夠以root帳號登入的終端機名稱。例如,在RedHatLinux系統中,該檔案的初始值僅允許本地虛擬控制台(rtys)以root許可權登入,而不允許遠端使用者以root許可權登入。最好不要修改該檔案,如果一定要從遠程登入狀態root許可權,最好是先以普通帳號登入,然後利用su命令升級為超級使用者。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.