Redhat 7.x 中xinetd完全指南( 六 )


 ;wait;=;no
 ;Only_from;=;topcat
}

对前两个特定服务类型来说,你只需telnet到所列端口上,即telnet;topcat;9967 。和前两项服务不同,xadmin提供了一个交互环境 。一旦连接到xadmin服务器上,就可执行5个命令 。它们是help,show,;run,bye和exit 。Help命令显示其他命令以及一个简短的用法消息 。Bye和exit命令都关闭这个连接 。Show;run和show;avail命令分别提供servers和services提供的信息 。

警告:像前3段中指出的一样,这些特定服务servers,;services和xadmin产生的信息可用于攻击系统 。可能不需要一直运行这些服务,或许只当你调试时才需要 。在任何时候,如果的确运行了这些服务,要确信用access_from和/或no_access配置了访问控制 。也可以为这些服务使用bind属性以进一步限制访问 。

配置实例
 这节中将看到一些不同的例子,与之相关的行为以及它们产生的登记消息 。

访问控制

从一个简单的访问控制例子开始 。在例10中,服务器topcat的login服务项允许IP地址以172开始但不以172.19开始的任何系统访问 。这个例子包括了defaults部分 。假定这一项用于login服务,且从客户机上用rlogin命令激活,让我们检查成功和不成功企图,以及它们产生的登记 。

假定主机underdog和IP地址是172.18.5.9 。那么当Mary执行rlogin登记topcat时,会给予她访问权 。这相成功的登录如例11所示 。尽管例11说明了Mary的动作产生的log内容 。如例12所示,该例中的最后一项反映了当Mary拆除登录时的退出情况 。可用PID跟踪某次会话的退出,只要你指明这个PID将在/etc/xinetd.conf中登记 。登记项如下:每个xinetd登记项记录日期和时间戳,之后服务器主机名,然后是xinetd,之后在括号中是xinetd的PID 。例12中的第一条记录以start关键字开始,表明这个会话的开始,之后识别的激活进程(login),然后激活进程的PID,最后是客户机地址 。

例10 在/etc/xinetd.conf中rlogin;service项的示例

Defaults
{
 ;Log_type=SYSLOG;loca14;info
 ;Log_on_success=PID;HOST;EXIT;DURATION
 ;Log_on_failure=HOST
 ;instances=8
}

Service;login
{
 ;Socket_type=stream
 ;protocol=tcp
 ;wait=no
 ;user=root
 ;flags=REUSE
 ;Only_from=172.0.0.0
 ;No_access=172.19.0.0
 ;Olg_on_success =USERID
 ;Olg_on_failure =USERID
 ;server=/usr/sbin/in.ftpd
 ;Server_args=-1;–a
}


例11;成功的rlogin企图

[mary@underdog]$;rlogin;topcat
password:
last;login:Wed;Apr;14;17:45:02;from;roadrunner
[mary@topcat]$


例12 和例11相关的登记项
Apr;15;11:01:46;topcat;xinetd[1402]:START:login;pid=1439
From=172.18.5.9
Apr;15;11:01:46;topcat;xinetd[1439]:USERID:login;OTHER:mary



apr;15;11:39:31;topcat;xinetd[1402]:EXIT:login;status:1;pid=1439;dura-tion=2265(sec)

第2项以USERID关键字开始,表明成功地发出了RFC1413调用 。之后是服务名(login),远程系统对RFC1413调用(此时为OTHER)的响应,最后远程用户名(mary) 。

这些log项的含义是很清楚的,但表4提供了这些关键字(如START,USERID和EXIT)和其含义的解释 。

现在假定Joe想在主机sly.no.good.org(IP地址为19.152.1.5)上使用rlogin 。例13显示了这一结果 。看上去Joe连接被拒绝,或者可能他想强入 。让我们看一看例14中的这三次企图所产生的登记项 。注意登记项不包括远程用户名,尽管我们在例10中用log_on_failure属性特别请求那个信息 。这是因为远程主机sly.no.good.org没有运行identd或类似进程 。因为主机sly.no.good.org不在例10中的only_from表中,尽管在login服务项中增加了flags=IDONLY一项,它不会记录sly.no.good.org没有运行identd的事实 。仅当主机得到许可时,这样一项登记记录才会出现 。

推荐阅读