Xinetd使用指南_第1頁
Xinetd使用指南_第2頁
Xinetd使用指南_第3頁
Xinetd使用指南_第4頁
Xinetd使用指南_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Xinetd使用指南 大家對被稱作超級服務(wù)器的Inetd一定很熟悉,其實現(xiàn)控制對主機網(wǎng)絡(luò)連接。當(dāng)一個請求到達由Inetd管理的服務(wù)端口,Inetd將該請求轉(zhuǎn)發(fā)給名為 tcpd的程序。Tcpd根據(jù)配置文件hosts.allow, deny來判斷是否允許服務(wù)該請求。如果請求被允許則相應(yīng)的服務(wù)器程序(如:ftpd、telnetd)將被啟動。這個機制也被稱作 tcp_wrapper. xinetd(eXtended InterNET services daemon)提供類似于inetd+tcp_wrapper的功能,但是更加強大和安全。它能提供以下特色: * 支持對tcp、ucp、RPC服務(wù)(但是當(dāng)前

2、對RPC的支持不夠穩(wěn)定) * 基于時間段的訪問控制 * 功能完備的log功能,即可以記錄連接成功也可以記錄連接失敗的行為 * 能有效的防止DoS攻擊(Denial of Services) * 能限制同時運行的同意類型的服務(wù)器數(shù)目 * 能限制啟動的所有服務(wù)器數(shù)目 * 能限制log文件大小 * 將某個服務(wù)綁定在特定的系統(tǒng)接口上,從而能實現(xiàn)只允許私有網(wǎng)絡(luò)訪問某項服務(wù) * 能實現(xiàn)作為其他系統(tǒng)的代理。如果和ip偽裝結(jié)合可以實現(xiàn)對內(nèi)部私有網(wǎng)絡(luò)的訪問 它最大的缺點是對RPC支持的不穩(wěn)定性,但是可以啟動protmap,與xinetd共存來解決這個問題 編譯安裝 可以從#./configure; make;

3、make install 即可完成。 在進行configure時,可以支持如下幾個有用處的選項: -with-libwrap : 如果使用該選項xinetd將會察看tcpd配置文件(/etc/hosts.allow, deny)來進行訪問控制,但是如果要利用該功能,系統(tǒng)上必須安裝有tcp_wrapper和相關(guān)庫。 -with-loadavg : 使用該選項,xinetd將而已處理max-load配置選項。從而在系統(tǒng)負(fù)載過重時關(guān)閉某些服務(wù)進程,來實現(xiàn)某些DoS攻擊。 -with-inet6 : 使用該選項xinetd將支持IPv6。 現(xiàn)在很多的版本中其默認(rèn)將安裝xinetd,而不需要自行安裝。

4、配置 xinetd 的默認(rèn)配置文件是/etc/xinetd.conf。其語法和/etc/inetd.conf完全不同且不兼容。它本質(zhì)上是 /etc/inetd.conf和/etc/hosts.allow,/etc/hosts.deny功能的組合。/etc/xinetd.conf中的 每一項具有下列形式 service service-name 。 其中service是必需的關(guān)鍵字,且屬性表必須用大括號括起來。每一項都定義了由service-name定義的服務(wù)。 Service-name是任意的,但通常是標(biāo)準(zhǔn)網(wǎng)絡(luò)服務(wù)名,也可增加其他非標(biāo)準(zhǔn)的服務(wù),只要它們能通過網(wǎng)絡(luò)請求激活,包括localhost

5、自身發(fā)出的網(wǎng)絡(luò)請求。有很多可以使用的attribute,在下表中進行了詳細(xì)的說明。稍后將描述必需的屬性和屬性的使用規(guī)則。 操作符可以是=,+=,或=。所有屬性可以使用=,其作用是分配一個或多個值,某些屬性可以使用+=或=的形式,其作用分別是將其值增加到某個現(xiàn)存的值表中,或?qū)⑵渲祻默F(xiàn)存值表中刪除。表1中說明了可以用后一種形式的屬性。 Value是為給定屬性設(shè)置的參數(shù)。 表1擴展的lnernet服務(wù)進程屬性 屬性 描述和允許值 Socket_type使用的TCP/IP socket類型,值可能為stream(TCP), dgram(UDP), raw和seqpacket(可靠的有序數(shù)據(jù)報)prot

