Linux服务器平台的安全保护 (2) |
发布时间: 2012/8/15 18:14:13 |
S15sound (保存声卡设置) S15netfs (NFS客户端,用于从NFS服务器安装文件系统) S20rstatd (向远程用户泄露过多信息) S20rusersd S20rwhod S20rwalld S20bootparamd (用于无盘客户端,通常都不需要) S25squid (代理服务器) S34yppasswdd (如果系统运行NIS服务器,则必需此服务) S35ypserv (如果系统运行NIS服务器,则必需此服务) S35dhcpd (启动DHCP服务器守护进程) S40atd (at服务,类似cron服务,但系统通常不需要) S45pcmcia (仅有笔记本电脑才需要) S50snmpd (SNMP守护进程,向远程用户泄露过多信息) S55named (DNS服务器。如果需要运行DNS,请升级到最新版本) S55routed (RIP,仅在必需时才应该启动) S60lpd (打印服务) S60mars-nwe (Netware文件和打印服务器) S60nfs (用于NFS服务器。除非必须,此服务不应运行) S72amd (AutoMount守护进程,用于自动安装远程文件系统) S75gated (用于运行其它路由协议,例如OSPF) S80sendmail (如果不需要接收或转发电子邮件应关闭。此时仍可发送电子邮件) S85httpd (Apache服务器,建议升级到最新版本) S87ypbind (仅有NIS客户端才需要) S90xfs (X Windows系统字体服务器 S95innd (News服务器) S99linuxconf (通过浏览器远程配置Linux系统) 要想在修改启动脚本前了解有多少服务正在运行,输入: ps aux | wc -l 然后修改启动脚本后,重启系统,再次输入上面的命令,就可计算出减少了多少项服务。越少服务在运行,安全性就越好。另外运行以下命令可以了解还有多少服务在运行: netstat -na --ip 3、日志和系统调整 在尽可能多地取消服务后,下一步就是配置系统日志了。所有的系统日志存放在/var/log目录下。缺省时,Linux有不错的日志设置,除了ftp。有两种方法记录ftp的日志,配置/etc/ftpaccess文件或编辑/etc/inetd.conf。建议采用相对简单的编辑/etc/inetd.conf文件的方法。通过编辑/etc/inetd.conf文件如下,可以记录所有FTP会话的所有日志。 ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -L -i -o --- 以下选自ftp手册页 --- 如果指定-l参数,syslog会记录每一个ftp会话。 如果指定-L参数,缺省时一旦FTP服务器被调用,命令日志就会激活。这将使服务器记录下所有的USER命令。注意,此时如果一个用户偶然性地在用户名输入时输入了口令,该口令会被syslog记录下来! 如果指定-i参数,ftpd服务器接收到的文件都会被记录到xferlog。 如果指定-o参数,ftpd服务器发送的文件都会被记录到xferlog。 --- snip snip --- 下一步配置是系统调整。这包括了多个文件的管理。第一件事情是确保/etc/passwd文件的安全。首先要确认系统使用了/etc/shadow文件,此保存了所有用户口令密文的文件仅允许root根用户访问,这可以阻止用户口令轻易地被访问和破解。Red Hat 6.0缺省时使用了shadow口令系统,但务必要检查确定。只要运行以下命令,就会将口令系统自动转换到/etc/shadow口令系统: pwconv 第二步是删除/etc/passwd文件中许多缺省的系统帐号。Linux提供这些帐号主要是用于许多其实极少需要的系统操作。如果不需要这些帐号,删除它们。帐号越多,系统被入侵的可能性就越大。例如"news"帐号,如果不运行nntp新闻组服务器,就不需要该帐号(注意要更新/etc/cron.hourly文件,因为脚本中涉及到了"news"用户)。另外,一定要删除"ftp"帐号,因为该帐号仅用于匿名FTP访问。 我们还要修改/etc/ftpusers文件。任何被列入该文件的帐号将不能ftp到本系统。通常用于限制系统帐号,例如root和bin等,禁止这些帐号的FTP会话。缺省时Linux已创建了该文件。一定要确保root根用户被包含在该文件中,以禁止root与系统的ftp会话。检查并确认需要FTP到该防火墙的所有帐号**不**在/etc/ftpusers文件中。 另外,确保根用户root不能telnet到系统。这强迫用户用其普通帐号登录到系统,然后再su成为root。/etc/securetty文件列出了root所能连接的tty终端。 将tty1、tty2等列入该文件中,使root用户只能从本地登录到系统中。ttyp1、ttyp2等是pseudo(虚拟)终端,它们允许root远程telnet到系统中。 最后,创建/etc/issue文件。该ASCII文本文件用于在所有telnet登录时显示的信息。当试图登录到系统中时,该文件中的警告信息将被显示。在Linux系统中要修改/etc/rc.d/init.d/S99local脚本文件,以生成固定的/etc/issue文件。 因为缺省时Linux在每次启动时都生成新的/etc/issue文件。 4、连接到防火墙 通过安全可控的途径连接到防火墙也是非常重要的。通常,我们需要远程访问防火墙以进行管理或上载文件。这些通讯需要考虑安全性。在这里我们主要讨论两种方式:ssh和TCP Wrappers。 我个人推荐ssh,因为它使在我们和防火墙之间的通讯都是经过加密的。TCP Wrappers不能保证网络通讯不被窃听,使用户仍然有可能捕获通过网络传送的明文口令。如果你担心被其它用户窃听你和防火墙之间的通讯,推荐用ssh替代telnet/ftp。ssh会话对其所有网络通讯进行加密,使在防火墙上的管理和文件上载变得更安全。ssh和TCP Wrappers的相似之处是有自己的日志文件功能,并能限制哪些系统可以创建网络连接。建议使用1.2.x版本的ssh,因为2.x版本有版权限制。对于Windows 95/NT用户,推荐用SecureCRT作为ssh客户端。 TCP Wrappers,虽然不支持加密,但它提供日志功能和控制何人能访问系统。它通常用于为inetd中的服务,例如telnet或ftp,添加一层限制。当使用TCP Wrappers时,系统通过它来监视inetd进程创建的连接,记录
本文出自:亿恩科技【www.enkj.com】 |