Linux系統(tǒng)安全設置 全面堅固你的系統(tǒng)
不久前,我以極大的耐心下載了最新的內(nèi)核版本,那可是通過撥入連接完成的。在整個下載的過程中,我渴望有一天在家里就能使用高速的Internet連接。xDSL和線纜貓的到來使其成為可能,但這并不包括價格因素。
本文引用地址:http://www.ex-cimer.com/article/201609/304894.htm在我寫此文章的同時,在世界的某個地方,也許正有一個人在他家里的計算機上第一次安裝發(fā)布的Linux.一個新的Linux 的管理員通過為其家人和朋友設置帳戶來使系統(tǒng)運轉(zhuǎn)起來。也許在初次安裝完成后的不長時間里,這個Linux 系統(tǒng)就會以令人感激涕零的高速DSL 接入Internet.
還是容易被攻擊
今天幾近所有可用的linux 發(fā)布在安全方面存在漏洞,其中的多數(shù)漏洞是很容易被攻入的,但不幸的是依慣例和習慣做法,他們是開放的。典型安裝的Linux首次啟動時就提供了多種多樣的可被攻擊的服務,譬如SHELL ,IMAP和POP3. 這些服務經(jīng)常會被游手好閑的網(wǎng)民按其需要用來作為系統(tǒng)突破的切入點,這不僅是Linux 的局限——久經(jīng)風霜的商業(yè)UNIX也提供此類服務,而且也會被突破。
不用抱怨和指責,新系統(tǒng)的鎖定(堅固系統(tǒng)的專業(yè)說法)是非常重要的。信不信由你,一個Linux 系統(tǒng)的堅固過程是不需要過多的系統(tǒng)安全專門知識。實際上,你可以在5 分鐘之內(nèi)就可以將百分之九十的不可靠因素屏蔽掉。
開始吧
在開始堅固系統(tǒng)前,要問清自己你的機器擔當?shù)慕巧陀脕斫尤隝nternet的舒適度。要仔細確定你要對整個世界范圍提供的服務,如果你還不能確定,最好什么也不要做。明確自己的安全策略是非常重要的。要決定你自己的系統(tǒng)上哪些使用是可接受的而哪些是不可接受的。
本文中范例機器的目標是作為工作站用來收發(fā)mail,閱讀新聞,瀏覽網(wǎng)頁等等。
確立網(wǎng)絡服務安全
首先,以超級用戶(root)登入系統(tǒng),用netstat 命令(這是多數(shù)Linux 系統(tǒng)標配的網(wǎng)絡工具)查看一下當前的網(wǎng)絡狀態(tài),輸出的結(jié)果譬如是:
root@percy / ]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:imap2 *:* LISTEN
tcp 0 0 *:pop-3 *:* LISTEN
tcp 0 0 *:linuxconf *:* LISTEN
tcp 0 0 *:auth *:* LISTEN
tcp 0 0 *:finger *:* LISTEN
tcp 0 0 *:login *:* LISTEN
tcp 0 0 *:shell *:* LISTEN
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:6000 *:* LISTEN
udp 0 0 *:ntalk *:*
udp 0 0 *:talk *:*
udp 0 0 *:xdmcp *:*
raw 0 0 *:icmp *:* 7
raw 0 0 *:tcp *:* 7
如你所見到的輸出結(jié)果,最初的安裝對一定數(shù)量的服務并未偵聽,而這些服務的大多數(shù)就是麻煩的制造者,在配置文件/etc/inetd.conf中就可以行使禁止。
用你喜歡的文本編輯器打開這個文件,注銷你不想提供的服務,這只需在包含服務內(nèi)容的行前面添加一個``#'',在本例中所有的服務都被注銷了,當然,如果你決定要提供這些服務中的某幾個,那由你自己來決定。
現(xiàn)在,重新啟動 inetd 來使這些改變的內(nèi)容起作用,這根據(jù)系統(tǒng)的不同會有多種方法,一個例子是: killall -HUP inetd,依訣竅,重新用netstat檢查開放的socket并注意發(fā)生的變化。接下來,查看還有哪些進程在運行。通常會看到sendmail、lpd和snmd 在等待接入的請求。因此機器不對此類的任何請求提供服務,所以他們應當終止運行。
通常,這些服務是由系統(tǒng)初始化腳本啟動,腳本會因發(fā)布的不同而異,一般可以在/etc/init.d 或 /etc/rc.d中找到。如果你還不能確定,請參照你所用發(fā)布的文檔。目標是在系統(tǒng)啟動時禁止腳本啟動這些服務。
如果你的Linux發(fā)布使用的是打包的系統(tǒng),花點時間移掉你不需的服務。在此范例機器中,包括了sendmail和r字頭的服務進程(rwho、rwall等),lpd、ucd-snmp和apache。這是確保此類服務不會因意外而激活的最簡捷的途徑。
X堅固手段
近來多數(shù)的發(fā)布都支持機器首次啟動時就登陸進入X窗口例如xdm進行管理,不幸的是,這也是主要的攻擊點。默認方式下,機器允許任何主機請求登陸窗口,即使此機器僅僅只有一個用戶直接從控制臺登陸,這種特性亦需屏蔽。
配置文件會賴于你所使用的登陸管理器而變化。本機選用xdm,故而/usr/X11R6/lib/X11/Xaccess文件需進行修改,添加一個``#''符號來阻止啟動此服務。我的Xaccess如下設置:
#* #any host can get a login window
#* #any indirect host can get a chooser
再次啟動xdm時此設置有效。
軟件升級
現(xiàn)在一些基本的堅固措施已完成,需要時時注意發(fā)行商對發(fā)布的升級和增強。缺乏甚至沒有維護會是危及系統(tǒng)安全的一大因素。
對開放源代碼軟件的保障之一是其在不斷的發(fā)展中,有許多人花費大量的時間在不停地尋找安全方面存在的缺陷。這直接導致了Linux發(fā)布不斷的維護過程,經(jīng)常會有升級程序、臭蟲補丁程序和安全方面的指導出現(xiàn)在網(wǎng)頁中。隔幾天或幾周就瀏覽一下發(fā)布商的網(wǎng)頁看是否有補丁或升級程序貼出來。
后續(xù)工作
現(xiàn)在,經(jīng)處理過的機器比其初次安裝后的安全性已提高了,但決不是對任何攻擊就牢不可破了,但已不存在明顯的可攻擊之處了。在此列出的方法就象給你的車子或房子加了鎖,一般水平的小偷就會被這類措施所動搖,意識到這是落鎖的轉(zhuǎn)而尋找其他沒有加以保護的系統(tǒng)。
如果你認定這些措施沒有提供足夠的安全性能,也許你還想通過Internet提供一些網(wǎng)絡服務,在進行之前需要花費一些時間尋找更高級的安全技術。
但不幸的是,許多Linux的發(fā)布商假定他們的客戶已經(jīng)熟知這些服務而且也想使用他們。但對初始用戶通常這不是事實,當然,在Linux系統(tǒng)的安全性完全保障之前還有大量的未開發(fā)領域。而這些步驟就是對已知曉的系統(tǒng)漏洞加以最基本的安全保障。
時至今日,對于危及系統(tǒng)和網(wǎng)絡安全的多數(shù)保護手段還相對較弱,而隨著Linux的流行且高速Internet存取逐漸實現(xiàn)的時刻,涌向未經(jīng)預防的Linux 系統(tǒng)的攻擊會越來越多
評論