6、ocol指定該服務(wù)使用的協(xié)議,其值必須是在/etc/protocols中定義的。如果不指定,使用該項服務(wù)的缺省協(xié)議。Server 要激活的進程,必須指定完整路徑 Server_args指定傳送給該進程的參數(shù),但是不包括服務(wù)程序名 Port 定義該項服務(wù)相關(guān)的端口號。如果該服務(wù)在/etc/services中列出,它們必須匹配Wait 這個屬性有兩個可能的值。如果是yes,那么xinetd會啟動請的進程并停止處理該項服務(wù)的請求直到該進程終止。這是個單線程服務(wù)。如果是no,那xinetd會為每個請求啟動的一個進程,而不管先前啟動的進程的狀態(tài)。這是個多線程服務(wù) User設(shè)置服務(wù)進程的UID,但是若xi

7、netd的有效UID不是0,該屬性無效 Group 設(shè)置進程的GID。若xinetd的有效UID不是0,這個屬性無效 Nice 指定進程的nice值 Id 該 屬性被用來唯一地指定一項服務(wù)。因為有些服務(wù)的區(qū)別僅僅在于使用不同的協(xié)議,因此需要使用該屬性加以區(qū)別。默認(rèn)情況下服務(wù)id和服務(wù)名相同。如echo同 時支持dgram和streama服務(wù)。設(shè)置id=echo_dgram和id=echo_streams來分別唯一標(biāo)識兩個服務(wù)Type可以是下列一個或多個值:RPC(對RPC服務(wù)),INTERNAL(由由xinetd自身提供的服務(wù),如echo),UNLISTED(沒有列在標(biāo)準(zhǔn)系統(tǒng)文件如/etc/r

8、pc或/etc/service中的服務(wù))Access_time設(shè)置服務(wù)可用時的時間間隔。格式是hh:mm_hh:mm; 如08:00-18:00意味著從8A.M到6P.M.可使用這項服務(wù) Banner無論該連接是否被允許,當(dāng)建立連接時就將該文件顯示給客戶機Flags可以是以下一個或多個選項的任意組合: REUSE:置TCP/IP socket可重用。也就是在該服務(wù)socket中設(shè)置O_REUSEADDR標(biāo)志。當(dāng)中斷并重新啟動xinetd INTERCEPT:獲數(shù)據(jù)報進行訪問檢查,以確定它是來自于允許進行連接的位置。不能INTERNAL服務(wù)和多線程服務(wù)不可使用該屬性值 NORETRY:如果for

9、k失敗,不重試 IDONLY: 只有在遠(yuǎn)程端識別遠(yuǎn)程用戶時才接受該連接(也就是遠(yuǎn)程系統(tǒng)必須運行ident服務(wù)器),該標(biāo)記只適用于面向連接的服務(wù)。若沒有使用USERID記錄選項則 該標(biāo)記無效log_on_success和/或log_on_failure屬性設(shè)置USERID值以使該值生效。僅用于多線程的流服務(wù) NAMEINARGS:允許server_args屬性中的第一個參數(shù)是進程的完全合格路徑,以允許使用TCP_Wrappers NODELAY:若服務(wù)為tcp服務(wù),并且NODELAY標(biāo)記被設(shè)置,則TCP_NODELAY標(biāo)記將被設(shè)置。若服務(wù)不是tcp服務(wù)則該標(biāo)記無效 Rpc_version 指定R

10、PC版本號或服務(wù)號。版本號可以是一個單值或者一個范圍中如2-3 rpc_number如果RPC程序號不在/etc/rpc中,就指定它Env 用空格分開的VAR=VALUE表,其中VAR是一個shell環(huán)境變量且VALUE是其設(shè)置值,這些值以及xinetd的環(huán)境都在激活時傳送給服務(wù)程序。這個屬性支持=和+=操作符 Passenv用空格分開的xinetd環(huán)境中的環(huán)境變量表,該表在激活時傳遞給服務(wù)程序。設(shè)置no就不傳送任何變量。該屬性支持所有操作符Only_from 用空格分開的允許訪問服務(wù)的客戶機表。表2種給出客戶機語法。如果不為該屬性指定一個值,就拒絕訪問這項服務(wù)。該屬性支持所有操作符。 No_

