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