一、当在一台PC机上安装了Linux系统,你就拥有了一个强大的、高级的、多任务的网络操作系统。但时候该系统功能有些过于强大了些。某些发布版本缺省启动很多服务(如:rlogind,inetd,httpd,innd,fingerd,timed,rhsd,等等)。作为系统管理员需要熟悉了解这些服务。若机器连接了Internet,就更需要关自己系统的安全。
大多数攻击者并不是一个革新者,他们往往利用最新的公布的系统工具技术等突破一个所周知的或一个新的刚刚发现的安全漏洞。但作为一个管理者,通过访问你使用的Linux发布的官方站点如www.redhat.com、www.calderasystems.com等可以获知最新的安全漏洞及相应的补丁程序。也可以通过定期访问www.securityfocus.com、www.cert.org等安全漏洞通告站点。
控制访问服务器的最方便的方法是通过一个叫TCPwrapper的程序。在大多数发布版本中该程序往往是缺省地被安装。利用TCPwrapper你可以限制访问前面提到的某些服务。而且TCPwrapper的记录文件记录了所有的企图访问你的系统的行为。通过last命令查看该程序的log,管理员可以获知谁企图连接你的系统。
在Linux的/etc目录下,有一个如下所示inetd.conf文件,该文件是TCP wrapper的配置文件,定义了TCPwrapper可以控制启动哪些服务。比如要将finger服务去除,就将finger服务的那一行注释掉(在前面 加上"# "即可);
# inetd。conf This file describes the services that will be available
# through the INETD TCP/IP super server. To re-configure
# the running INETD process, edit this file, then send the
# INETD process a SIGHUP signal。
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
# telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
# Finger, systat and netstat give out user information which may # be
...............
但是对于诸如sendmail,named等服务,由于它们不象finger,telnet等服务,在请求到来时由inet守护进程启动相应的进程提供服务,而是在系统启动时,单独作为守护进程运行的。在slackware版本的Linux,可以通过修改/etc/rc.d目录下的启动配置文件rc.M文件,将启动sendmail的命令行注释掉:
#!/bin/sh
# rc。M This file is executed by init(8) when the system is being
# initialized for one of the "multi user" run levels (i.E.
# levels 1 through 6). It usually does mounting of file
# systems et al.
# Start the sendmail daemon:
# if [ -x /usr/sbin/sendmail ]; then
# echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q 15m)… "
# /usr/sbin/sendmail -bd -q 15m
# fi
............