如何建立一個安全的 Linux服務器 |
發布時間: 2012/8/11 10:40:01 |
要建立一個安全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 3c509alias eth1 3c509options 3c509 io=0x300,0x320這是說明3c509的驅動程序應當分別以eth0或eth1的名稱被加載(alias eth0,eth1),并且它們應該以參數io=0x300,0x320被裝載,來通知驅動程序到哪里去尋找網卡,其中0x是不可缺少的。 對于PCI卡,僅僅需要alias命令來使ethN和適當的驅動模塊名關聯,PCI卡的IO地址將會被自動的檢測到。對于PCI卡,編輯“conf.modules”文件如下:alias eth0 3c905alias 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包含第二塊網卡的配置信息。 下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:DEVICE=eth0IPADDR=208.164.186.1NETMASK=255.255.255.0NETWORK=208.164.186.0BROADCAST=208.164.186.255ONBOOT=yesBOOTPROTO=noneUSERCTL=no 若希望手工修改網絡地址或在新的接口上增加新的網絡界面,可以通過修改對應的文件(ifcfg-ethN)或創建新的文件來實現。 DEVICE=name name表示物理設備的名字 IPADDR=addr addr表示賦給該卡的IP地址 NETMASK=mask mask表示網絡掩碼 NETWORK=addr addr表示網絡地址 BROADCAST=addr addr表示廣播地址 ONBOOT=yes/no 激活時是否激活該卡 none:無須激活協議 bootp:使用bootp協議 dhcp:使用dhcp協議 USERCTL=yes/no 是否允許非root用戶控制該設備 */etc/resolv.conf文件: 該文件是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置文件,示例如下: search openarch.comnameserver 208.164.186.1nameserver 208.164.186.2 “search domainname.com”表示當提供了一個不包括完全域名的主機名時,在該主機名后添加domainname.com的后綴;“nameserver”表示解析域名時使用該地址指定的主機為域名服務器。其中域名服務器是按照文件中出現的順序來查詢的。 共2頁。 */etc/host.conf文件: 該文件指定如何解析主機名。Linux通過解析器庫來獲得主機名對應的IP地址。下面是一個“/etc/host.conf”的示例: order bind,hosts multi on ospoof on “order bind,hosts”指定主機名查詢順序,這里規定先使用DNS來解析域名,然后再查詢“/etc/hosts”文件(也可以相反)。 “multi on”指定是否“/etc/hosts”文件中指定的主機可以有多個地址,擁有多個IP地址的主機一般稱為多穴主機。 “nospoof on”指不允許對該服務器進行IP地址欺騙。IP欺騙是一種攻擊系統安全的手段,通過把IP地址偽裝成別的計算器,來取得其它計算器的信任。 */etc/sysconfig/network文件 該文件用來指定服務器上的網絡配置信息,下面是一個示例: NETWORK=yesRORWARD_IPV4=yesHOSTNAME=deep.openarch.comGAREWAY=0.0.0.0GATEWAYDEV=NETWORK=yes/no 網絡是否被配置;FORWARD_IPV4=yes/no 是否開啟IP轉發功能HOSTNAME=hostname hostname表示服務器的主機名GAREWAY=gw-ip gw-ip表示網絡網關的IP地址GAREWAYDEV=gw-dev gw-dw表示網關的設備名,如:etho等 注意:為了和老的軟件相兼容,“/etc/HOSTNAME”文件應該用和HOSTNAME=hostname相同的主機名。 */etc/hosts文件 當機器激活時,在可以查詢DNS以前,機器需要查詢一些主機名到IP地址的匹配。這些匹配信息存放在/etc/hosts文件中。在沒有域名服務器情況下,系統上的所有網絡程序都通過查詢該文件來解析對應于某個主機名的IP地址。 下面是一個“/etc/hosts”文件的示例: IP Address Hostname Alias127.0.0.1 Localhost Gate.openarch.com208.164.186.1 gate.openarch.com Gate 最左邊一列是主機IP信息,中間一列是主機名。任何后面的列都是該主機的別名。一旦配置完機器的網絡配置文件,應該重新激活網絡以使修改生效。使用下面的命令來重新激活網絡:/etc/rc.d/init.d/network restart 本文出自:億恩科技【www.vbseamall.com】 |