4.3.1 什麼是xinetd
xinetd即extended internet daemon,xinetd是新一代的網絡守護進程服務程序,又叫超級Internet服務器。經常用來管理多種輕量級Internet服務。xinetd提供類似於inetd+tcp_wrapper的功能,但是更加強大和安全。
4.3.2 xinetd的特色
1.強大的存取控制功能
— 內置對惡意用戶和善意用戶的差別待遇設定。
— 使用libwrap支持,其效能更甚於tcpd。
— 可以限制連接的等級,基於主機的連接數和基於服務的連接數。
— 設置特定的連接時間。
— 將某個服務設置到特定的主機以提供服務。
2.有效防止DoS***
— 可以限制連接的等級。
— 可以限制一個主機的最大連接數,從而防止某個主機獨佔某個服務。
— 可以限制日誌文件的大小,防止磁盤空間被填滿。
3.強大的日誌功能
— 可以爲每一個服務就syslog設定日誌等級。
— 如果不使用syslog,也可以爲每個服務建立日誌文件。
— 可以記錄請求的起止時間以決定對方的訪問時間。
— 可以記錄試圖非法訪問的請求。
4.轉向功能
可以將客戶端的請求轉發到另一臺主機去處理。
5.支持IPv6
xinetd自xinetd 2.1.8.8pre*起的版本就支持IPv6,可以通過在./configure腳本中使用with-inet6 capability選項來完成。注意,要使這個生效,核心和網絡必須支持IPv6。當然IPv4仍然被支持。
6.與客戶端的交互功能
無論客戶端請求是否成功,xinetd都會有提示告知連接狀態。
7.Xinetd的缺點
當前,它最大的缺點是對RPC支持的不穩定性,但是可以啓動protmap,使它與xinetd共存來解決這個問題。
4.3.3 使用xinetd啓動守護進程
原則上任何系統服務都可以使用xinetd,然而最適合的應該是那些常用的網絡服務,同時,這個服務的請求數目和頻繁程度不會太高。像DNS和Apache就不適合採用這種方式,而像FTP、Telnet、SSH等就適合使用xinetd模式,系統默認使用xinetd的服務可以分爲如下幾類。
① 標準Internet服務:telnet、ftp。
② 信息服務:finger、netstat、systat。
③ 郵件服務:imap、imaps、pop2、pop3、pops。
④ RPC服務:rquotad、rstatd、rusersd、sprayd、walld。
⑤ BSD服務:comsat、exec、login、ntalk、shell、talk。
⑥ 內部服務:chargen、daytime、echo、servers、services、time。
⑦ 安全服務:irc。
⑧ 其他服務:name、tftp、uucp。
具體可以使用xinetd的服務在/etc/services文件中指出。這個文件的節選內容如下所示:
# /etc/services:
# $Id: services,v 1.40 2004/09/23 05:45:18 notting Exp $
# service-name port/protocol [aliases ...] [# comment]
tcpmux 1/tcp # TCP port service multiplexer
tcpmux 1/udp # TCP port service multiplexer
rje 5/tcp # Remote Job Entry
rje 5/udp # Remote Job Entry
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
………
Internet網絡服務文件中,記錄網絡服務名和它們對應使用的端口號及協議。文件中的每一行對應一種服務,它由4個字段組成,中間用Tab鍵或空格鍵分隔,分別表示“服務名稱”、“使用端口”、“協議名稱”及“別名”。在一般情況下,不要修改該文件的內容,因爲這些設置都是Internet標準的設置。一旦修改,可能會造成系統衝突,使用戶無法正常訪問資源。Linux系統的端口號的範圍爲0~65 535,不同範圍的端口號有不同的意義。
— 0:不使用。
— 1~1 023:系統保留,只能由root用戶使用。
— 1 024~4 999:由客戶端程序自由分配。
— 5 000~65 535:由服務器程序自由分配。
4.3.4 解讀/etc/xinetd.conf和/etc/xinetd.d/*
1./etc/xinetd.conf
xinetd的配置文件是/etc/xinetd.conf,但是它只包括幾個默認值及/etc/xinetd.d目錄中的配置文件。如果要啓用或禁用某項xinetd服務,編輯位於/etc/xinetd.d目錄中的配置文件。例如,disable屬性被設爲yes,表示該項服務已禁用;disable屬性被設爲no,表示該項服務已啓用。/etc/xinetd.conf有許多選項,下面是RHEL 4.0的/etc/xinetd.conf。
# Simple configuration file for xinetd
# Some defaults, and include /etc/xinetd.d/
defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
— instances = 60:表示最大連接進程數爲60個。
— log_type = SYSLOG authpriv:表示使用syslog進行服務登記。
— log_on_success= HOST PID:表示設置成功後記錄客戶機的IP地址的進程ID。
— log_on_failure = HOST:表示設置失敗後記錄客戶機的IP地址。
— cps = 25 30:表示每秒25個入站連接,如果超過限制,則等待30秒。主要用於對付拒絕服務***。
— includedir /etc/xinetd.d:表示告訴xinetd要包含的文件或目錄是/etc/xinetd.d。
2./etc/xinetd.d/*
下面以/etc/xinetd.d/中的一個文件(rsync)爲例。
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
log_on_failure += USERID
}
下面說明每一行選項的含義。
— disable = yes:表示禁用這個服務。
— socket_type = stream:表示服務的數據包類型爲stream。
— wait = no:表示不需等待,即服務將以多線程的方式運行。
— user = root:表示執行此服務進程的用戶是root。
— server = /usr/bin/rsync:啓動腳本的位置。
— log_on_failure += USERID:表示設置失敗時,UID添加到系統登記表。
4.3.5 配置xinetd
1.格式
/etc/xinetd.conf中的每一項具有下列形式:
service service-name
{
……
}
其中service是必需的關鍵字,且屬性表必須用大括號括起來。每一項都定義了由service-name定義的服務。
service-name是任意的,但通常是標準網絡服務名,也可增加其他非標準的服務,只要它們能通過網絡請求激活,包括localhost自身發出的網絡請求。有很多可以使用的屬性,稍後將描述必需的屬性和屬性的使用規則。
操作符可以是=、+=或-=。所有屬性可以使用=,其作用是分配一個或多個值,某些屬性可以使用+=或-=,其作用分別是將其值增加到某個現存的值表中,或將其值從現存值表中刪除。
2.配置文件
相關的配置文件如下:
/etc/xinetd.conf
/etc/xinetd.d/* //該目錄下的所有文件
/etc/hosts.allow
/etc/hosts.deny
3.屬性列表
xinetd共有45個屬性,你可以通過man xinetd.conf獲得英文原文,屬性列表如表4-3所示。
表4-3 xinetd的屬性列表
屬性選項 |
功能描述 |
id |
該屬性被用來唯一地指定一項服務。因爲有些服務的區別僅僅在於使用不同的協議,因此需要使用該屬性加以區別。默認情況下,id和服務名相同。如echo同時支持dgram和stream服務。設置id=echo_dgram和id=echo_stream來分別唯一標誌兩個服務 |
type |
可以是下列一個或多個值。
RPC:RPC類型的服務。
INTERNAL:由xinetd自身提供的服務,如echo。
UNLISTED:沒有列在標準系統文件如/etc/rpc或/etc/service中的服務 |
flags |
可以是以下一個或多個選項的任意組合。
REUSE:設置TCP/IP socket可重用。也就是在該服務socket中設置SO_REUSEADDR標誌。當中斷時重新啓動xinetd。
INTERCEPT:截獲數據包進行訪問檢查,以確定是否來自於允許進行連接的位置。INTERNAL服務和多線程服務不可使用該屬性值。 |
續表
屬性選項 |
功能描述 |
flags |
NORETRY:如果fork失敗,不重試。
IDONLY:只有在遠程端識別遠程用戶時才接受該連接(也就是遠程系統必須運行ident服務器),該標記只適用於面向連接的服務。若沒有使用USERID記錄選項,則該標記無效,log_on_success或log_on_failure屬性設置USERID值以使該值生效。僅用於多線程的流服務。
NAMEINARGS:允許server_args屬性中的第一個參數是進程的完全合法路徑,此時,server屬性採用inetd的方式來指定(此標籤的作用是表明該服務採用tcpd的方式來處理,而不是tcp wrapper,參見NOLIBWRAP標記)。
NODELAY:若服務爲tcp服務,並且NODELAY標記被設置,則TCP_NODELAY標記將被設置。若服務不是tcp服務,則該標記無效。
DISABLE:具有DISABLE標記的服務表示被禁用。該標記將覆蓋enable的指定,即如果你指定了“enable=foo”,若foo具有DISABLE標記,那麼foo仍將被禁用。使用了該標記的服務不會被提醒。
KEEPALIVE:如果一個tcp服務設置了KEEPALIVE標記,那麼該服務的socket將被設置SO_KEEPALIVE標記,對非TCP類型的服務設置該標記無任何作用。 |
flags |
NOLIBWRAP:禁用tcpwrap 庫來決定一個服務的請求訪問控制。像xinetd,需要長時間的運行(系統啓動後一直運行),一直調用libwrap函數庫是不可取的,這種類型的服務就需要設置該標記,它們可以直接調用而無須調用libwrap函數庫來控制訪問請求(參見NAMEINARGS標記)。
SENSOR:該標記的作用是使用一個傳感器(SENSOR)來代替當前的服務。使用該標記需要注意幾個問題:其一,你應當確認該服務是你不需要的或者是你不想提供該服務;其二,它不能覺察祕密的掃描動作;其三,它將覺察該服務指定端口的請求,並記錄到作用於全局的no_access列表中,這就使得請求過該服務的IP在deny_time指定的時間過期之前一直都拒絕訪問;其四,它還使得xinetd認爲該服務的server屬性是INTERNAL;其五,如果使用了該標記的socket_type爲stream的服務設置,你需要設置wait爲no |
disable |
可以設置爲yes或no,設置爲yes將禁用一個服務,詳見flags的disable標籤 |
socket_type |
使用的TCP/IP socket類型,值可能爲stream(TCP),dgram(UDP),raw和seqpacket(可靠的有序數據包) |
protocol |
指定該服務使用的協議,其值必須是在/etc/protocols中定義的。如果不指定,使用該項服務的默認協議 |
wait |
這個屬性有兩個可能的值。如果是yes,那麼xinetd會啓動對方請求的進程,並停止處理該項服務的其他請求直到該進程終止,適合於單線程服務;如果是no,那xinetd會爲每個請求啓動的一個進程,而不管先前啓動的進程的狀態,適合於多線程服務 |
user |
設置服務進程的UID。若xinetd的有效UID不是0,該屬性無效 |
group |
設置進程的GID。若xinetd的有效UID不是0,該屬性無效 |
instances |
接受一個大於或等於1的整數或UNLIMITED。設置可同時運行的最大進程數。UNLIMITED意味着xinetd對該數沒有限制 |
nice |
指定進程的nice值。它決定了服務的優先級,參數值是某個數字,可以爲負數 |
server |
要激活的進程,必須指定完整的路徑 |
server_args |
指定傳送給該進程的參數,但是不包括服務程序名 |
only_from |
用空格分開的允許訪問服務的客戶機列表。如果不爲該屬性指定一個值,就拒絕任何人訪問這項服務。該屬性支持所有操作符。訪問控制表的語法如下:
a)用數字表示的IP地址,格式爲%d. %d. %d. %d。如果最右邊的一位是0,將被看作通配符。舉例來說,10.35.1.0表示10.35.1段內的任何地址都滿足條件;如果地址是0.0.0.0,則匹配所有的IP地址。
b)分解列出的IP地址,格式爲%d. %d. %d.{ %d. %d…}。當然,並不是一定要四個部分都列出,例如,%d. %d.{ %d. %d…},這樣的格式也是可以的,然而,被分解列出的部分必須在最後面,例如,%d.{ %d. %d…}.%d.%d,這樣的格式是不允許的。
c)網絡名。/etc/networks中的網絡名。 |
續表
屬性選項 |
功能描述 |
only_from |
d)主機名或域名。當一個IP地址連接到xinetd上的時候,它會對這個IP進行反向解析,得出相應的主機名,然後與指定的主機名進行比較,查看是否匹配。當然也可以使用域名,道理是一樣的。
e)網絡/子網。格式爲IP Address/netmask,例如,1.2.3.4/32 |
no_access |
用空格分開的拒絕訪問服務的客戶機列表。該屬性支持所有操作符,訪問控制表的語法參見only_from。
Only_from和no_access決定了一個遠程連接能否訪問某個服務。如果這兩個屬性都沒有設置,那麼任何人都可以請求該服務;如果都設置了,那麼,最匹配的那個記錄優先。例如,你在only_from中設定了10.35.1.0可以訪問,然後又在no_access中設定10.35.1.10禁止訪問,那麼,10.35.1段內除了10.35.1.10外的IP地址都可以訪問 |
access_time |
設置服務的可用時段,也就是說,在哪一段時間裏可以使用本服務。格式是hh:mm_hh:mm; 如08:00-18:00,意味着從8AM到6PM可使用這項服務 |
log_type |
指定服務log的記錄方式。
SYSLOG facility[level]:設置facility爲daemon,auth,user或local0-7;level是可選的,可用的level值爲emerg,alert,crit,err,warning,notice,info,debug,默認值爲info。
file[soft[hard]]:指定用file記錄log,而不是syslog。限度soft和hard用KB指定(可選)。一旦達到soft限,xinetd就登記一條消息。一旦達到hard限,xinetd就停止登記使用該文件的所有服務。如果不指定hard限,它爲soft加1%,但默認時不超過20MB,默認soft限是5MB |
log_on_success |
指定成功時登記的信息,默認時不登記任何信息。該屬性支持所有操作符。可能的值有以下幾種。
PID:進程的PID。如果一個新進程沒被分叉,PID設置爲0。
HOST:客戶機IP地址。
USERID:通過RFC1413調用捕獲客戶機用戶的UID。只可用於多線程的流服務。
EXIT:登記進程終止的狀態。
DURATION:登記會話持續期 |
log_on_failure |
指定失敗時登記的信息。總是登記表明錯誤性質的消息,默認時不登記任何信息。該屬性支持所有操作符。可能的值是有以下幾種。
ATTEMPT:記錄一次失敗的嘗試,所有其他值隱含爲這個值。
HOST:客戶機IP地址。
USERID:通過RFC1413調用捕獲客戶機用戶的UID。只可用於多線程的流服務。
RECORD:記錄附加的客戶機信息,如本地用戶、遠程用戶和終端的類型 |
rpc_version |
指定RPC版本號或服務號。版本號可以是一個單值或者一個範圍,如2~3 |
rpc_number |
如果RPC程序號不在/etc/rpc中,就指定它 |
env |
用空格分開的VAR=VALUE表,其中VAR是一個shell環境變量,VALUE是其設置值。這些設置在服務被激活時被追加到服務的環境變量中。這個屬性支持=和+=操作符 |
passenv |
用空格分開的xinetd環境中的環境變量表,該表在激活時傳遞給服務程序。如果設置的值爲空就不傳送任何變量(除了在env中指定的變量)。該屬性支持所有操作符 |
port |
定義該項服務相關的端口號。如果該服務在/etc/services中列出,它們必須匹配 |
redirect |
該屬性語法爲redirect=Ipaddress port。它把tcp服務重定向到另一個系統。如果使用該屬性,就忽略server屬性 |
bind |
把一項服務綁定到一個特定界面。語法是bind=ipaddress/interface。這意味着你的telnet服務可以監聽一個本地的安全的端口,而不是一個外部的界面。或者,同一個端口在某個網絡界面上可以做某件事情,同時,在另一個界面上可以做完全不同的事情 |
interface |
等同於bind |
banner |
無論該連接是否被允許,當建立連接時就將該文件顯示給客戶機 |
banner_success |
當連接授權通過時顯示banner_success指定的文件中包含的信息 |
續表
屬性選項 |
功能描述 |
banner_fail |
當客戶端的請求違反控制規則時顯示banner_fail指定的文件中包含的信息,以告知用戶他們正在試圖請求不被允許的服務 |
per_source |
參數值可以爲整數或者UNLIMITED關鍵字。它表示每一個IP地址上最多可以建立的實例數目。本屬性也可以定義在defaults部分 |
cps |
用來設定連接速率。它需要兩個參數,第一個參數表示每秒可以處理的連接數,如果超過了這個連接數時,之後進入的連接將被暫時停止處理;第二個參數表示停止處理多少秒後,繼續處理先前暫停處理的連接 |
max_load |
用一個浮點數作爲負載係數,當負載達到這個數目的時,該服務將停止處理後續的連接 |
groups |
可以設置爲yes或no。如果設置爲yes,將允許對該服務起作用的組中包含的用戶來訪問,如果設置爲no,將設置服務進程的GID。如果xinetd的有效GID不是0,則該屬性無效。在BSD類的系統上,很多服務需要設置該屬性爲yes,這個屬性也可以設置在defaults部分 |
umask |
設置服務所繼承的umask。參數值應該是一個八進制數字,該屬性也可以設置到defaults項中。xinetd自己的umask默認是022,如果你沒有設置umask屬性,那麼所有xinetd的子進程的umask將都是022 |
enabled |
其參數值是一個服務名稱的列表,表示該列表中的服務將被啓用,其餘的則不被啓用。然而,如果某個服務設置使用了disable或者DISABLE 標記(flag),即使該服務被設置在enabled列表中,也不會被啓用。參見disable屬性和flags的DISABLE標記 |
disabled |
只可用於defaults項,指定被關閉的服務列表,是用空格分開的、不可用的服務列表來表示的。它和在/etc/xinetd.conf文件中註釋掉該服務項有相同的效果 |
include |
使用“include /etc/xinetd.d/service_name”這樣的格式來引入一個文件。這跟直接將引入文件的內容放到xinetd.conf中是不同的,因爲那裏默認已經有了include指令。需要注意的是,其一,被引入文件的格式應該是跟xined.conf格式相同;其二,不可以在某個服務的聲明部分使用此指令,應當放在聲明之外的地方 |
includedir |
使用“includedir /etc/xinetd.d”這樣的格式引入一個目錄作爲xinetd配置文件的存放目錄。指定目錄下除了文件名包括點號(.)或者以引號(“ ”)結束的文件,都將視作xinetd的服務配置文件。跟include指令一樣,該指令也不可以放在服務的聲明部分 |
rlimit_as |
設置服務的地址資源限制。參數值應該是以字節爲單位的正整數或者UNLIMITED關鍵字。由於libc malloc的實現機制,在Linux系統上設置該屬性比設置rlimit_rss、rlimit_data和rlimit_stack屬性更有效,這個資源限制的屬性只可以在Linux系統上設置 |
rlimit_cpu |
設置服務最多可佔用的CPU秒數。參數值應該是以秒爲單位的正整數或者UNLIMITED關鍵字 |
rlimit_data |
設置服務的最大數據量。參數值應該是以字節爲單位的正整數或者UNLIMITED關鍵字 |
rlimit_rss |
設置服務的最大常駐內存。參數值應該是以字節爲單位的正整數或者UNLIMITED關鍵字 |
rlimit_stack |
設置服務的最大堆棧大小。參數值應該是以字節爲單位的正整數或者UNLIMITED關鍵字 |
deny_time |
設置對於所有IP,所有服務的訪問被禁用的時間長度。參數值可以是以分鐘爲單位的正整數、FOREVER和NEVER。如果你設置爲FOREVER,在xinetd重啓之前一直有效;NEVER只對那些非法的IP地址有效;數字一般設置爲60,設置爲這個數值基本就可以防範DoS***了。需要注意的是,這個標記必須與SENSOR標記(flags)結合使用 |
4.基本屬性
上面的列表是xinetd可用的所有屬性,然而,針對一個服務並不需要指定上面所有的屬性,其實必需的屬性只有幾個,如表4-4所示。
表4-4 xinetd設定服務必需的屬性
xinetd設定服務必需的屬性 | |
屬 性 |
適用範圍 |
socket_type |
所有服務 |
user |
Non_internal service only 非內部服務 |
server |
Non_internal service only 非內部服務 |
wait |
所有服務 |
protocol |
不在/etc/services中的所有RPC服務和所有其他服務 |
rpc_vision |
所有RPC服務 |
rpc_number |
不列在/etc/rpc中的任何RPC服務 |
port |
不在/etc/services中的非RPC服務 |
5.支持多操作符的屬性
對於大多數的服務而言,在針對一個服務的設定中操作符只能出現一次,並只支持=操作符,然而,下面的六個屬性可以支持多個操作符,如表4-5所示。
表4-5 支持多操作符的屬性
支持多操作符的屬性 | |
屬 性 |
支持範圍 |
only_from |
支持所有操作符 |
no_access | |
log_on_success | |
log_on_failure | |
passenv | |
env |
不支持-=操作符 |
6.默認屬性
defaults項是實現爲所有服務指定某些屬性的默認值。這些默認值可被每個服務項取消或修改。表4-6列出可在defaults項中指定的屬性。這個表也指明瞭具體服務項中可以修改哪些屬性。
表4-6 可用的defaults屬性
可用的defaults屬性 | |
屬 性 |
適用範圍 |
log_on_success |
可以用=操作符改寫,或用+=或-=操作符修改 |
log_on_failure | |
only_from | |
no_access | |
passenv | |
instances |
可以用=操作符改寫 |
log_type | |
disabled |
註銷掉的服務 |
enabled |
指定啓用的服務 |
7.disabled與enabled
前者的參數是禁用的服務列表,後者的參數是啓用的服務列表。他們的共同點是格式相同(屬性名、服務名列表與服務中間用空格分開,例如disabled = in.tftpd in.rexecd),此外,它們都是作用於全局的。如果在disabled列表中被指定,那麼無論包含在列表中的服務是否有配置文件和如何設置,都將被禁用;如果enabled列表被指定,那麼只有列表中的服務纔可啓動,如果enabled沒有被指定,那麼disabled指定的服務之外的所有服務都可以啓動。
8.注意問題
① 在重新配置的時候,下列的屬性不能被改變:socket_type、wait、protocol、type;
② 如果only_from和no_access屬性沒有被指定(無論在服務項中直接指定還是通過默認項指定),那麼對該服務的訪問IP將沒有限制;
③ 地址校驗是針對IP地址而不是針對域名地址。
4.3.6 xinetd防止拒絕服務***(Denial of Services)的原因
xinetd能有效地防止拒絕服務***(Denial of Services)的原因如下。
1.限制同時運行的進程數
通過設置instances選項設定同時運行的併發進程數:
instances=20
當服務器被請求連接的進程數達到20個時,xinetd將停止接受多出部分的連接請求。直到請求連接數低於設定值爲止。
2.限制一個IP地址的最大連接數
通過限制一個主機的最大連接數,從而防止某個主機獨佔某個服務。
per_source=5
這裏每個IP地址的連接數是5個。
3.限制日誌文件大小,防止磁盤空間被填滿
許多***者知道大多數服務需要寫入日誌。***者可以構造大量的錯誤信息併發送出來,服務器記錄這些錯誤,可能就造成日誌文件非常龐大,甚至會塞滿硬盤。同時會讓管理員面對大量的日誌,而不能發現***者真正的***途徑。因此,限制日誌文件大小是防範拒絕服務***的一個方法。
log_type FILE.1 /var/log/myservice.log 8388608 15728640
這裏設置的日誌文件FILE.1臨界值爲8MB,到達此值時,syslog文件會出現告警,到達15MB,系統會停止所有使用這個日誌系統的服務。
4.限制負載
xinetd還可以使用限制負載的方法防範拒絕服務***。用一個浮點數作爲負載係數,當負載達到這個數目的時候,該服務將暫停處理後續的連接。
max_load = 2.8
上面的設定表示當一項系統負載達到2.8時,所有服務將暫時中止,直到系統負載下降到設定值以下。
說明 要使用這個選項,編譯時應加入“--with-loadavg”,xinetd將處理max-load配置選項,從而在系統負載過重時關閉某些服務進程,來實現防範某些拒絕服務***。
5.限制所有服務器數目(連接速率)
xinetd可以使用cps選項設定連接速率,下面的例子:
cps = 25 60
上面的設定表示服務器最多啓動25個連接,如果達到這個數目將停止啓動新服務60秒。在此期間不接受任何請求。
6.限制對硬件資源的利用
通過rlimit_as和rlimit_cpu兩個選項可以有效地限制一種服務對內存、中央處理器的資源佔用:
rlimit_as = 8M
rlimit_cpu=20
上面的設定表示對服務器硬件資源佔用的限制,最多可用內存爲8MB,CPU每秒處理20個進程。
xinetd的一個重要功能是它能夠控制從屬服務可以利用的資源量,通過它的以上設置可以達到這個目的,有助於防止某個xinetd服務佔用大量資源,從而導致“拒絕服務”情況的出現。