76 FreeBSD连载:设置基本系统( 六 )


## $Id: inetd.conf,v 1.30 1998/09/30 16:12:40 wosch Exp $## Internet server configuration database## @(#)inetd.conf 5.4 (Berkeley) 6/30/90#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -ltelnet stream tcp nowait root /usr/libexec/telnetd telnetdshell stream tcp nowait root /usr/libexec/rshd rshdlogin stream tcp nowait root /usr/libexec/rlogind rlogindfinger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s#exec stream tcp nowait root /usr/libexec/rexecd rexecd#uucpd stream tcp nowait root /usr/libexec/uucpd uucpd#nntp stream tcp nowait usenet /usr/libexec/nntpd nntpdcomsat dgram udp wait root /usr/libexec/comsat comsatntalk dgram udp wait root /usr/libexec/ntalkd ntalkd这个文件中的每一行对应一个服务程序 。为了增强系统安全,建议除了必要的服务,如telnetd、ftpd之外,其他比如rshd、rlogind等r命令服务程序,fingerd等守护进程都应该加以注释 。telnet和ftp也应该与S/key等认证方式相结合,来保证口令的安全性 。除非需要,不要提供匿名ftp服务 。
当使用rlogin,rsh等r命令的时候,/etc/hosts.equiv文件和用户个人目录下的.rhosts文件中的设置将对系统安全有严重的影响 。
如果要求更安全的系统,甚至可以屏蔽inetd,不使用inetd来提供任何服务,通过其他安全途径来完成远程访问FreeBSD 。要屏蔽inetd,需要在rc.conf中改变inetd_enable变量的值为NO 。即使使用inetd的时候,最好让inetd记录相关日志,这需要使用参数-l启动inetd,在rc.conf中可以设置inetd_flags为”-l” 。
当需要启动某个守护进程的时候,inetd.conf中的第五列参数对安全性有重要影响,这个参数设置启动这个进程的用户标识,应该尽量不要使用root用户,以减少具备root身份的进程 。
为了避免服务程序出现问题,还要经常更新软件的版本,或应用补丁程序,以堵上可能出现的漏洞,因此有些服务程序的老版本存在已经发现的安全问题,如果不及时弥补,入侵者就能利用这些漏洞达到入侵系统的目的 。虽然每个FreeBSD版本使用的都是最新版本的服务软件,但服务器软件是不断升级的,因此就需要及时升级服务器软件 。
在inetd启动的服务中,telnetd和ftpd是最重要的两个,它们提供最基本的网络服务 。telnetd本身的安全问题较少,与它相关的安全问题有访问认证问题,可以通过S/key,login.access等方式加以保护,而ftpd则的安全问题就更为敏感一些 。
如果需要启动ftp服务,虽然在inetd.conf中启动ftpd已经使用了-l参数,使ftpd将日志记录发送给syslogd,但是还需要配置syslogd才能接收ftpd发送的记录 。如果/etc/syslog.conf文件中没有下面的设置行用于记录ftp的日志,请修改syslog.conf加入 。
ftp.* /var/log/ftpd然后还需要执行下列命令,使得syslogd重新启动,使其能开始记录下ftpd发送的记录信息 。
# touch /var/log/ftpd# killall -HUP syslogdftp对访问进行了种种限制,这些限制对于网络安全都是非常重要的,当用户的shell不在/etc/shells中的时候,ftp拒绝提供服务,当用户的用户名位于/etc/ftpusers文件中时,或者是/etc/ftpusers中记录的组的成员,ftp同样也拒绝提供服务,这样就对使用ftp的用户进行了限制,尤其对于安全敏感的用户 。如果/var/run/nologin文件存在时,ftp将拒绝一切用户访问 。
ftp认证是通过标准认证过程进行的,因此也可以使用S/key等安全认证的方式 。同样,/etc/ftphosts可以设置对来自不同位置的主机访问ftp服务的限制 。
很多情况下需要FreeBSD服务器提供匿名ftp服务功能,如果此时普通用户能通过更安全的方法访问系统,就应该屏蔽普通用户使用ftp服务的权力,而只允许匿名ftp,可以使用-A选项启动ftp服务器,此时ftp将拒绝正常用户登录,避免ftp服务器出现安全问题的可能性及减少安全问题的影响 。当使用-S选项时,ftp将所有匿名访问的传输日志也记录在/var/log/ftpd文件中 。这两个选项对于提供匿名ftp服务非常有用 。对于提供匿名ftp的服务器,还可以不再使用FreeBSD提供的ftpd服务器,而使用wuftpd或ncftpd等其他种类的ftp服务器,同样也需要针对这些服务器设置其安全性 。

推荐阅读