11、access用空格分開的拒絕訪問服務(wù)的客戶機表。表2給出客戶機語法。該屬性支持所有操作符 Instances 接受一個大于或等于1的整數(shù)或UNLIMITED。設(shè)置可同時運行的最大進程數(shù)。UNLIMITED意味著xinetd對該數(shù)沒有限制。Log_type 指定服務(wù)log記錄方式,可以為: SYSLOG facilitylevel:設(shè)置該工具為daemon,auth,user或loca10-7。設(shè)置level是可選的,可以的level值為 emerg,alert,crit,err,warning,notice, info, debug,默認(rèn)值為info file softhard:指定file用

12、于記錄log,而不是syslog。限度soft和hard用KB指定(可選)。一旦達到soft限, xinetd就登記一條消息。一旦達到hard限,xinetd停止登記使用該文件的所有服務(wù)。如果不指定hard限,它成為soft加1,但缺省時不 超過20MB.缺省soft限是5MBRedirect該屬性語法為redirect=Ipaddress port。它把TCP服務(wù)重定向到另一個系統(tǒng)。如果使用該屬性,就忽略server屬性 Bind 把一項服務(wù)綁定到一個特定端口。語法是bind=Ipaddress。這樣有多個接口(物理的或邏輯的)的主機允許某個接口但不是其他接口上的特定服務(wù)(或端口) Log_

13、on_success 指定成功時登記的信息。可能值是 PID:進程的PID。如果一個新進程沒被分叉,PID設(shè)置為0。 HOST:客戶機主機IP地址 USERID:通過RFC1413高用捕獲客戶機用戶的UID。只可用于多線程流服務(wù)。 EXIT:登記進程終止和狀態(tài) DURATION:登記會話持續(xù)期 缺省時不登記任何信息。該屬性支持所有操作符 Log_on_failure 指定失敗時登記的信息??偸堑怯洷砻麇e誤性質(zhì)的消息。可能值是ATTEMPT:記錄一次失敗的嘗試。所有其他值隱含為這個值。 HOST:客戶機主機IP地址 USERID:通過RFC1413調(diào)用捕獲客戶機用戶的UID。只可用于多線程流服務(wù)

14、。 RECORD:記錄附加的客戶機信息如本地用戶,遠(yuǎn)程用戶和終端的類型。缺省時不登記任何信息。該屬性支持所有操作符。Disabled 只可用于defaults項(參看本小節(jié)后面的defaults項),指定被關(guān)閉的服務(wù)列表,是用空格分開的不可用服務(wù)列表來表示的。它和在/etc/xinetd.conf文件中注釋掉該服務(wù)項有相同的效果。 我們首先看一個簡單的例子。例1是配置文件/etc/xinetd.conf的一個范例。這兩種服務(wù)的定義看上去像/etc/inetd.conf的原因是 因為它們是用itox工具從/etc/inetd.conf轉(zhuǎn)換得來的,只把/etc/inetd.conf項對應(yīng)轉(zhuǎn)換成適當(dāng)

15、的xinetd語法。這樣, 這些屬性(在大括號中的=號的左邊)意義是非常直接的,其相關(guān)值(在大括號中的=號的右邊)也是如此。 例1文件/etc/xinetd.conf中的一部分 Serice ftp Socket_type=stream protocol=tcp wait=no user=root server=root Server_args= - 1- a Service telnet Socket_type=stream protocol=tcp wait=tcp user=root server=/usr/sbin/in.telnetd 創(chuàng)建/etc/xinetd.conf文件最容易的

16、方法是用itox工具(該例假定當(dāng)前工作目錄是xinetd的編譯目錄): xinetd/itox-daemon_dir /usr/sbin/etc/xinetd.conf。itox的參數(shù)-daemon_dir /usr/sbin指定服務(wù)程序的目錄位置,如果實現(xiàn)了TCP_Wrappers,從/etc/inetd.conf中是不能確定它的,轉(zhuǎn)換完成以后,就 開始增加屬性和值,以限制訪問并增加登記,最后要手工修改/etc/xinetd.conf以充分利用xinetd的特性;否則,如果只把 /etc/inetd.conf轉(zhuǎn)換為/etc/xinetd.conf, xinetd的行為就和inetd一樣了。

17、表1詳述了在/etc/xinetd.conf中最常使用的一些屬性和值。當(dāng)然還有許多其他屬性,詳細(xì)配置選項可以在安裝xinetd以后通過man xinetd.conf來得到。在本小節(jié)后面的“配置實例”中,將用一些例子闡明其中的許多屬性。 表2中給出only_from和no_access表的語法,定義了指定主機名,IP地址和網(wǎng)絡(luò)的語法。注意表2中最后一項netmask的語法和之前看到的 有所不同。它沒有采用傳統(tǒng)的十進制或十六進netmask的表示方法,而是采用一個整數(shù)表示從netmask(用二進制表示)的最高位(最左端)開始起 每位都為1的位數(shù)。因此,給定例子的netmask值設(shè)置為20,意味著其

