1,342 瀏覽數

Xinted

首先先來解釋一些相關名詞

  • Daemon:
    是一種專門傾聽通訊埠動靜的軟體,例如;http daemon(httpd)他會傾聽port 80.以等待client提出需求.至於哪些daemon傾聽哪些埠,在 /etc/service 中都有定義.
  • Inted:
    Internet superdaemon ,通常某些 daemon不啟動去傾聽通訊埠,而是由Inted去傾聽,再由Inted去喚醒daemon,執行使用者的需求.已經被 Xinetd 所取代.
  • Xinted:
    eXteneded initd 加強版的Inetd,內建 TCP Wrapper 的相似功能.
  • TCP Wrapper:
    用來管理網路存取控制,由 /etc/hosts.allow & /etc/hosts.deny 的條件作為限制

啟動 Xinetd  下的 daemon 服務是否啟動 

[root@benjr ~]# chkconfig –list
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
xinetd based services:
chargen-udp: off
talk: off
telnet: off
wu-ftpd: off

經由 xinetd 來啟動服務的 daemon 都會掛在 xinetd based services: 之下,如 telnet , wu-ftpd …..

啟動 Daemon (以 telnet 為範例),首先要先確認 xinetd 在目前執行 的 run level 有開啟,如上例中 xinetd 在 run level 3,4,5 都是開啟的如果未開啟請先將 xinetd 開啟.

[root@benjr ~]# chkconfig xinetd on
[root@benjr ~]# service xinetd start

光執行 #chkconfig xinetd on 只會在開機時生效(執行 #chkconfig xinetd on 指令後系統會去修改 /etc/rc.d/rc?.d “? 由0,1,2,3,4,5,6 代表不同的 run level",對 run level 有興趣的可以參考 Linux開機流程 , 所以要立即開啟服務便要執行

[root@benjr ~]# service xinetd start

接下來開啟 tetlnet

[root@benjr ~]# chkconfig telnet on

此時 telnet 就啟動了,檢查一下是否如此

[root@benjr ~]# chkconfig –list
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
xinetd based services:
chargen-udp: off
talk: off
 telnet: on
wu-ftpd: off

可以看到 telnet 由 off 變 on 了,如果還是不能使用 telnet 那就手動執行  /etc/init.d/xinetd reload or #service xinetd reload 指令來重新載入設定檔.

Xinetd 的設定檔
首先先來看看 /etc/xinetd.conf 設定檔

[root@benjr ~]# vi  /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

先看看最後一行 includedir /etc/xinetd.d 這目錄下有什麼嗎?

[root@benjr ~]# ll /etc/xinetd.d
total 72
-rw-r–r–    1 root     root          295 Jul 12 20:32 chargen
-rw-r–r–    1 root     root          315 Jul 12 20:32 chargen-udp
-rw-r–r–    1 root     root          295 Jul 12 20:32 daytime
-rw-r–r–    1 root     root          315 Jul 12 20:32 daytime-udp
-rw-r–r–    1 root     root          287 Jul 12 20:32 echo
-rw-r–r–    1 root     root          306 Jul 12 20:32 echo-udp
-rw-r–r–    1 root     root          317 Jul 12 20:32 finger
-rw-r–r–    1 root     root          257 Jul 12 20:32 ntalk
-rw-r–r–    1 root     root          359 Jul 12 20:32 rexec
-rw-r–r–    1 root     root          376 Jul 12 20:32 rlogin
-rw-r–r–    1 root     root          429 Jul 12 20:32 rsh
-rw-r–r–    1 root     root          317 Jul 12 20:32 rsync
-rw-r–r–    1 root     root          406 Jul 12 20:32 sgi_fam
-rw-r–r–    1 root     root          245 Jul 12 20:32 talk
-rw-r–r–    1 root     root          302 Jul 12 20:32 telnet
-rw-r–r–    1 root     root          319 Jul 12 20:32 time
-rw-r–r–    1 root     root          315 Jul 12 20:32 time-udp
-rw-r–r–    1 root     root          361 Jul 12 20:32 wu-ftpd

所有經由Xinetd所啟動的 daemon 設定檔都存放在這,也就是想用 Xinetd 來啟動 daemon 的都必須將設定檔放在這裡,那 Xinetd 怎知要將哪一個服務給誰,那就要參閱 /etc/services daemon 與 port number 相對應的關係.至於各個daemon的設定檔可以參考 telnet 的設定

再回頭看 /etc/xinetd.conf 檔的內容

  • instances = 60
    每種daemon的行程個數上限
  • log_type = SYSLOG authpriv
    依據 /etc/syslog.conf 檔的 authpriv訊息指定的日誌檔是存放在 /var/log/secure
  • log_on_success  = HOST PID
    當連線成功時,紀錄用戶端的主機名稱及帳號
  • log_on_failure  = HOST
    當連線失敗時,只紀錄用戶端的主機名稱
  • cps   = 5 30
    限制最多可同時接受連線數為5個,當超過此限制時該 daemon 將關閉30秒.為了檢視這項功能你可以在 window下寫一個 bat file,或在 linux 下寫個 script.
    ex:
    I.window下寫一個 telnet.bat 檔
    start telnet 10.6.101.59
    start telnet 10.6.101.59
    start telnet 10.6.101.59
    start telnet 10.6.101.59

    start telnet 10.6.101.59
    start telnet 10.6.101.59
    執行 telnet.bat
    你會發現只有前面 5 個 telnet 會執行,其他的都被拒絕.

類似 TCP Wrapper 的功能的設定
no_access  = 0.0.0.0/0
用以取代 /etc/hosts.deny 的功能.
only_from = client_list
用以取代 /etc/hosts.allow 的功能.他的效力高過no_access,因為xinetd會先檢查此檔.
還有其他的設定
disabled = telnet ftp
停止telnet,ftp 的daemon.名稱必須和/etc/services 相配合
instsances =  30

2 個網友的想法 “Xinted

  1. 自動參照通知: services | Benjr.tw

  2. 自動參照通知: 安全性 | Benjr.tw

發表迴響