歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux環境網絡服務相關的配置文件的含義

Linux環境網絡服務相關的配置文件的含義

日期:2017/2/25 10:39:29   编辑:Linux教程

  要建立一個安全Linux服務器就首先要了解Linux環境下和網絡服務相關的配置文件的含義及如何進行安全的配置。在Linux系統中,TCP/IP網絡是通過若干個文本文件進行配置的,也許你需要編輯這些文件來完成聯網工作,但是這些配置文件大都可以通過配置命令linuxconf(其中網絡部分的配置可以通過netconf命令來實現)命令來實現。下面介紹基本的 TCP/IP網絡配置文件。

  * /etc/conf.modules 文件

  該配置文件定義了各種需要在啟動時加載的模塊的參數信息。這裡主要著重討論關於網卡的配置。在使用Linux做網關的情況下,Linux服務器至少需要配置兩塊網卡。為了減少啟動時可能出現的問題,Linux內核不會自動檢測多個網卡。對於沒有將網卡的驅動編譯到內核而是作為模塊動態載入的系統若需要安裝多塊網卡,應該在“conf.modules”文件中進行相應的配置。

  若設備驅動被編譯為模塊(內核的模塊):對於PCI設備,模塊將自動檢測到所有已經安裝到系統上的設備;對於ISA卡,則需要向模塊提供IO地址,以使模塊知道在何處尋找該卡,這些信息在“/etc/conf.modules”中提供。

  例如,我們有兩塊ISA總線的3c509卡,一個IO地址是0x300,另一個是0x320。編輯“conf.modules”文件如下:

  alias eth0 3c509

  alias eth1 3c509

  options 3c509 io=0x300,0x320

  這是說明3c509的驅動程序應當分別以eth0或eth1的名稱被加載(alias eth0,eth1),並且它們應該以參數io=0x300,0x320被裝載,來通知驅動程序到哪裡去尋找網卡,其中0x是不可缺少的。

  對於PCI卡,僅僅需要alias命令來使ethN和適當的驅動模塊名關聯,PCI卡的IO地址將會被自動的檢測到。對於PCI卡,編輯“conf.modules”文件如下:

  alias eth0 3c905

  alias eth1 3c905

  若驅動已經被編譯進了內核:系統啟動時的PCI檢測程序將會自動找到所有相關的網卡。ISA卡一般也能夠被自動檢測到,但是在某些情況下,ISA卡仍然需要做下面的配置工作:

  在“/etc/lilo.conf”中增加配置信息,其方法是通過LILO程序將啟動參數信息傳遞給內核。對於ISA卡,編輯“lilo.conf”文件,增加如下內容:

  append=" ether="0,0,eth0 ether="0,0,eth1"

  注:先不要在“lilo.conf”中加入啟動參數,測試一下你的ISA卡,若失敗再使用啟動參數。

  如果用傳遞啟動參數的方法,eth0和eth1將按照啟動時被發現的順序來設置。

  * /etc/HOSTNAME 文件

  該文件包含了系統的主機名稱,包括完全的域名,如:deep.openarch.com。

  */etc/sysconfig/network-scripts/ifcfg-ethN 文件

  在RedHat中,系統網絡設備的配置文件保存在“/etc/sysconfig/network-scripts”目錄下,ifcfg-eth0包含第一塊網卡的配置信息,ifcfg-eth1包含第二塊網卡的配置信息。

  最左邊一列是主機IP信息,中間一列是主機名。任何後面的列都是該主機的別名。一旦配置完機器的網絡配置文件,應該重新啟動網絡以使修改生效。使用下面的命令來重新啟動網絡:/etc/rc.d/init.d/network restart

  * /etc/inetd.conf 文件

  眾所周知,作為服務器來說,服務端口開放越多,系統安全穩定性越難以保證。所以提供特定服務的服務器應該盡可能開放提供服務必不可少的端口,而將與服務器服務無關的服務關閉,比如:一台作為www和ftp服務器的機器,應該只開放80 和25端口,而將其他無關的服務如:finger auth等服務關掉,以減少系統漏洞。

  而inetd,也叫作“超級服務器”,就是監視一些網絡請求的守護進程,其根據網絡請求來調用相應的服務進程來處理連接請求。inetd.conf則是inetd的配置文件。inetd.conf文件告訴inetd監聽哪些網絡端口,為每個端口啟動哪個服務。在任何的網絡環境中使用Linux系統,第一件要做的事就是了解一下服務器到底要提供哪些服務。不需要的那些服務應該被禁止掉,最好卸載掉,這樣黑客就少了一些攻擊系統的機會。查看“/etc/inetd.conf”文件,了解一下inetd提供哪些服務。用加上注釋的方法(在一行的開頭加上#號),禁止任何不需要的服務,再給inetd進程發一個SIGHUP信號。

  第一步:把文件的許可權限改成600。

  [root@deep]# chmod 600 /etc/inetd.conf

  第二步:確信文件的所有者是root。

  [root@deep]# stat /etc/inetd.conf

  第三步:編輯“inetd.conf”文件(vi /etc/inetd.conf),禁止所有不需要的服務,如:ftp、 telnet、 shell、 login、 exec、talk、ntalk、 imap、 pop-2、pop-3、finger、auth,等等。如果你覺得某些服務有用,可以不禁止這些服務。但是,把這些服務禁止掉,系統受攻擊的可能性就會小很多。改注意:改變了“inetd.conf”文件之後,別忘了給inetd進程發一個SIGHUP信號(killall –HUP inetd)。

  [root@deep /root]# killall -HUP inetd

  第四步:

  為了保證“inetd.conf”文件的安全,可以用chattr命令把它設成不可改變。把文件設成不可改變的只要用下面的命令:

  [root@deep]# chattr +i /etc/inetd.conf

  這樣可以避免“inetd.conf”文件的任何改變(意外或是別的原因)。一個有“i”屬性的文件是不能被改動的:不能刪除或重命名,不能創建這個文件的鏈接,不能往這個文件裡寫數據。只有系統管理員才能設置和清除這個屬性。如果要改變inetd.conf文件,你必須先清除這個不允許改變的標志:

  [root@deep]# chattr -i /etc/inetd.conf

  但是對於諸如sendmail,named,www等服務,由於它們不象finger,telnet等服務,在請求到來時由inet守護進程啟動相應的進程提供服務,而是在系統啟動時,作為守護進程運行的。而對於redhat linux,提供了一個linuxconfig命令,可以通過它在圖形界面下交互式地設置是否在啟動時運行相關服務。也可以通過命令來設置是否啟動時啟動某個服務,如:[root@deep]# chkconfig –level 35 named off

  具體命令可以參考man chkconfig的說明。

Copyright © Linux教程網 All Rights Reserved