18、最左端的20位都設(shè)置為1,而余下12位設(shè)置為0,或 11111111 111111111111000000000000 表2 /etc/xinetd.conf的訪問控制表的語法 語法 描述 hostname 可解析的主機名。使用和這個主機名相關(guān)的所有IP地址 IPaddress 點和十進制形式的標(biāo)準(zhǔn)IP地址,如Net_name /etc/networks中的網(wǎng)絡(luò)名 x.x.x.0 x.x.0.0 x.0.0.0 0作為通配符看待。如項匹配從到55的所有IP地址。項匹配所有地址 x.x.x.a

19、,b, x.xa,b, x.a,b, 指定主機表。如,56,59意味著含IP地址172,19.32.1,6和9的表 Ipaddress/netmask 定義要匹配的網(wǎng)絡(luò)或子網(wǎng)。如/20匹配從到55的所有地址 在看了這些基本屬性之后,下面我們仔細(xì)討論那些必需的屬性,特定服務(wù)和一些配置實例。 必需的屬性對每種服務(wù)都必須指定某些屬性。一些服務(wù)比其他服務(wù)需要更多屬性,因為它們不被缺省定義(即不在/etc/services或/etc/rpc中)。表3列出了必需的屬性。 表3

20、必需的屬性 語法 描述 Socket_type 所有服務(wù) Wait所有服務(wù)User 在/etc/services或/etc/rpc中列出的服務(wù) Server 非內(nèi)部服務(wù)Port 不在/etc/services中的非RPC服務(wù)Protocol不在/etc/services中的所有RPC服務(wù)和所有其他服務(wù) Rpc_version所有RPC服務(wù) Rpc_number不列在/etc/rpc中的任何RPC服務(wù) 特定的xinetd服務(wù)/etc/xinetd.conf文件中有4個特殊項。它們分別是:defaults,servers,services和xadmin。Defaults項不是一項服務(wù),且不需要前置

21、service關(guān)鍵字(否則它會被當(dāng)成稱為 defaults的服務(wù)對待)。這些特殊項在以下4小段中描述。 Defaults項 /etc/xinetd.conf文件中的defaults項是實現(xiàn)為該文件中的所有服務(wù)指定某些屬性的默認(rèn)值。這些默認(rèn)值可被每個服務(wù)項取消或修改。表4中列出可在defaults項中指定的屬性。這個表也指明了具體服務(wù)項中可以修改哪些屬性。 defaults可用的屬性 屬性 服務(wù)修改 Log_on_success/Log-on_failure: Only_from/ No_access/Passenv 可以用=操作符改寫或用+ =或 - =操作符修改 Instances Log_

22、type 可以用=操作符改寫 disabled 可注釋掉的服務(wù),但disabled屬性可用于某個服務(wù)項內(nèi)   defaults項從本質(zhì)上提供了在整個文件中建立某些屬性的默認(rèn)值,它應(yīng)用于沒有設(shè)置這些屬性的所有服務(wù)。 例2 /etc/xinetd.conf中defaults項的示例 Defaults Log_type = SYSLOG loca14 info Log_on_success = PID HOST EXIT DURATION Log_on_failure = HOST Instances =8 Disabled = in.tftpd in.rexecd 注:如果在/etcxi

23、netd.conf文件中沒有defaults項,且之后決定增加這一項,你必須中止和重新啟動xinetd以使defaults生效。這對任何要增加到/etc/xinetd.conf中的新服務(wù)也是正確的。它可以如下完成。 kill-TERM xinetd #/ usr/sbin/xinetd 或者如果使用了啟動腳本,則只需要簡單執(zhí)行。 /etc/rc.d/init.d/xinetd restart  Servers 項 servers特殊服務(wù)是實現(xiàn)提供當(dāng)前運行在服務(wù)器上的進程表,以及有關(guān)這些進程的確切信息。換句話說,它提供了活動連接的列表。這對排除故障和檢查 xinetd狀態(tài)是個有用機制。

