IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置:首頁操作系統(tǒng)LINUX → Linux服務(wù)器裝機安全快速進階指南

Linux服務(wù)器裝機安全快速進階指南

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

Linux服務(wù)器安裝完成以后,應(yīng)該馬上采取哪些措施來增強服務(wù)器的安全性。對于其他的Linux發(fā)布或者版本,這些方法也是適用的。

◆一、關(guān)閉不必要的服務(wù)

Linux的服務(wù)分為兩種,一種是由inetd超級服務(wù)器來啟動的,如:ftp、telnet等;對于這些服務(wù)來說,系統(tǒng)并不總是運行telnetd、ftpd等服務(wù)進程,而是由inetd進程監(jiān)聽這些服務(wù)的服務(wù)端口,一旦有服務(wù)請求到達就啟動對應(yīng)的服務(wù)進程(如:telnetd等)來提供服務(wù)。另外一種是獨立的服務(wù)器,系統(tǒng)一直運行有對應(yīng)的服務(wù)進程。

關(guān)閉這兩種服務(wù)的方法是不同的,對于inetd啟動的進程:

inetd超級服務(wù)器的配置文件為/etc/inetd.conf,該文件指示了inetd應(yīng)該監(jiān)聽哪些服務(wù)請求,并在請求時啟動對應(yīng)的服務(wù)。因此只要通過編輯/etc/inetd.conf文件就可以實現(xiàn)關(guān)閉不需要的服務(wù),例如希望關(guān)閉pop3服務(wù),則在編輯/etc/inetd.conf文件以前文件中有如下的內(nèi)容:

pop-3streamtcpnowaitroot/usr/sbin/tcpdipop3d

要關(guān)閉pop3服務(wù)則在該行前添加注釋符即可:

#pop-3streamtcpnowaitroot/usr/sbin/tcpdipop3d

通過編輯該文件,實現(xiàn)關(guān)閉不需要的服務(wù)(例如我的系統(tǒng)我僅僅開放了telnet和ftp服務(wù))以后,則需要重新啟動inetd超級服務(wù)器。首先找到inetd的進程號:


[root@aid/etc]#psax|grepinetd

358?S0:00inetd


然后重新啟動inetd服務(wù)器:

[root@aid/etc]#kill-HUP358

最后因為inetd.conf應(yīng)該不允許普通用戶讀寫,因此設(shè)置其訪問權(quán)限為600:

chmod600/etc/inetd.conf

而且該文件應(yīng)該不被任何用戶修改,包括root用戶。因此為了防止用戶錯誤的修改該文件,為該文件添加不可修改位:

chattr+i/etc/inetd.conf

對于獨立服務(wù)器,則需要通過/usr/sbin/ntsysv命令來修改:

只需要服務(wù)前面通過空格鍵來選擇是否在系統(tǒng)啟動時啟動該服務(wù)就可以實現(xiàn)關(guān)閉某個服務(wù)器,如:希望系統(tǒng)關(guān)閉dhcpd服務(wù),則通過上下鍵選中該服務(wù)器,然后通過空格鍵去掉該服務(wù)前[]內(nèi)的星號即表示系統(tǒng)啟動時不開放該服務(wù)。若希望了解某個服務(wù)的具體含義,可以選擇該服務(wù)以后按F1鍵來查看該服務(wù)的含義。

設(shè)置完畢以后,只有希望打開的服務(wù)前的[]內(nèi)才會有星號。然后通過Tab鍵選擇OK,按空格鍵。重新啟動機器。

重新啟動機器以后,可以通過下面的命令來察看系統(tǒng)打開了哪些服務(wù),來決定是否已經(jīng)關(guān)閉了不需要的服務(wù),例如我僅僅希望提供telnet服務(wù)則:


[ideal@aidideal]$netstat-ln

ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp000.0.0.0:230.0.0.0:*LISTEN
raw000.0.0.0:10.0.0.0:*7
raw000.0.0.0:60.0.0.0:*7
ActiveUNIXdomainsockets(onlyservers)
ProtoRefCntFlagsTypeStateI-NodePath


從上面的命令輸出可以看到系統(tǒng)僅僅開放了23號端口,也就是telnet服務(wù)。

◆二、控制使用開放的服務(wù)的用戶

在上面提到的/etc/inetd.conf的配置文件中,我們看到pop3服務(wù)配置一行的最后兩個字段為:

/usr/sbin/tcpdipop3d

很顯然,pop3的服務(wù)器程序為ipop3d,那么/usr/sbin/tcpd又是什么含義呢?這是一個稱為Tcpwrapper的安全程序。該程序用來在啟動某個服務(wù)以前查看兩個配置文件來決定該用戶是否允許使用該服務(wù)。在/etc目錄下,有兩個文件:hosts.denyhosts.allow。

通過配置這兩個文件,你可以指定哪些客戶機允許使用這些服務(wù)。配置這兩個文件是通過一種簡單的訪問控制語言來實現(xiàn)的,訪問控制語句的基本格式為:程序名列表,主機名/IP地址列表。

程序名列表指定一個或者多個提供相應(yīng)服務(wù)的程序的名字,名字之間用逗號或者空格分隔,可以在inetd.conf文件里查看提供相應(yīng)服務(wù)的程序名:如上面的文件示例中,pop所在行的最后一項就是所需的程序名:ipop3d。

主機名/IP地址列表指定允許或者禁止使用該服務(wù)的一個或者多個主機的標識,主機名之間用逗號或空格分隔。程序名和主機地址都可以使用通配符,實現(xiàn)方便的指定多項服務(wù)和多個主機。當服務(wù)請求到達服務(wù)器時,訪問控制軟件就按照下列順序查詢這兩個文件,直到遇到一個匹配為止:

1、當在/etc/hosts.allow里面有一項與請求服務(wù)的主機地址項匹配,那么就允許該主機獲取該服務(wù)

2、否則,如果在/etc/hosts.deny里面有一項與請求服務(wù)的主機地址項匹配,就禁止該主機使用該項服務(wù)

3、若均沒有匹配,則允許使用該服務(wù)。若相應(yīng)的配置文件不存在,訪問控制軟件就認為是一個空文件,所以可以通過刪除或者移走配置文件實現(xiàn)對所有主機關(guān)閉所有服務(wù)。

在文件中,空白行或者以#開頭的行被忽略,你可以通過在行前加#實現(xiàn)注釋功能。Linux提供了下面靈活的方式指定進程或者主機列表:

1、一個以"."起始的域名串,如.amms.ac.cn那么www.amms.ac.cn就和這一項匹配成功

2、以.結(jié)尾的IP串如202.37.152.那么IP地址包括202.37.152.的主機都與這一項匹配

3、格式為n.n.n.n/m.m.m.m表示網(wǎng)絡(luò)/掩碼,如果請求服務(wù)的主機的IP地址與掩碼的位與的結(jié)果等于n.n.n.n那么該主機與該項匹配。

4、ALL表示匹配所有可能性

5、EXPECT表示除去后面所定義的主機。如:list_1EXCEPTlist_2表示list_1主機列表中除去List_2所列出的主機

6、LOCAL表示匹配所有主機名中不包含.的主機

上面的幾種方式只是Linux提供的方式中的幾種,但是對于我們的一般應(yīng)用來說是足夠了。我們通過舉幾個例子來說明這個問題:

例一:我們只希望允許同一個局域網(wǎng)的機器使用服務(wù)器的ftp功能,而禁止互聯(lián)網(wǎng)上面的ftp服務(wù)請求,本地局域網(wǎng)由202.39.154.、202.39.153.和202.39.152.三個網(wǎng)段組成。在hosts.deny文件中,我們定義禁止所有機器請求所有服務(wù):ALL:ALL在hosts.allow文件中,我們定義只允許局域網(wǎng)訪問ftp功能:

in.ftpd:202.39.154202.39.153.202.39.152.

這樣,當非局域網(wǎng)的機器請求ftp服務(wù)時,就會被拒絕。而局域網(wǎng)的機器可以使用ftp服務(wù)。

ALL:ALL

然后重新啟動你的inetd進程:

/etc/rc.d/init.d/inetrestart

