国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux系統的網絡服務器配置詳細解析

2024-08-27 23:57:28
字體:
來源:轉載
供稿:網友
安全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 文件

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

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

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

下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:

  1. DEVICE=eth0 
  2. IPADDR=208.164.186.1 
  3. NETMASK=255.255.255.0 
  4. NETWORK=208.164.186.0 
  5. BROADCAST=208.164.186.255 
  6. ONBOOT=yes 
  7. BOOTPROTO=none 
  8. USERCTL=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地址的庫)使用的配置文件,示例如下:

  1. search Vevb.com 
  2. nameserver 208.164.186.1 
  3. nameserver 208.164.186.2 
  4. “search Vevb.com” 

表示當提供了一個不包括完全域名的主機名時,在該主機名后添加domainname.com的后綴;“nameserver”表示解析域名時使用該地址指定的主機為域名服務器。其中域名服務器是按照文件中出現的順序來查詢的。

*/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 文件

該文件用來指定服務器上的網絡配置信息,下面是一個示例:

  1. NETWORK=yes 
  2. RORWARD_IPV4=yes 
  3. HOSTNAME=deep.openarch.com 
  4. GAREWAY=0.0.0.0 
  5. GATEWAYDEV= 
  6. NETWORK=yes/no     
  7. 網絡是否被配置; 
  8. FORWARD_IPV4=yes/no     
  9. 是否開啟IP轉發功能 
  10. HOSTNAME=hostname hostname 
  11. 表示服務器的主機名 
  12. GAREWAY=gw-ip     
  13. gw-ip表示網絡網關的IP地址 
  14. GAREWAYDEV=gw-dev   
  15. gw-dw表示網關的設備名,如:etho等 

注意:為了和老的軟件相兼容,“/etc/HOSTNAME”文件應該用和HOSTNAME=hostname相同的主機名。

*/etc/hosts 文件

當機器啟動時,在可以查詢DNS以前,機器需要查詢一些主機名到IP地址的匹配。這些匹配信息存放在/etc/hosts文件中。在沒有域名服務器情況下,系統上的所有網絡程序都通過查詢該文件來解析對應于某個主機名的IP地址。

一列是主機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”文件的內容如下面所示:

  1. # To re-read this file after changes, just do a ‘killall -HUP inetd‘  
  2.  
  3. #echo stream tcp nowait root internal  
  4. #echo dgram udp wait root internal  
  5. #discard stream tcp nowait root internal  
  6. #discard dgram udp wait root internal  
  7. #daytime stream tcp nowait root internal  
  8. #daytime dgram udp wait root internal  
  9. #chargen stream tcp nowait root internal  
  10. #chargen dgram udp wait root internal  
  11. #time stream tcp nowait root internal  
  12. #time dgram udp wait root internal  
  13.  
  14. # These are standard services.  
  15.  
  16. #ftp stream tcp nowait root 
  17. /usr/sbin/tcpd in.ftpd -l -a  
  18. #telnet stream tcp nowait root 
  19. /usr/sbin/tcpd in.telnetd  
  20.  
  21. # Shell, login, exec, comsat and talk are BSD protocols.  
  22.  
  23. #shell stream tcp nowait root 
  24. /usr/sbin/tcpd in.rshd  
  25. #login stream tcp nowait root  
  26. /usr/sbin/tcpd in.rlogind  
  27. #exec stream tcp nowait root  
  28. /usr/sbin/tcpd in.rexecd  
  29. #comsat dgram udp wait root  
  30. /usr/sbin/tcpd in.comsat  
  31. #talk dgram udp wait root  
  32. /usr/sbin/tcpd in.talkd  
  33. #ntalk dgram udp wait root  
  34. /usr/sbin/tcpd in.ntalkd  
  35. #dtalk stream tcp wait nobody  
  36. /usr/sbin/tcpd in.dtalkd  
  37.  
  38. # Pop and imap mail services et al  
  39.  
  40. #pop-2 stream tcp nowait root  
  41. /usr/sbin/tcpd ipop2d  
  42. #pop-3 stream tcp nowait root  
  43. /usr/sbin/tcpd ipop3d  
  44. #imap stream tcp nowait root  
  45. /usr/sbin/tcpd imapd  
  46.  
  47. # The Internet UUCP service.  
  48.  
  49. #uucp stream tcp nowait uucp  
  50. /usr/sbin/tcpd /usr/lib/uucp/uucico -l  
  51.  
  52. # Tftp service is provided primarily  
  53. for booting. Most sites  
  54. # run this only on machines acting as 
  55. "boot servers." Do not uncomment  
  56. # this unless you *need* it.  
  57.  
  58. #tftp dgram udp wait root 
  59. /usr/sbin/tcpd in.tftpd  
  60. #bootps dgram udp wait root  
  61. /usr/sbin/tcpd bootpd  
  62.  
  63. # Finger, systat and netstat give out  
  64. user information which may be  
  65. # valuable to potential "system crackers." 
  66. Many sites choose to disable  
  67. # some or all of these services to improve security.  
  68.  
  69. #finger stream tcp nowait root  
  70. /usr/sbin/tcpd in.fingerd  
  71. #cfinger stream tcp nowait root  
  72. /usr/sbin/tcpd in.cfingerd 
  73. #systat stream tcp nowait guest  
  74. /usr/sbin/tcpd /bin/ps -auwwx 
  75. #netstat stream tcp nowait guest  
  76. /usr/sbin/tcpd /bin/netstat -f inet 
  77. # 
  78. # Authentication 
  79. # 
  80. #auth stream tcp nowait nobody 
  81. /usr/sbin/in.identd in.identd -l -e -o 
  82. # 
  83. # End of inetd.conf 

第四步:

為了保證“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。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 琼结县| 马鞍山市| 安化县| 察雅县| 奎屯市| 额济纳旗| 康平县| 中山市| 仁化县| 洱源县| 日喀则市| 巴东县| 青州市| 灵寿县| 乌拉特中旗| 达日县| 巴林右旗| 新平| 罗定市| 大宁县| 扶风县| 陵川县| 洛阳市| 勐海县| 新乐市| 河津市| 上虞市| 松江区| 安泽县| 合水县| 景洪市| 慈溪市| 普陀区| 土默特左旗| 崇明县| 固始县| 阿勒泰市| 东阿县| 麻江县| 乌拉特后旗| 普兰县|