24、例3顯示了/etc/xinetd.conf文件中的一個實例servers項。注意這項服務(wù)的類型是INTERNAL, UNLISTED,這意味著它是xinetd的內(nèi)部功能,且不列在/etc/services中。使用的端口是完全任意的。 例3servers項的示例 例4servers服務(wù)的輸出示例 Services項 services特定項的目的是提供可用服務(wù)的列表。對services特定項來說,這是個有用的排除故障工具,但為了上述同樣的安全因素,可能不會去用它。盡管如此,還是要看一看它如何工作。 例5是 services項的一個示例。端口號的選擇也是任意的。也應(yīng)注意訪問限制于topcat,這是服

25、務(wù)器自身的主機名。 例5 /etc/xinetd.conf中services項示例 Service services type = INTERNAL UNLISTED Socket_type = stream protocol = tcp port = 8099 wait = no Only_ from = topcat 對于servers服務(wù)來說,任何用戶可執(zhí)行telnet topcat 8099,并獲得來自services服務(wù)的輸出。例6給出了連接8099端口的實例信息信息。注意xinetd僅提供這條信息就退出,而不提供任何交互連接。 例6查詢services內(nèi)部服務(wù)的輸出 Xadmin項

26、 這個特定服務(wù)項提供以交互方式獲得 services特定服務(wù)所提供信息的方法。例7是/etc/xinetd.conf項的一個示例(端口號的選擇也是任意的),類似于services和 servers服務(wù),這項服務(wù)也沒有口令或其他保護,所以要謹(jǐn)慎設(shè)置服務(wù)的only_from項,以增強安全性。 例7 xadmin項 Service xadmin type = INTERNAL UNLISTED socket_type = stream protocol = tcp port = 9967 wait = no Only_from = topcat 對前兩個特定服務(wù)類型來說,你只需 telnet到所列端

27、口上,即telnet topcat 9967。和前兩項服務(wù)不同,xadmin提供了一個交互環(huán)境。一旦連接到xadmin服務(wù)器上,就可執(zhí)行5個命令。它們是help,show, run,bye和exit。Help命令顯示其他命令以及一個簡短的用法消息。Bye和exit命令都關(guān)閉這個連接。Show run和show avail命令分別提供servers和services提供的信息。 警告:像前3段中指出的一樣,這些特 定服務(wù)servers, services和xadmin產(chǎn)生的信息可用于攻擊系統(tǒng)??赡懿恍枰恢边\行這些服務(wù),或許只當(dāng)你調(diào)試時才需要。在任何時候,如果的確運行了這些服務(wù), 要確信用acc

28、ess_from和/或no_access配置了訪問控制。也可以為這些服務(wù)使用bind屬性以進一步限制訪問。 配置實例 這節(jié)中將看到一些不同的例子,與之相關(guān)的行為以及它們產(chǎn)生的登記消息。 訪問控制 從一個簡單的訪問控制例子開始。在例 10中,服務(wù)器topcat的login服務(wù)項允許IP地址以172開始但不以172.19開始的任何系統(tǒng)訪問。這個例子包括了defaults部分。假 定這一項用于login服務(wù),且從客戶機上用rlogin命令激活,讓我們檢查成功和不成功企圖,以及它們產(chǎn)生的登記。 例10在/etc/xinetd.conf中rlogin service項的示例 Defaults Log_t

29、ype=SYSLOG loca14 info Log_on_success=PID HOST EXIT DURATION Log_on_failure=HOST instances=8 例11 成功的rlogin企圖 maryunderdog$ rlogin topcat password: last login:Wed Apr 14 17:45:02 from roadrunner marytopcat$ apr 15 11:39:31 topcat xinetd1402:EXIT:login status:1 pid=1439 dura-tion=2265(sec) 第2項以USERID關(guān)

30、鍵字開始,表明成功地發(fā)出了RFC1413調(diào)用。之后是服務(wù)名(login),遠(yuǎn)程系統(tǒng)對RFC1413調(diào)用(此時為OTHER)的響應(yīng),最后遠(yuǎn)程用戶名(mary)。 這些log項的含義是很清楚的,但表4提供了這些關(guān)鍵字(如START,USERID和EXIT)和其含義的解釋。 表4 xinetd登記項的描述 登記關(guān)鍵詞 格式和描述START START:service_idpid=PIDfrom=Ipaddress 當(dāng)啟動一項服務(wù)時記錄該項。Service_id是服務(wù)名,像id屬性指定的一樣(如果不明確設(shè)置這個屬性,它采用該服務(wù)參數(shù)的值:參看表10.10);PID是被激活進程的標(biāo)識符,或者如果沒有進程

