⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 866.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 5 页
字号:
例5 /etc/xinetd.conf中services项示例 <br>
<br>
Service services <br>
{ <br>
    type = INTERNAL UNLISTED <br>
    Socket_type = stream <br>
    protocol = tcp <br>
    port = 8099 <br>
    wait = no <br>
    Only_ from = topcat <br>
} <br>
<br>
对于servers服务来说,任何用户可执行telnet topcat 8099,并获得来自services服务的输出。例6给出了连接8099端口的实例信息信息。注意xinetd仅提供这条信息就退出,而不提供任何交互连接。 <br>
<br>
例6 查询services内部服务的输出 <br>
<br>
$ telnet topcat 8099 <br>
Trying 172.17.33.111…… <br>
Connected to topcat. <br>
Escape character is ‘^]’ <br>
Servers tcp 9997 <br>
Services tcp 8099 <br>
ftp tcp 21 <br>
telnet tcp 23 <br>
Shell tcp 514 <br>
Login tcp 513 <br>
Talk udp 517 <br>
Ntalk udp 518 <br>
Pop-2 tcp 109 <br>
Pop-3 tcp 110 <br>
Imap tcp 143 <br>
Linuxconf tcp 98 <br>
Connection closed by foreign host. <br>
$ <br>
<br>
Xadmin项 <br>
<br>
这个特定服务项提供以交互方式获得services特定服务所提供信息的方法。例7是/etc/xinetd.conf项的一个示例(端口号的选择也是任意的),类似于services和servers服务,这项服务也没有口令或其他保护,所以要谨慎设置服务的only_from项,以增强安全性。 <br>
<br>
例7 xadmin项 <br>
<br>
Service xadmin <br>
{ <br>
    type = INTERNAL UNLISTED <br>
    socket_type = stream <br>
    protocol = tcp <br>
    port = 9967 <br>
    wait = no <br>
    Only_from = topcat <br>
} <br>
<br>
对前两个特定服务类型来说,你只需telnet到所列端口上,即telnet topcat 9967。和前两项服务不同,xadmin提供了一个交互环境。一旦连接到xadmin服务器上,就可执行5个命令。它们是help,show, run,bye和exit。Help命令显示其他命令以及一个简短的用法消息。Bye和exit命令都关闭这个连接。Show run和show avail命令分别提供servers和services提供的信息。 <br>
<br>
警告:像前3段中指出的一样,这些特定服务servers, services和xadmin产生的信息可用于攻击系统。可能不需要一直运行这些服务,或许只当你调试时才需要。在任何时候,如果的确运行了这些服务,要确信用access_from和/或no_access配置了访问控制。也可以为这些服务使用bind属性以进一步限制访问。 <br>
<br>
配置实例 <br>
 这节中将看到一些不同的例子,与之相关的行为以及它们产生的登记消息。 <br>
