如何搭建一個安全的Linux服務(wù)器
開發(fā)網(wǎng)站的時候,常常需要自己配置Linux服務(wù)器。如何搭建一個安全的Linux服務(wù)器?下面跟著學習啦小編一起來了解一下吧。
如何搭建一個安全的Linux服務(wù)器
在Linux系統(tǒng)中,TCP/IP網(wǎng)絡(luò)是通過若干個文本文件進行配置的,也許你需要編輯這些文件來完成聯(lián)網(wǎng)工作,但是這些配置文件大都可以通過配置命令linuxconf(其中網(wǎng)絡(luò)部分的配置可以通過netconf命令來實現(xiàn))。下面介紹基本的TCP/IP網(wǎng)絡(luò)配置文件。
*/etc/conf.modules文件
該配置文件定義了各種需要在激活時加載的模塊的參數(shù)信息。這里主要著重討論關(guān)于網(wǎng)卡的配置。在使用Linux做網(wǎng)關(guān)的情況下,Linux服務(wù)器至少需要配置兩塊網(wǎng)卡。為了減少激活時可能出現(xiàn)的問題,Linux內(nèi)核不會自動檢測多個網(wǎng)卡。對于沒有將網(wǎng)卡的驅(qū)動編譯到內(nèi)核而是作為模塊動態(tài)加載的系統(tǒng)若需要安裝多塊網(wǎng)卡,應(yīng)該在“conf.modules”文件中進行相應(yīng)的配置。
若設(shè)備驅(qū)動被編譯為模塊(內(nèi)核的模塊):對于PCI設(shè)備,模塊將自動檢測到所有已經(jīng)安裝到系統(tǒng)上的設(shè)備;對于ISA卡,則需要向模塊提供IO地址,以使模塊知道在何處尋找該卡,這些信息在“/etc/conf.modules”中提供。
對于PCI卡,僅僅需要alias命令來使ethN和適當?shù)尿?qū)動模塊名關(guān)聯(lián),PCI卡的IO地址將會被自動的檢測到。對于PCI卡,編輯“conf.modules”文件如下:aliaseth03c905aliaseth13c905若驅(qū)動已經(jīng)被編譯進了內(nèi)核:系統(tǒng)激活時的PCI檢測程序?qū)詣诱业剿邢嚓P(guān)的網(wǎng)卡。ISA卡一般也能夠被自動檢測到,但是在某些情況下,ISA卡仍然需要做下面的配置工作:
在“/etc/lilo.conf”中增加配置信息,其方法是通過LILO程序?qū)⒓せ顓?shù)信息傳遞給內(nèi)核。對于ISA卡,編輯“lilo.conf”文件,增加如下內(nèi)容:append="ether="0,0,eth0ether="0,0,eth1"注:先不要在“lilo.conf”中加入激活參數(shù),測試一下你的ISA卡,若失敗再使用激活參數(shù)。
如果用傳遞激活參數(shù)的方法,eth0和eth1將按照激活時被發(fā)現(xiàn)的順序來設(shè)置。
*/etc/HOSTNAME文件:
該文件包含了系統(tǒng)的主機名稱,包括完全的域名,如:deep.openarch.com
*/etc/sysconfig/network-scripts/ifcfg-ethN文件:
在RedHat中,系統(tǒng)網(wǎng)絡(luò)設(shè)備的配置文件保存在“/etc/sysconfig/network-scripts”目錄下,ifcfg-eth0包含第一塊網(wǎng)卡的配置信息,ifcfg-eth1包含第二塊網(wǎng)卡的配置信息。
*/etc/resolv.conf文件:
該文件是由域名解析器(resolver,一個根據(jù)主機名解析IP地址的庫)使用的配置文件,示例如下:
searchopenarch.comnameserver208.164.186.1nameserver208.164.186.2
“searchdomainname.com”表示當提供了一個不包括完全域名的主機名時,在該主機名后添加domainname.com的后綴;“nameserver”表示解析域名時使用該地址指定的主機為域名服務(wù)器。其中域名服務(wù)器是按照文件中出現(xiàn)的順序來查詢的。
*/etc/host.conf文件:
該文件指定如何解析主機名。Linux通過解析器庫來獲得主機名對應(yīng)的IP地址。下面是一個“/etc/host.conf”的示例:
orderbind,hosts
multion
ospoofon
“orderbind,hosts”指定主機名查詢順序,這里規(guī)定先使用DNS來解析域名,然后再查詢“/etc/hosts”文件(也可以相反)。
“multion”指定是否“/etc/hosts”文件中指定的主機可以有多個地址,擁有多個IP地址的主機一般稱為多穴主機。
“nospoofon”指不允許對該服務(wù)器進行IP地址欺騙。IP欺騙是一種攻擊系統(tǒng)安全的手段,通過把IP地址偽裝成別的計算器,來取得其它計算器的信任。
*/etc/sysconfig/network文件
該文件用來指定服務(wù)器上的網(wǎng)絡(luò)配置信息。
*/etc/hosts文件
當機器激活時,在可以查詢DNS以前,機器需要查詢一些主機名到IP地址的匹配。這些匹配信息存放在/etc/hosts文件中。在沒有域名服務(wù)器情況下,系統(tǒng)上的所有網(wǎng)絡(luò)程序都通過查詢該文件來解析對應(yīng)于某個主機名的IP地址。
*/etc/inetd.conf文件
眾所周知,作為服務(wù)器來說,服務(wù)端口開放越多,系統(tǒng)安全穩(wěn)定性越難以保證。所以提供特定服務(wù)的服務(wù)器應(yīng)該盡可能開放提供服務(wù)必不可少的端口,而將與服務(wù)器服務(wù)無關(guān)的服務(wù)關(guān)閉,比如:一臺作為www和Ftp服務(wù)器的機器,應(yīng)該只開放80和25端口,而將其它無關(guān)的服務(wù)如:fingerauth等服務(wù)關(guān)掉,以減少系統(tǒng)漏洞。
而inetd,也叫作“超級服務(wù)器”,就是監(jiān)視一些網(wǎng)絡(luò)請求的守護進程,其根據(jù)網(wǎng)絡(luò)請求來調(diào)用相應(yīng)的服務(wù)進程來處理連接請求。inetd.conf則是inetd的配置文件。inetd.conf文件告訴inetd監(jiān)聽哪些網(wǎng)絡(luò)端口,為每個端口激活哪個服務(wù)。在任何的網(wǎng)絡(luò)環(huán)境中使用Linux系統(tǒng),第一件要做的事就是了解一下服務(wù)器到底要提供哪些服務(wù)。不需要的那些服務(wù)應(yīng)該被禁止掉,最好卸載掉,這樣黑客就少了一些攻擊系統(tǒng)的機會。查看“/etc/inetd.conf”文件,了解一下inetd提供哪些服務(wù)。用加上注釋的方法(在一行的開頭加上#號),禁止任何不需要的服務(wù),再給inetd進程發(fā)一個SIGHUP信號。
第一步:把文件的權(quán)限限改成600。
[root@deep]#chmod600/etc/inetd.conf
第二步:確信文件的所有者是root。
[root@deep]#stat/etc/inetd.conf
第三步:編輯“inetd.conf”文件(vi/etc/inetd.conf),禁止所有不需要的服務(wù),如:ftp、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth,等等。如果你覺得某些服務(wù)有用,可以不禁止這些服務(wù)。但是,把這些服務(wù)禁止掉,系統(tǒng)受攻擊的可能性就會小很多。改變后的“inetd.conf”文件的內(nèi)容如下面所示:
#Tore-readthisfileafterchanges,justdoa'killall-HUPinetd'##echostreamtcpnowaitrootinternal#echodgramudpwaitrootinternal#discardstreamtcpnowaitrootinternal#discarddgramudpwaitrootinternal#daytimestreamtcpnowaitrootinternal#daytimedgramudpwaitrootinternal#chargenstreamtcpnowaitrootinternal#chargendgramudpwaitrootinternal#timestreamtcpnowaitrootinternal#timedgramudpwaitrootinternal##Thesearestandardservices.##ftpstreamtcpnowaitroot/usr/sbin/tcpdin.ftpd-l-a#telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd##Shell,login,exec,comsatandtalkareBSDprotocols.
看過“ 如何搭建一個安全的Linux服務(wù)器 ”的人還看了:
1.如何安全設(shè)置Apache Web服務(wù)器
2.Ubuntu 用VSFTP搭建FTP服務(wù)器設(shè)置方法的步驟
3.怎么在Ubuntu上安裝LAMP服務(wù)器系統(tǒng)?