分类:
2008-04-09 08:29:20
Internet 守护程序 /usr/sbin/inetd 是许多 Internet Services 的主服务器。
在引导过程中,inetd 守护程序通常是由 /sbin/init.d/inetd 脚本自动启动的。
inetd 守护程序监视对 /etc/inetd.conf 配置文件中列出的服务的连接请求,同时该守护程序在接收到请求的时候产生相应的服务器。也就是说,用户使用诸如 telnet 的 Internet Services 与远程系统连接。inetd 守护程序在连接完成之前确定是否允许来自主机的 telnet 连接。允许或者拒绝访问的主机信息保存在 /var/adm/inetd.sec 文件中。
inetd 守护程序的工作方式如下:
系统引导过程中,在运行级别 2 启动(如果以下命令在系统启动脚本中:/sbin/init.d/inetd start)。
则请检查 /etc/inetd.conf 以确定提供哪些服务。有关详细信息,请参阅 ftp(1) 和 inetd.conf(4)。
检查 /etc/services 以确定对哪个端口监视在 /etc/inetd.conf 中列出的服务。/etc/services 文件将服务名称映射到端口号。有关详细信息,请参阅 services(4)。
接收来自客户端的 Internet Services 连接请求。例如,运行 telnet。
请查阅 /var/adm/inetd.sec 以确定是否允许客户端访问。有关详细信息,请参阅 inetd.sec(4)。
如果启用了日志记录,则将请求记录在 /var/adm/syslog/syslog.log 中。有关详细信息,请参阅 syslogd(1M)。
如果 inetd 由于安全原因拒绝连接,则连接将被关闭。
如果连接请求有效,则 inetd 会启动一个服务器进程来处理有效的连接请求。除了 inetd 之外,服务器进程还可以具有其他安全功能。
保护 inetd |
/etc/inetd.conf 文件是 inetd 配置文件,该文件列出了 inetd 守护程序可以启动的服务。在 /etc/inetd.conf 中列出的每个服务也都必须出现在 /etc/services 文件中。/etc/services 文件将服务名称映射到端口号。每个端口号都有一个相关的协议名称,例如 tcp 或 udp。协议的每个条目必须在 /etc/protocols 文件中有一个与之匹配的条目。
下列建议可以使 inetd 更加安全:
启用 /etc/rc.config.d/netdaemons 中的 inetd 登录。有关详细信息,请参阅 rc.config.d(4)。
查看 /etc/inetd.conf 和 /etc/services 中的更改。未经授权的用户可能获得超级用户访问权限从而修改了 /etc/services 和 /etc/inetd.conf 文件。在 /etc/inetd.conf 中,查找未使用的服务的名称。在 /etc/services 中,查找未由 Internet 编号分配机构(Internet Assigned Numbers Authority,IANA)在 注册的端口号。验证列出的 Internet Services 的端口号是否与 LANA 注册的端口号相匹配。
在 /etc/inetd.conf 中注释掉不需要的服务,例如 finger。finger 命令在不需要口令的情况下显示用户信息。
在 /etc/inetd.conf 中注释掉远程过程调用 (RPC)。
在 /etc/inetd.conf 中注释掉 inetd“内部日常”服务,以避免拒绝服务攻击。恶意用户可能会使用 chargen(字符生成器)请求使 inetd 超负荷。有关详细信息,请参阅 inetd(1M) 和 inetd.conf(4)。
除配置 /etc/inetd.conf 文件外,还可以配置一个称为 /var/adm/inetd.sec 的可选安全文件,以限制对 inetd 启动的服务的访问。/var/adm/inetd.sec 文件列出了允许或者拒绝访问每个服务的主机。有关详细信息,请参阅 inetd.conf(4)。
例如:
login allow 10.3-5 192.34.56.5 ahost anetwork
login deny 192.54.24.5 cory.example.edu.testlan