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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

11、access用空格分開(kāi)的拒絕訪問(wèn)服務(wù)的客戶機(jī)表。表2給出客戶機(jī)語(yǔ)法。該屬性支持所有操作符 Instances 接受一個(gè)大于或等于1的整數(shù)或UNLIMITED。設(shè)置可同時(shí)運(yùn)行的最大進(jìn)程數(shù)。UNLIMITED意味著xinetd對(duì)該數(shù)沒(méi)有限制。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指定(可選)。一旦達(dá)到soft限, xinetd就登記一條消息。一旦達(dá)到hard限,xinetd停止登記使用該文件的所有服務(wù)。如果不指定hard限,它成為soft加1,但缺省時(shí)不 超過(guò)20MB.缺省soft限是5MBRedirect該屬性語(yǔ)法為redirect=Ipaddress port。它把TCP服務(wù)重定向到另一個(gè)系統(tǒng)。如果使用該屬性,就忽略server屬性 Bind 把一項(xiàng)服務(wù)綁定到一個(gè)特定端口。語(yǔ)法是bind=Ipaddress。這樣有多個(gè)接口(物理的或邏輯的)的主機(jī)允許某個(gè)接口但不是其他接口上的特定服務(wù)(或端口) Log_

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

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

15、的xinetd語(yǔ)法。這樣, 這些屬性(在大括號(hào)中的=號(hào)的左邊)意義是非常直接的,其相關(guān)值(在大括號(hào)中的=號(hào)的右邊)也是如此。 例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ù)程序的目錄位置,如果實(shí)現(xiàn)了TCP_Wrappers,從/etc/inetd.conf中是不能確定它的,轉(zhuǎn)換完成以后,就 開(kāi)始增加屬性和值,以限制訪問(wèn)并增加登記,最后要手工修改/etc/xinetd.conf以充分利用xinetd的特性;否則,如果只把 /etc/inetd.conf轉(zhuǎn)換為/etc/xinetd.conf, xinetd的行為就和inetd一樣了。

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

18、最左端的20位都設(shè)置為1,而余下12位設(shè)置為0,或 11111111 111111111111000000000000 表2 /etc/xinetd.conf的訪問(wèn)控制表的語(yǔ)法 語(yǔ)法 描述 hostname 可解析的主機(jī)名。使用和這個(gè)主機(jī)名相關(guān)的所有IP地址 IPaddress 點(diǎn)和十進(jìn)制形式的標(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作為通配符看待。如項(xiàng)匹配從到55的所有IP地址。項(xiàng)匹配所有地址 x.x.x.a

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

20、必需的屬性 語(yǔ)法 描述 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個(gè)特殊項(xiàng)。它們分別是:defaults,servers,services和xadmin。Defaults項(xiàng)不是一項(xiàng)服務(wù),且不需要前置

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

22、type 可以用=操作符改寫(xiě) disabled 可注釋掉的服務(wù),但disabled屬性可用于某個(gè)服務(wù)項(xiàng)內(nèi)   defaults項(xiàng)從本質(zhì)上提供了在整個(gè)文件中建立某些屬性的默認(rèn)值,它應(yīng)用于沒(méi)有設(shè)置這些屬性的所有服務(wù)。 例2 /etc/xinetd.conf中defaults項(xiàng)的示例 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文件中沒(méi)有defaults項(xiàng),且之后決定增加這一項(xiàng),你必須中止和重新啟動(dòng)xinetd以使defaults生效。這對(duì)任何要增加到/etc/xinetd.conf中的新服務(wù)也是正確的。它可以如下完成。 kill-TERM xinetd #/ usr/sbin/xinetd 或者如果使用了啟動(dòng)腳本,則只需要簡(jiǎn)單執(zhí)行。 /etc/rc.d/init.d/xinetd restart  Servers 項(xiàng) servers特殊服務(wù)是實(shí)現(xiàn)提供當(dāng)前運(yùn)行在服務(wù)器上的進(jìn)程表,以及有關(guān)這些進(jìn)程的確切信息。換句話說(shuō),它提供了活動(dòng)連接的列表。這對(duì)排除故障和檢查 xinetd狀態(tài)是個(gè)有用機(jī)制。

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

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

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

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

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

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

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

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

33、D時(shí),才記錄這個(gè)住處。Service_id如前。Text包括客戶機(jī)對(duì)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值時(shí)該項(xiàng)出現(xiàn)。Service_id如前。給出的Ipaddress是主機(jī)地址。Reason是失敗狀態(tài) 例13 來(lái)自未授權(quán)主機(jī)的失敗rlogin企圖 例 14 和例10-50相關(guān)的登記項(xiàng) 有一個(gè)最后登記項(xiàng)要檢查。注意例10中的instances屬性設(shè)置為8。對(duì)第9個(gè)登錄會(huì)話會(huì)發(fā)生什么?當(dāng)?shù)?

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

35、。盡這個(gè)例子中只考慮基于接口提供兩 個(gè)不同ftp服務(wù)的需求。例15在/etc/xinetd.conf中說(shuō)明了兩個(gè)ftp服務(wù)項(xiàng)。它可以實(shí)現(xiàn)所期望的功能。出于完整性再次提供了 defaults部分。 注意每個(gè)ftp服務(wù)項(xiàng)有一個(gè)唯一的 id屬性。對(duì)有相同名字的服務(wù)數(shù)目沒(méi)有任何限制,只要每個(gè)有唯一的標(biāo)識(shí)符。在這個(gè)例子中,為內(nèi)部ftp服務(wù)器設(shè)置id屬性為ftp,為外部匿名服務(wù)器設(shè)置 id屬性為ftp_chroot。注意在后一種情況下,激活的進(jìn)程是/usr/sbin/anon/in.aftpd(對(duì) TCP_Wrappers來(lái)說(shuō)是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é)果 因?yàn)長(zhǎng)inux對(duì)每個(gè)物理端口最多支持256個(gè)邏輯接口,因此理論上可以為系統(tǒng)上的每個(gè)物理地址代理256個(gè)不同的地址。 盡管redirect機(jī)制可能是非常有用的,但實(shí)現(xiàn)它時(shí)要小心。要確保在代理服務(wù)器和終端系統(tǒng)上進(jìn)行登記??墒窃诟叨仁芸氐膬?nèi)部網(wǎng)絡(luò)中,這個(gè)實(shí)現(xiàn)可能是方便的。 包含TCP_Wrappers /etc/xi

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論