歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

xinetd 使用指南

  redhat7.0以後inetd都已換成xinetd了--好用了很多。先看一下/etc/xinetd.conf--instances最大實例數--如果你用的是wu-FTPd-最大人數60那就改這個了。注意最後一句includedir其實是把telnet,wu-ftpd等腳本包含到此文件中的--直接寫在這也行。 defaults { instances = 60 log_type = SYSLOG authpriv log_on_sUCcess = HOST PID log_on_failure = HOST cps = 25 30 } includedir /etc/xinetd.d 這篇xinetd完全指南已非常全了--看了它你對xinetd就會很熟了:) 許多人在裝了redhat 7.x後開始找不到北!!!(我就是其中一個) 因為redhat 7.x開始注重系統安全,最大的特征就是用xinetd.conf代替原來的inetd.conf 並且7.1中默認安裝沒有開ftp,telnet等熟悉的服務,而是更安全的ssh! 7.1還加入firewall等服務 (感謝paradise提供下載地點給我安裝redhat7.1) 大家對被稱作超級服務器的Inetd一定很熟悉,其實現控制對主機網絡連接。當一個請求到達由Inetd管理的服務端口,Inetd將該請求轉發給名為tcpd的程序。Tcpd根據配置文件hosts.{allow, deny}來判斷是否允許服務該請求。如果請求被允許則相應的服務器程序(如:ftpd、telnetd)將被啟動。這個機制也被稱作tcp_wrapper. xinetd(eXtended InterNET services daemon)提供類似於inetd+tcp_wrapper的功能,但是更加強大和安全。它能提供以下特色: * 支持對tcp、ucp、RPC服務(但是當前對RPC的支持不夠穩定) * 基於時間段的訪問控制 * 功能完備的log功能,即可以記錄連接成功也可以記錄連接失敗的行為 * 能有效的防止DoS攻擊(Denial of Services) * 能限制同時運行的同意類型的服務器數目 * 能限制啟動的所有服務器數目 * 能限制log文件大小 * 將某個服務綁定在特定的系統接口上,從而能實現只允許私有網絡訪問某項服務 * 能實現作為其他系統的代理。如果和ip偽裝結合可以實現對內部私有網絡的訪問   它最大的缺點是對RPC支持的不穩定性,但是可以啟動protmap,與xinetd共存來解決這個問題 編譯安裝 可以從www.xinetd.org下載xinetd,當前最新的版本是xinetd 2.1.8.8p3。默認編譯和安裝xinetd是非常簡單的,按照如下的步驟進行: #./configure; make; make install 即可完成。 在進行configure時,可以支持如下幾個有用處的選項: --with-libwrap : 如果使用該選項xinetd將會察看tcpd配置文件(/etc/hosts.{allow, deny})來進行訪問控制,但是如果要利用該功能,系統上必須安裝有tcp_wrapper和相關庫。 --with-loadavg : 使用該選項,xinetd將而已處理max-load配置選項。從而在系統負載過重時關閉某些服務進程,來實現某些DoS攻擊。 --with-inet6 : 使用該選項xinetd將支持IPv6。 如果是是用redhat7.0,則其默認將安裝xinetd,而不需要自行安裝。 配置 xinetd的默認配置文件是/etc/xinetd.conf。其語法和/etc/inetd.conf完全不同且不兼容。它本質上是/etc/inetd.conf和/etc/hosts.allow,/etc/hosts.deny功能的組合。/etc/xinetd.conf中的每一項具有下列形式 service service-name {


     ……。 } 其中service是必需的關鍵字,且屬性表必須用大括號括起來。每一項都定義了由service-name定義的服務。 Service-name是任意的,但通常是標准網絡服務名,也可增加其他非標准的服務,只要它們能通過網絡請求激活,包括localhost自身發出的網絡請求。有很多可以使用的attribute,在下表中進行了詳細的說明。稍後將描述必需的屬性和屬性的使用規則。 操作符可以是=,+=,或-=。所有屬性可以使用=,其作用是分配一個或多個值,某些屬性可以使用+=或-=的形式,其作用分別是將其值增加到某個現存的值表中,或將其值從現存值表中刪除。表10.10中說明了可以用後一種形式的屬性。 Value是為給定屬性設置的參數。 表1 擴展的lnernet服務進程屬性 屬 性 描述和允許值 Socket_type 使用的TCP/IP socket類型,值可能為stream(TCP), dgram(UDP), raw和seqpacket(可靠的有序數據報) protocol 指定該服務使用的協議,其值必須是在/etc/protocols中定義的。如果不指定,使用該項服務的缺省協議。 Server 要激活的進程,必須指定完整路徑 Server_args 指定傳送給該進程的參數,但是不包括服務程序名 Port 定義該項服務相關的端口號。如果該服務在/etc/services中列出,它們必須匹配 Wait 這個屬性有兩個可能的值。如果是yes,那麼xinetd會啟動請的進程並停止處理該項服務的請求直到該進程終止。這是個單線程服務。如果是no,那xinetd會為每個請求啟動的一個進程,而不管先前啟動的進程的狀態。這是個多線程服務 User 設置服務進程的UID,但是若xinetd的有效UID不是0,該屬性無效 Group 設置進程的GID。若xinetd的有效UID不是0,這個屬性無效 Nice 指定進程的nice值 Id 該屬性被用來唯一地指定一項服務。因為有些服務的區別僅僅在於使用不同的協議,因此需要使用該屬性加以區別。默認情況下服務id和服務名相同。如echo同時支持dgram和streama服務。設置id=echo_dgram和id=echo_streams來分別唯一標識兩個服務 Type 可以是下列一個或多個值:RPC(對RPC服務),INTERNAL(由由xinetd自身提供的服務,如echo),UNLISTED(沒有列在標准系統文件如/etc/rpc或/etc/service中的服務) Access_time 設置服務可用時的時間間隔。格式是hh:mm_hh:mm; 如08:00-18:00意味著從8A.M到6P.M.可使用這項服務 Banner 無論該連接是否被允許,當建立連接時就將該文件顯示給客戶機 Flags 可以是以下一個或多個選項的任意組合: REUSE:設置TCP/IP socket可重用。也就是在該服務socket中設置SO_REUSEADDR標志。當中斷並重新啟動xinetd INTERCEPT:截獲數據報進行訪問檢查,以確定它是來自於允許進行連接的位置。不能和INTERNAL服務和多線程服務不可使用該屬性值    NORETRY:如果fork失敗,不重試 IDONLY: 只有在遠程端識別遠程用戶時才接受該連接(也就是遠程系統必須運行ident服務器),該標記只適用於面向連接的服務。若沒有使用USERID記錄選項則該標記無效log_on_success和/或log_on_failure屬性設置USERID值以使該值生效。僅用於多線程的流服務 NAMEINARGS:允許server_args屬性中的第一個參數是進程的完全合格路徑,以允許使用TCP_Wrappers NODELAY:若服務為tcp服務,並且NODELAY標記被設置,則TCP_NODELAY標記將被設置。若服務不是tcp服務則該標記無效 Rpc_version 指定RPC版本號或服務號。版本號可以是一個單值或者一個范圍中如2-3 rpc_number 如果RPC程序號不在/etc/rpc中,就指定它 Env 用空格分開的VAR=VALUE表,其中VAR是一個shell環境變量且VALUE是其設置值。這些值以及xinetd的環境都在激活時傳送給服務程序。這個屬性支持=和+=操作符 Passenv 用空格分開的xinetd環境中的環境變量表,該表在激活時傳遞給服務程序。設置no就不傳送任何變量。該屬性支持所有操作符 Only_from 用空格分開的允許訪問服務的客戶機表。表2種給出客戶機語法。如果不為該屬性指定一個值,就拒絕訪問這項服務。該屬性支持所有操作符。 No_access 用空格分開的拒絕訪問服務的客戶機表。表2給出客戶機語法。該屬性支持所有操作符

Instances 接受一個大於或等於1的整數或UNLIM99vED。設置可同時運行的最大進程數。UNLIM99vED意味著xinetd對該數沒有限制。 Log_type 指定服務log記錄方式,可以為: SYSLOG facility[level]:設置該工具為daemon,auth,user或loca10-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 Redirect 該屬性語法為redirect=Ipaddress port。它把TCP服務重定向到另一個系統。如果使用該屬性,就忽略server屬性 Bind 把一項服務綁定到一個特定端口。語法是bind=Ipaddress。這樣有多個接口(物理的或邏輯的)的主機允許某個接口但不是其他接口上的特定服務(或端口) Log_on_success 指定成功時登



Log_type 指定服務log記錄方式,可以為: SYSLOG facility[level]:設置該工具為daemon,auth,user或loca10-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 Redirect 該屬性語法為redirect=Ipaddress port。它把TCP服務重定向到另一個系統。如果使用該屬性,就忽略server屬性 Bind 把一項服務綁定到一個特定端口。語法是bind=Ipaddress。這樣有多個接口(物理的或邏輯的)的主機允許某個接口但不是其他接口上的特定服務(或端口) Log_on_success 指定成功時登



Copyright © Linux教程網 All Rights Reserved