31、被激活,就為0(僅不靈log_on_Success指定了PID時才記錄):Ipaddress是客戶機的IP地址(僅當(dāng)HOST是log_on_success時才記錄) EXIT EXIT:service_idtype=spid=PIDduration=#(sec) 僅當(dāng)為log_on_success指定了EXIT時,若進程終止就記錄這項。Service_id和PID項和以前一樣。Type項記錄退出狀態(tài)或產(chǎn)生終止的信號。Duration捕獲會話時間(秒數(shù))且需要在log_on_success中說明DURATION選項 FAILFAIL:service_id reasonfrom=Ipaddress

32、 當(dāng)失敗的請求發(fā)生且至少為log_on_success屬性指定了一個值時生成該項。Service_id如前。Reason是一個解釋失敗原因的簡單詞或短語。Ipaddress是客戶機地址且需要為log_on_success屬性設(shè)置HOST值才出現(xiàn)。DATA DATA:service_id data 僅當(dāng)為log_on_failure指定了RECORD時才記錄。Service_id如前。記錄的data取決于服務(wù),但通常包括遠(yuǎn)程用戶名(如果可得到)和狀態(tài)信息 USERIDUSERID:service_id text 僅當(dāng)為log_on_success或log_on_failure或者指定了USERI

33、D時,才記錄這個住處。Service_id如前。Text包括客戶機對RFC1413調(diào)用的響應(yīng)且特別是遠(yuǎn)程用戶名 NOID NOID:service_id Ipaddress reason 僅當(dāng)為flags屬性設(shè)置了IDONLY值且至少為log_on_success或log_on_failure設(shè)置了USERID值時該項出現(xiàn)。Service_id如前。給出的Ipaddress是主機地址。Reason是失敗狀態(tài) 例13 來自未授權(quán)主機的失敗rlogin企圖 例 14 和例10-50相關(guān)的登記項 有一個最后登記項要檢查。注意例10中的instances屬性設(shè)置為8。對第9個登錄會話會發(fā)生什么?當(dāng)?shù)?

34、個用戶試圖rlogin到topcat時,那個用戶會看到下列錯誤消息 rcmd:topcat:address already in use 并且topcat中為這一事件記錄的登記項是 把這個記錄和表4中的描述相對照,F(xiàn)AIL關(guān)鍵字之后是服務(wù)名,然后是對失敗的解釋(此時為service_limit),最后是客戶機地址。  使用bind屬性 bind屬性允許把一個特定接口的IP地址和一個特定的服務(wù)關(guān)聯(lián)。假定有一個內(nèi)部ftp服務(wù)器,它通過匿名ftp為公司職員提供只讀資源。再假定這個 ftp服務(wù)器有兩個接口,一個連接在公司環(huán)境中,另一個連接到專用內(nèi)部網(wǎng),通常只有在那個特定組中工作的職員可訪問它

35、。盡這個例子中只考慮基于接口提供兩 個不同ftp服務(wù)的需求。例15在/etc/xinetd.conf中說明了兩個ftp服務(wù)項。它可以實現(xiàn)所期望的功能。出于完整性再次提供了 defaults部分。 注意每個ftp服務(wù)項有一個唯一的 id屬性。對有相同名字的服務(wù)數(shù)目沒有任何限制,只要每個有唯一的標(biāo)識符。在這個例子中,為內(nèi)部ftp服務(wù)器設(shè)置id屬性為ftp,為外部匿名服務(wù)器設(shè)置 id屬性為ftp_chroot。注意在后一種情況下,激活的進程是/usr/sbin/anon/in.aftpd(對 TCP_Wrappers來說是twist),這和以前的服務(wù)是不同的。 例15把服務(wù)綁定到特定地址上 Defa

36、ults Log_type=SYSLOG loca14 info Log_on_success=PID HOST EXIT DURATION Instances=8 Service ftp id=ftp_chroot Socket_type=stream 例16 redirect的結(jié)果 因為Linux對每個物理端口最多支持256個邏輯接口,因此理論上可以為系統(tǒng)上的每個物理地址代理256個不同的地址。 盡管redirect機制可能是非常有用的,但實現(xiàn)它時要小心。要確保在代理服務(wù)器和終端系統(tǒng)上進行登記。可是在高度受控的內(nèi)部網(wǎng)絡(luò)中,這個實現(xiàn)可能是方便的。 包含TCP_Wrappers /etc/xi