<br>
访问控制 <br>
<br>
从一个简单的访问控制例子开始。在例10中,服务器topcat的login服务项允许IP地址以172开始但不以172.19开始的任何系统访问。这个例子包括了defaults部分。假定这一项用于login服务,且从客户机上用rlogin命令激活,让我们检查成功和不成功企图,以及它们产生的登记。 <br>
<br>
假定主机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,最后是客户机地址。 <br>
<br>
例10 在/etc/xinetd.conf中rlogin service项的示例 <br>
<br>
Defaults <br>
{ <br>
    Log_type=SYSLOG loca14 info <br>
    Log_on_success=PID HOST EXIT DURATION <br>
    Log_on_failure=HOST <br>
    instances=8 <br>
} <br>
<br>
Service login <br>
{ <br>
    Socket_type=stream <br>
    protocol=tcp <br>
    wait=no <br>
    user=root <br>
    flags=REUSE <br>
    Only_from=172.0.0.0 <br>
    No_access=172.19.0.0 <br>
    Olg_on_success+=USERID <br>
    Olg_on_failure+=USERID <br>
    server=/usr/sbin/in.ftpd <br>
    Server_args=-1 –a <br>
} <br>
<br>
<br>
例11 成功的rlogin企图 <br>
<br>
[mary@underdog]$ rlogin topcat <br>
password: <br>
last login:Wed Apr 14 17:45:02 from roadrunner <br>
[mary@topcat]$ <br>
<br>
<br>
例12 和例11相关的登记项 <br>
Apr 15 11:01:46 topcat xinetd[1402]:START:login pid=1439 <br>
From=172.18.5.9 <br>
Apr 15 11:01:46 topcat xinetd[1439]:USERID:login OTHER:mary <br>
… <br>
<br>
… <br>
apr 15 11:39:31 topcat xinetd[1402]:EXIT:login status:1 pid=1439 dura-tion=2265(sec) <br>
<br>
第2项以USERID关键字开始,表明成功地发出了RFC1413调用。之后是服务名(login),远程系统对RFC1413调用(此时为OTHER)的响应,最后远程用户名(mary)。 <br>
<br>
这些log项的含义是很清楚的,但表4提供了这些关键字(如START,USERID和EXIT)和其含义的解释。 <br>
<br>
现在假定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的事实。仅当主机得到许可时,这样一项登记记录才会出现。 <br>
<br>
表4 xinetd登记项的描述 <br>
<br>
登记关键词 <br>
格式和描述 <br>
<br>
START <br>
START:service_id[pid=PID][from=Ipaddress] <br>
<br>
当启动一项服务时记录该项。Service_id是服务名,像id属性指定的一样(如果不明确设置这个属性,它采用该服务参数的值:参看表10.10);PID是被激活进程的标识符,或者如果没有进程被激活,就为0(仅不灵log_on_ <br>
<br>
<br>
Success指定了PID时才记录):Ipaddress是客户机的IP地址(仅当HOST是log_on_success时才记录) <br>
<br>
EXIT <br>
EXIT:service_id[type=s][pid=PID][duration=#(sec)] <br>
<br>
仅当为log_on_success指定了EXIT时,若进程终止就记录这项。Service_id和PID项和以前一样。Type项记录退出状态或产生终止的信号。Duration捕获会话时间(秒数)且需要在log_on_success中说明DURATION选项 <br>
<br>
FAIL <br>
FAIL:service_id reason[from=Ipaddress] <br>
<br>
当失败的请求发生且至少为log_on_success属性指定了一个值时生成该项。Service_id如前。Reason是一个解释失败原因的简单词或短语。Ipaddress是客户机地址且需要为log_on_success属性设置HOST值才出现。 <br>
<br>
DATA <br>
DATA:service_id data <br>
<br>
仅当为log_on_failure指定了RECORD时才记录。Service_id如前。记录的data取决于服务,但通常包括远程用户名(如果可得到)和状态信息 <br>
<br>
USERID <br>
USERID:service_id text <br>
<br>
仅当为log_on_success或log_on_failure或者指定了USERID时,才记录这个住处。Service_id如前。Text包括客户机对RFC1413调用的响应且特别是远程用户名 <br>
<br>
NOID <br>
NOID:service_id Ipaddress reason <br>
<br>
仅当为flags属性设置了IDONLY值且至少为log_on_success或log_on_failure设置了USERID值时该项出现。Service_id如前。给出的Ipaddress是主机地址。Reason是失败状态 <br>
<br>
<br>
例13 来自未授权主机的失败rlogin企图 <br>
<br>
Sly.no.good.org $ rlogin topcat <br>
Topcat:Connection reset by peer <br>
Sly.no.good.org $ rlogin –1 paul topcat <br>
Topcat:Connection reset by peer <br>
Sly.no.good.org $ rlogin –1 mary topcat <br>
Topcat:Connection reset by peer <br>
Sly.no.good.org $ <br>
<br>
<br>
例 14 和例10-50相关的登记项 <br>
<br>
Apr 15 12:08:40 topcat xinetd[1402]:FAIL:login address from-19.152.1.5 <br>
Apr 15 12:08:52 topcat xinetd[1402]:FAIL:login address from-19.152.1.5 <br>
Apr 15 12:08:49 topcat xinetd[1402]:FAIL:login address from-19.152.1.5 <br>
<br>
<br>
有一个最后登记项要检查。注意例10中的instances属性设置为8。对第9个登录会话会发生什么?当第9个用户试图rlogin到topcat时,那个用户会看到下列错误消息 <br>
<br>
rcmd:topcat:address already in use <br>
<br>
并且topcat中为这一事件记录的登记项是 <br>
<br>
Apr 15 13:37:33 topcat xinetd(1402):FAIL:login service_limit from-172.17.55.124 <br>
<br>
把这个记录和表4中的描述相对照,FAIL关键字之后是服务名,然后是对失败的解释(此时为service_limit),最后是客户机地址。 <br>
<br>
<br>
<br>
使用bind属性 <br>
 bind属性允许把一个特定接口的IP地址和一个特定的服务关联。假定有一个内部ftp服务器,它通过匿名ftp为公司职员提供只读资源。再假定这个ftp服务器有两个接口,一个连接在公司环境中,另一个连接到专用内部网,通常只有在那个特定组中工作的职员可访问它。尽这个例子中只考虑基于接口提供两个不同ftp服务的需求。例15在/etc/xinetd.conf中说明了两个ftp服务项。它可以实现所期望的功能。出于完整性再次提供了 defaults部分。 <br>
<br>
注意每个ftp服务项有一个唯一的id属性。对有相同名字的服务数目没有任何限制,只要每个有唯一的标识符。在这个例子中,为内部ftp服务器设置id属性为ftp,为外部匿名服务器设置id属性为ftp_chroot。注意在后一种情况下,激活的进程是 /usr/sbin/anon/in.aftpd(对TCP_Wrappers来说是twist),这和以前的服务是不同的。 <br>
<br>
例15 把服务绑定到特定地址上 <br>
<br>
Defaults <br>
{ <br>
    Log_type=SYSLOG loca14 info <br>
    Log_on_success=PID HOST EXIT DURATION <br>
    Instances=8 <br>
} <br>
<br>
Service ftp <br>
{ <br>
    id=ftp <br>
    Socket_type=stream <br>
    protocol=tcp <br>
    wait=no <br>
    user=root <br>
    Only_from=172.17.0.0 172.19.0.0/20 <br>
    bind=172.17.1.1 <br>
    Log_on_success+=USERID <br>
    Log_on_failure+=USERID <br>
    server=/usr/sbin/in.ftpd <br>
    Server_args=-1 –a <br>
} <br>
<br>
Service ftp <br>
{ <br>
    id=ftp_chroot <br>
    Socket_type=stream <br>
} <br>
<br>
<br>
Service telnet <br>
{ <br>
    Socket_type=stream <br>
    Wait=no <br>
    flags=REUSE <br>
    user=root <br>
    bind=172.17.33.111 <br>
    server=usr/sbin/in.telnetd <br>
    Log_on_success=PID HOST EXIT DURATION USERID <br>
    Log_on_failure=RECORD HOST <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -