歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> LINUX安全管理10要點

LINUX安全管理10要點

日期:2017/2/27 9:36:14   编辑:更多Linux

作者:曹江華     Linux的組網能力非常強大,它的TCP/IP代碼是最高級的。Linux提供了對於當前的TCP/IP協議的完全支持,並且包括了對下一代Internet協議IPv6的支持。互聯網中接入的機器中,有相當大一部分使用的是Linux操作系統。但Linux是一個多用戶的系統,黑客們為了在攻擊中隱藏自己,往往選擇Linux系統作為首先攻擊的對象,進而利用它來做一些非法的勾當,如:進行DOS(拒絕服務)攻擊、運行IRC bot、發布非法軟件等。作為一個Linux用戶,時刻要防止攻擊,以下十項建議可以使你的Linux系統更加安全。       關閉無用的端口       任何網絡連接都是通過開放的應用端口來實現的。如果我們盡可能少地開放端口,就使網絡攻擊變成無源之水,從而大大減少了攻擊者成功的機會。       首先檢查你的inetd.conf文件。inetd在某些端口上守侯,准備為你提供必要的服務。如果某人開發出一個特殊的inetd守護程序,這裡就存在一個安全隱患。你應當在inetd.conf文件中注釋掉那些永不會用到的服務(如:echo、gopher、rsh、rlogin、rexec、talk、ntalk、pop-2、finger等)。注釋除非絕對需要,你一定要注釋掉rsh、rlogin和rexec,而telnet建議你使用更為安全的ssh來代替,然後殺掉lnetd進程。這樣inetd不再監控你機器上的守護程序,從而杜絕有人利用它來竊取你的應用端口。你最好是下載一個端口掃描程序掃描你的系統,如果發現有你不知道的開放端口,馬上找到正使用它的進程,從而判斷是否關閉它們。       刪除不用的軟件包       在進行系統規劃時,總的原則是將不需要的服務一律去掉。默認的Linux就是一個強大的系統,運行了很多的服務。但有許多服務是不需要的,很容易引起安全風險。這個文件就是/etc/inetd.conf,它制定了/usr/sbin/inetd將要監聽的服務,你可能只需要其中的兩個:telnet和FTP,其它的類如shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth等,除非你真的想用它,否則統統關閉。       需要提醒你的是以下三個服務漏洞很多,強烈建議你關閉它們:S34yppasswdd(NIS服務器)、S35ypserv(NIS服務器)和S60nfs(NFS服務器)。       不設置缺省路由       在主機中,應該嚴格禁止設置缺省路由,即default route。建議為每一個子網或網段設置一個路由,否則其它機器就可能通過一定方式訪問該主機。       口令管理       口令的長度一般不要少於8個字符,口令的組成應以無規則的大小寫字母、數字和符號相結合,嚴格避免用英語單詞或詞組等設置口令,而且各用戶的口令應該養成定期更換的習慣。另外,口令的保護還涉及到對/etc/passwd和/etc/shadow文件的保護,必須做到只有系統管理員才能訪問這2個文件。安裝一個口令過濾工具加npasswd,能幫你檢查你的口令是否耐得住攻擊。如果你以前沒有安裝此類的工具,建議你現在馬上安裝。如果你是系統管理員,你的系統中又沒有安裝口令過濾工具,請你馬上檢查所有用戶的口令是否能被窮盡搜索到,即對你的/ect/passwd文件實施窮盡搜索攻擊。對那些糟糕的口令,強令它們的主人修改它,或干脆鎖住它們的賬號。       分區管理       一個潛在的攻擊,它首先就會嘗試緩沖區溢出。在過去的幾年中,以緩沖區溢出為類型的安全漏洞是最為常見的一種形式了。更為嚴重的是,緩沖區溢出漏洞占了遠程網絡攻擊的絕大多數,這種攻擊可以輕易使得一個匿名的Internet用戶有機會獲得一台主機的部分或全部的控制權!       為了防止此類攻擊,我們從安裝系統時就應該注意。如果用root分區紀錄數據,如log文件和email,就可能因為拒絕服務產生大量日志或垃圾郵件,從而導致系統崩潰。所以建議為/var開辟單獨的分區,用來存放日志和郵件,以避免root分區被溢出。最好為特殊的應用程序單獨開一個分區,特別是可以產生大量日志的程序,還建議為/home單獨分一個區,這樣他們就不能填滿/分區了,從而就避免了部分針對Linux分區溢出的惡意攻擊。       謹慎使用.rhosts文件       .rhosts文件中存儲的是可以直接遠程訪問本系統的主機及用戶名。當你用telnet命令或r*命令(如rlogin、rcp等)來遠程訪問本系統時,系統首先檢查.rhosts文件中是否存有你此時的主機名和用戶名。當找到你的主機名和用戶名後,它將允許你直接訪問它,而不需輸入口令。當黑客一旦攻破你的系統,他必將要在你的系統中留下一個供他日後自由出入的後門。只要他將自己的主機名和用戶名寫進.rhosts文件,就達到了這一目的。       所以我們要時刻檢查我們的orhosts文件,一旦發現裡面出現莫名其妙的主機名和用戶名,馬上刪除它們。並把它們報告給它們的服務提供商,警告他們的行為。       日志管理       日志文件時刻為你記錄著你的系統的運行情況。當黑客光臨時,也不能逃脫日志的法眼。所以黑客往往在攻擊時修改日志文件,來隱藏蹤跡。因此我們要限制對/var/log文件的訪問,禁止一般權限的用戶去查看日志文件。       另外,我們還可以安裝一個icmp/tcp日志管理程序,如iplogger,來觀察那些可疑的多次的連接嘗試(加icmp flood3或一些類似的情況)。還要小心一些來自不明主機的登錄。       終止正進行的攻擊       假如你在檢查日志文件時,發現了一個用戶從你未知的主機登錄,而且你確定此用戶在這台主機上沒有賬號,此時你可能正被攻擊。首先你要馬上鎖住此賬號(在口令文件或shadow文件中,此用戶的口令前加一個Ib或其他的字符)。若攻擊者已經連接到系統,你應馬上斷開主機與網絡的物理連接。如有可能,你還要進一步查看此用戶的歷史記錄,查看其他用戶是否也被假冒,攻擊音是否擁有根權限。殺掉此用戶的所有進程並把此主機的ip地址掩碼加到文件hosts.deny中。       防范身邊的攻擊       如果你的身邊躲藏有攻擊的人,要做到對他們的防范難上加難。因為他們甚至可以用如下方法獲得你的根權限:攻擊者首先用引導磁盤來啟動系統,然後mount你的硬盤,改掉根口令,再重啟動機器。此時攻擊者擁有了根口令,而作為管理員的你卻被拒之門外。要避免此類情況的發生,最簡單的方法是改變機器中BIOS的配置,使機器的啟動順序改為硬盤第一序,並為你的BIOS設置一個口令。       補丁問題       你應該經常到你所安裝的Linux系統發行商的主頁上去找最新的補丁。例如:對於Redhat系統而言,可以在:http://www.redhat.com/corp/support/errata/上找到補丁。在Redhat6.1以後的版本帶有一個自動升級工具up2date,它能自動測定哪些rpm包需要升級,然後自動從Redhat的站點下載並完成安裝。






Copyright © Linux教程網 All Rights Reserved