限制控制臺訪問以提高Linux服務(wù)器安全
控制臺是部署Linux服務(wù)器的主要窗口之一。但是Linux服務(wù)器部署完成之后,這個控制臺反而有可能成為危害其安全的罪魁禍首之一。為此Linux服務(wù)器投入生產(chǎn)使用之后,就需要對其訪問進行限制。否則的話有可能會對Linux服務(wù)器帶來安全隱患。
一、限制控制臺訪問
在Linux操作系統(tǒng)中所有的命令在系統(tǒng)中都是以文件的形式體現(xiàn)出來的?;蛘哒f,文件就是Linux操作系統(tǒng)中的核心。如果需要限制或者禁用控制臺下的訪問,只需要把某些文件的連接注視掉即可。如系統(tǒng)管理員如果要禁止所有的控制臺訪問(包括程序與應(yīng)用文件),則可以把目錄/etc/pam.d下面的所有文件中包含pam_console.so的行注釋掉。如下圖,kde是這個目錄下的一個文件。在這個文件中有pam_console.so這行內(nèi)容。系統(tǒng)管理員需要把這個目錄下所有文件中含有這一行的內(nèi)容注釋掉,如此的話就可以禁止所有的控制臺訪問的。當(dāng)然如果系統(tǒng)管理員對于這些文件所代表的含義比較了解的話,那么也可以根據(jù)自己的需要部分的禁止或者限制控制臺訪問。
二、禁止使用控制臺程序
為了提高Linux服務(wù)器系統(tǒng)的安全性,一個最簡單也是被很多系統(tǒng)管理員所采用的方法就是禁止使用相關(guān)的控制臺程序。在必要的情況下,如不知道哪些控制臺程序會影響到Linux操作系統(tǒng)的安全,則可以禁止使用所有的控制臺程序。如眾所周知,Linux操作系統(tǒng)是一個多用戶的操作系統(tǒng)。當(dāng)其他用戶正連在操作系統(tǒng)上的時候,如果某個用戶強制執(zhí)行shutdown命令的話,那么無疑會讓其他用戶正在修改的文件發(fā)生數(shù)據(jù)丟失。為此當(dāng)Linux服務(wù)器部署完畢之后,需要通過某些方式禁止用戶使用控制臺程序。
要實現(xiàn)這個目的也比較簡單,如主要通過如下命令:
rm –f /etc/security/console.apps/servicename即可。其中Servicename是系統(tǒng)管理員需要禁止的控制臺程序名。通常情況下,如果系統(tǒng)管理員對于這些程序比較了解,有這個經(jīng)驗可以判斷出其是否會對服務(wù)器產(chǎn)生不利影響,那么就可以有選擇的刪除這些程序。但是如果不能夠確定的話,那么把這些相關(guān)的服務(wù)或者程序全部刪除即可。因為此時刪除只會影響控制臺下面的操作。如果以后需要用到這些命令的話,系統(tǒng)管理員可以通過其他方式來運行這些命令。
三、禁止使用控制臺程序應(yīng)用之禁用Xwindow服務(wù)
X Window是Linux操作系統(tǒng)提供的類似Windows操作系統(tǒng)的一個圖形化管理工具。X Window本身只提供創(chuàng)建借口的準則,例如打開新窗口、響應(yīng)通過標準輸入設(shè)備輸入的數(shù)據(jù),但是并不包含操作窗口的用戶接口。這些功能則是由窗口管理程序來完成的。X Window與窗口管理程序兩者一起架構(gòu)起圖形用戶接口,并且能夠按照用戶的使用習(xí)慣來進行相關(guān)的配置,讓系統(tǒng)管理員能夠在便利的操作環(huán)境下部署Linux操作系統(tǒng)。
X Window基本上可以劃分為兩個部分,X Server 和X Client,兩者相互之間密切整合顯示在用戶面前。X Server會驅(qū)動顯卡以負責(zé)屏幕上的各種圖形顯示,并負責(zé)驅(qū)動一些輸入設(shè)備,讓用戶能夠通過這些標準輸入接口,達到和操作系統(tǒng)上應(yīng)用程序之間的互動。而X Clinet則結(jié)合應(yīng)用程序向X Server提出要求服務(wù),運行后以窗口的形式顯示在屏幕上。X Window的這種設(shè)計方法讓Linux操作系統(tǒng)的功能變得非常的強大。如通過相關(guān)的配置,系統(tǒng)管理員可以讓X Server與X Client運行在不同的計算機上。如某些服務(wù)器,平時只需要通過網(wǎng)絡(luò)對他們進行連接,那么可以在某臺主機上運行他們的X Window應(yīng)用程序,然后把結(jié)果返回到本機的畫面上。而不需要開啟X Window服務(wù),從而讓服務(wù)器上的CPU與內(nèi)存資源得到充分的應(yīng)用。
但是我發(fā)現(xiàn)現(xiàn)在很多系統(tǒng)管理員不習(xí)慣在純命令行窗口部署相關(guān)的應(yīng)用服務(wù)。如部署數(shù)據(jù)庫系統(tǒng)或者文件服務(wù)器的時候,希望啟動圖形化管理窗口來進行配置。為此他們在安裝Linux操作系統(tǒng)的時候,會習(xí)慣性的安裝X Window。雖然說X Window提供了類似微軟操作系統(tǒng)的圖形化界面。如KDE(X Window中的一種)有屬于自己的窗口管理程序、文件管理員、網(wǎng)絡(luò)工具程序、多媒體應(yīng)用程序等等。其無論從外觀上還是從功能上都可以同Windows操作系統(tǒng)相媲美。但是運行這個X Window圖形化界面的話,會耗用系統(tǒng)不少的資源,會影響服務(wù)器的運行效率。同時也會對其安全留下隱患。對此筆者有兩個建議。
首先系統(tǒng)管理員要學(xué)會在純命令行的方式下部署Linux的相關(guān)應(yīng)用服務(wù)。其實Linux操作系統(tǒng)之所以強大,就是因為其命令行方式管理的杰出特性。除非把Linux操作系統(tǒng)當(dāng)作客戶端來使用,否則的話在安裝Linux操作系統(tǒng)的過程中最好不要安裝X Window軟件包。據(jù)筆者所知,現(xiàn)在大部分應(yīng)用程序都可以直接在其命令行方式下部署。如果某些應(yīng)用程序一定要在圖形化界面下運行的話,也有一些這種的處理方式。如在安裝Oracle數(shù)據(jù)庫管理軟件的時候,一般需要在圖形化的界面下運行。但是系統(tǒng)管理員可以跟數(shù)據(jù)庫管理一起,通過修改相關(guān)的安裝配置文件,讓其在命令行方式下也可以運行。另外就是可以把圖形化的輸出結(jié)果定位到其他的主機上,然后通過其他主機來進行相關(guān)的操作??傊痪湓?,如果系統(tǒng)管理員有這個實力的話,那么就不要怕麻煩,盡量在純命令行模式下部署應(yīng)用程序。
其次如果那些沒有達到這個水平的系統(tǒng)管理員來說,那就只能夠采用X Window圖形化界面來管理與部署應(yīng)用服務(wù)了。但是,在把Linux服務(wù)器投入到生產(chǎn)后,最好能夠把這個服務(wù)程序刪除掉。這個刪除的方法也很簡單,就是上面我提到過的禁止使用控制臺程序的方法。其實Linux操作系統(tǒng)在啟動的時候,是先進入到控制臺。然后再在控制臺中使用startx命令啟動X Window圖形化管理界面。那么如果系統(tǒng)管理員能夠通過禁用控制臺程序的方法,把這圖形化管理程序禁用掉,不就可以萬事大吉了嗎!為此系統(tǒng)管理員可以使用
rm –f /etc/security/console.apps/xserver命令來刪除這個應(yīng)用服務(wù)。執(zhí)行這個命令后,普通用戶就無法登陸到圖形化的管理界面了。但是在有必要的情況下,root特權(quán)用戶仍然可以啟動圖形化管理界面。所以筆者建議,如果真的要在XWindow圖形化管理界面下部署應(yīng)用程序的話,那么在部署完成后請系統(tǒng)管理員通過上面這條命令把這個XWindow應(yīng)用程序禁用掉,以提高Linux服務(wù)器的安全性與性能,讓其CPU與內(nèi)存資源能夠用在刀刃上。
最后強調(diào)一下,雖然Linux操作系統(tǒng)以穩(wěn)定的系統(tǒng)內(nèi)核、標準的圖形化界面、強大的桌面環(huán)境與Window操作系統(tǒng)進行抗衡。但是其作為服務(wù)器最大的特色在于第一個,即穩(wěn)定的系統(tǒng)內(nèi)核。而在圖形化界面與桌面環(huán)境來說,雖然可以跟Windows操作系統(tǒng)相抗衡,但是并沒有明顯的優(yōu)勢。而且從一定程度上來說,這些功能還會影響到Linux操作系統(tǒng)本身的性能與安全。也就是說,對于Linux操作系統(tǒng)會起到一個負面的作用。如果Linux操作系統(tǒng)用來做普通客戶端使用的話,那么這個桌面環(huán)境與圖形化界面是必需的。但是如果Linux操作系統(tǒng)是用來實現(xiàn)服務(wù)器操作系統(tǒng)的,則最好在部署的時候不需要安裝這兩個服務(wù);或則和在應(yīng)用程序部署完畢之后把這個應(yīng)用程序利用rm –f 命令禁用掉。說的難聽一點,在Linux服務(wù)器上啟用這個兩個服務(wù)的話有點畫蛇添足的味道。
【編輯推薦】