但是hosts.deny|allow文件只控制/etc/inetd.conf文件中包含的服務(wù)的訪問這些服務(wù)有/usr/bin/tcpd管理,監(jiān)聽接入的網(wǎng)絡(luò)請求,然后與在hosts.allow和hosts.deny的中的服務(wù)比較,然后做出允許或拒絕的決定。

最后因為hosts.allow|hosts.deny應(yīng)該不允許普通用戶讀寫,因此設(shè)置其訪問權(quán)限為600:

chmod600/etc/hosts.*

并且該文件應(yīng)該不被任何用戶修改,包括root用戶。因此為了防止用戶錯誤的修改該文件,為該文件添加不可修改位:

chattr+i/etc/hosts.*


◆三、"/etc/exports"文件設(shè)置

如果通過NFS把文件共享出來,那么一定要配置"/etc/exports"文件,使得訪問限制盡可能的嚴。這就是說,不要用通配符,不允許對根目錄有寫權(quán)限,而且盡可能只給只讀權(quán)限。編輯exports文件(vi/etc/exports)加入:

例如:

/dir/to/exporthost1.mydomain.com(ro,root_squash)
/dir/to/exporthost2.mydomain.com(ro,root_squash)

"/dir/to/export"是你想共享出來的目錄,host.mydomain.com是允許訪問這個目錄的計算機。

代表只讀,代表不允許對根目錄進行寫操作。使這些改變生效,你還要運行"/usr/sbin/exportfs-a"命令。

注意:在服務(wù)器上裝NFS服務(wù)是會有安全隱患的,就我個人而言,不建議你使用NFS。

◆四、禁止使用控制臺程序

一個最簡單而且最常用的保證系統(tǒng)安全的方法就是禁止使用所有的控制臺程序,如:shutdown和halt。可以運行下面的命令來實現(xiàn):

[root@aid/]#rm-f/etc/security/console.apps/servicename

這里servicename是你要禁止的控制臺程序名。除非你使用xdm,否則不要把xserver文件刪掉,如果這樣除了root之外,沒有人可以啟動X服務(wù)器了。(如果使用xdm啟動X服務(wù)器,這時root是唯一需要啟動X服務(wù)器的用戶,這才有必要把xserver文件刪掉)。例如:

[root@deep]#rm-f/etc/security/console.apps/halt
[root@deep]#rm-f/etc/security/console.apps/poweroff
[root@deep]#rm-f/etc/security/console.apps/reboot
[root@deep]#rm-f/etc/security/console.apps/shutdown
[root@deep]#rm-f/etc/security/console.apps/xserver(如果刪除,只有root可以啟動X).

這些命令就可以禁止所有的控制臺程序:halt、poweroff、reboot和shutdown。記住,只有裝了Xwindow,刪除xerver文件才會有效果。

◆五、"/etc/aliases"文件

aliases文件可能會造成安全隱患。例如:很多的軟件產(chǎn)商都把"decode"這個別名放在aliases文件里。這樣做的目的是為了方便通過email傳送二進制文件。在發(fā)送郵件的時候,用戶把二進制文件用"uuencode"轉(zhuǎn)成ASCII文件,然后把結(jié)果發(fā)給接收端的"decode"。由這個別名讓郵件信息通過"/usr/bin/uuencode"程序把二進制文件重新轉(zhuǎn)換成ASCII文件。如果允許"decode"出現(xiàn)在aliases文件中,可以想象將會有什么樣的安全隱患。

把定義"decode"這個別名的行從aliases文件中刪除。同樣地,每一個會運行程序的別名都要好好查看一下,很有可能要把它們刪除掉。要使改動生效,還必須運行:

[root@deep]#/usr/bin/newaliases

編輯aliases文件(vi/etc/aliases),刪除或注釋掉下面這些行:


#Basicsystemaliases--theseMUSTbepresent.
MAILER-DAEMON:

關(guān)鍵詞標簽:指南,快速,安全,服務(wù)器

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠程會話使用screen管理你的遠程會話GNU/Linux安裝vmwareGNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠程桌面連如何登錄linux vps圖形界面 Linux遠程桌面連

相關(guān)下載

人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現(xiàn)ip流量限制dmidecode命令查看內(nèi)存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程Ubuntu linux 關(guān)機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務(wù)器硬盤IO讀寫負載