要建立一個安全Linux服務器就首先要了解Linux環(huán)境下和網(wǎng)絡服務相關的配置文件的含義及如何進行安全的配置。在Linux系統(tǒng)中,TCP/IP網(wǎng)絡是通過若干個文本文件進行配置的,也許你需要編輯這些文件來完成聯(lián)網(wǎng)工作,但是這些配置文件大都可以通過配置命令linuxconf(其中網(wǎng)絡部分的配置可以通過netconf命令來實現(xiàn))命令來實現(xiàn)。下面介紹基本的 TCP/IP網(wǎng)絡配置文件。
* /etc/conf.modules 文件
該配置文件定義了各種需要在啟動時加載的模塊的參數(shù)信息。這里主要著重討論關于網(wǎng)卡的配置。在使用Linux做網(wǎng)關的情況下,Linux服務器至少需要配置兩塊網(wǎng)卡。為了減少啟動時可能出現(xiàn)的問題,Linux內(nèi)核不會自動檢測多個網(wǎng)卡。對于沒有將網(wǎng)卡的驅動編譯到內(nèi)核而是作為模塊動態(tài)載入的系統(tǒng)若需要安裝多塊網(wǎng)卡,應該在“conf.modules”文件中進行相應的配置。
若設備驅動被編譯為模塊(內(nèi)核的模塊):對于PCI設備,模塊將自動檢測到所有已經(jīng)安裝到系統(tǒng)上的設備;對于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),并且它們應該以參數(shù)io=0x300,0x320被裝載,來通知驅動程序到哪里去尋找網(wǎng)卡,其中0x是不可缺少的。
對于PCI卡,僅僅需要alias命令來使ethN和適當?shù)尿寗幽K名關聯(lián),PCI卡的IO地址將會被自動的檢測到。對于PCI卡,編輯“conf.modules”文件如下:
alias eth0 3c905
alias eth1 3c905
若驅動已經(jīng)被編譯進了內(nèi)核:系統(tǒng)啟動時的PCI檢測程序將會自動找到所有相關的網(wǎng)卡。ISA卡一般也能夠被自動檢測到,但是在某些情況下,ISA卡仍然需要做下面的配置工作:
在“/etc/lilo.conf”中增加配置信息,其方法是通過LILO程序將啟動參數(shù)信息傳遞給內(nèi)核。對于ISA卡,編輯“l(fā)ilo.conf”文件,增加如下內(nèi)容:
append=" ether="0,0,eth0 ether="0,0,eth1"
注:先不要在“l(fā)ilo.conf”中加入啟動參數(shù),測試一下你的ISA卡,若失敗再使用啟動參數(shù)。
如果用傳遞啟動參數(shù)的方法,eth0和eth1將按照啟動時被發(fā)現(xiàn)的順序來設置。
* /etc/HOSTNAME 文件
該文件包含了系統(tǒng)的主機名稱,包括完全的域名,如:deep.openarch.com。
*/etc/sysconfig/network-scripts/ifcfg-ethN 文件
在RedHat中,系統(tǒng)網(wǎng)絡設備的配置文件保存在“/etc/sysconfig/network-scripts”目錄下,ifcfg-eth0包含第一塊網(wǎng)卡的配置信息,ifcfg-eth1包含第二塊網(wǎng)卡的配置信息。
下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
DEVICE=eth0
IPADDR=208.164.186.1
NETMASK=255.255.255.0
NETWORK=208.164.186.0
BROADCAST=208.164.186.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
若希望手工修改網(wǎng)絡地址或在新的接口上增加新的網(wǎng)絡界面,可以通過修改對應的文件(ifcfg-ethN)或創(chuàng)建新的文件來實現(xiàn)。
DEVICE=name name表示物理設備的名字
IPADDR=addr addr表示賦給該卡的IP地址
NETMASK=mask mask表示網(wǎng)絡掩碼
NETWORK=addr addr表示網(wǎng)絡地址
BROADCAST=addr addr表示廣播地址
ONBOOT=yes/no 啟動時是否激活該卡
none:無須啟動協(xié)議
bootp:使用bootp協(xié)議
dhcp:使用dhcp協(xié)議
USERCTL=yes/no 是否允許非root用戶控制該設備
*/etc/resolv.conf 文件