37、netd.conf 中包含TCP_Wrappers功能是如此簡單,TCP_Wrappers的所有功能可通過xinetd包括進去,就像通過inetd一樣。例17是 /etc/xinetd.conf文件的一個實例,它為許多服務(wù)使用了TCP_Wrappers。當(dāng)屬性服務(wù)器設(shè)置為/usr/sbin/tcpd后,那 個服務(wù)將被包裹。注意這樣的項總是把server_args屬性設(shè)置為要激活的進程(全路徑)。載討論xinetd的編譯時,用到了libwrap配置選 項,但是無論是否用libwrap編譯,例17中的配置文件都能發(fā)揮作用。用libwrap編譯的作用是包含/etc/hosts.allow和 /etc

38、/hosts.deny中的訪問限制。例7所示提供了TCP_Wrappers的一組完整特征,banners,spawn,twist等。 例 17 在/etc/xinetd.conf中使用TCP_Wrappers xinetd進程 xinetd 進程接受若干參數(shù)。這些參數(shù)可被特定服務(wù)default中的屬性改寫,或在一個或多個服務(wù)的單個屬性項改寫。然而,這里給出的所有參數(shù)或它們的缺省值控制 xinetd自身的行為。例如,如果filelog標(biāo)記指定為xinetd,那么將在那里登記所有狀態(tài)轉(zhuǎn)換消息,盡管 /etc/xinetd.conf文件中為和服務(wù)相關(guān)消息指定了其他登記位置??捎脜?shù)列在表5中。 應(yīng)注

39、意xinetd報告的所有狀態(tài)信息,總是出現(xiàn)在-syslog或-filelog標(biāo)記指定的登記文件中,不管設(shè)置如何,即通過defaults還是在/etc/xinetd.conf中。如果要在一個文件中捕獲xinetd的PID,可以用 和xinetd 一起使用的可用信號xinetd進程也基于收到的信號采取特定的行動。表16描述了它接受的每個信號的功能。注意每當(dāng)增加了新服務(wù)或defaults 項,或每當(dāng)改變了任何服務(wù)的如下屬性:protocol,socket_type,type或wait時,必須用SIGTERM(或更簡單的TERM)信 號中止xientd。每當(dāng)給xinetd發(fā)布一個軟性或硬性重配置信號時

40、,將寫入例19中所示類型的登記項。這個特定例子是硬性重配置的結(jié)果。注意這次硬 性重配置的結(jié)果是中止了一項服務(wù)(用dropped=1標(biāo)識)。  表 5xinetd的標(biāo)記 標(biāo)記 描述 -d調(diào)試模式。輸出可和調(diào)試器如gdb一起使用 -sysllog facility 指定syslogd工具。是daemon, auth, user和loca10-7其中之一 -filelog file 指定登記寫到file而不是syslog中。必須是完整路徑名-fconfig_file 指定配置文件。必須是完整路徑名。缺省是/etc/xinetd.conf -pid 把PID寫入標(biāo)準(zhǔn)錯誤中 -loop rat

41、e 指定每秒鐘分叉的進程數(shù)。缺省是10.對較快機器來說可能希望改變它 -reuse 設(shè)置可重用的TCP socket,這意味著以前的實例運行時也可啟動其他進程。當(dāng)和flags屬性一起使用時,有更特殊的服務(wù)控制(參看表1) -limit numproc限制由xinetd啟動的同時運行的進程總數(shù)為numproc- 限制同時發(fā)生的RFC1413請求數(shù)為limit -shutdownprocs limit當(dāng)log_on_failure屬性中使用了RECORD值時,xinetd分叉稱為shutdown的服務(wù)以收集服務(wù)終止時的信息。該選項限制同時運行的shutdown進程總數(shù)為limit -cc interval使xinetd每隔interval秒運行對其內(nèi)部狀態(tài)的一致性檢查。用killall IOT xinetd可手工實現(xiàn)表6 xinetd信號 信號 作用 SIGUSR1 軟性重配置。重讀/etc/xinetd.conf并作相應(yīng)調(diào)整 SIGUSR2 硬性重配置。重讀/etc/xinetd.conf并殺死和配置文件中的建立準(zhǔn)則不再匹配的所有進程。例如,如果一個客戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論