Quick HOWTO : Ap01 : Miscellaneous Linux Topics/zh

出自Ubuntu中文


目录

介绍

从升级到无头系统再到对其他系统的模仿——某些话题,不管有多重要,却难以恰当地归入任何一章。该附录充当了这些应当知道的事项的参考资料。


Fedora Core 3

在本书即将出版之际发行的Fedora Core 3有以下三点主要的增强:

  • GCC C程序编译器、GNOME和KDE桌面环境、Evolution电子邮件客户端以及CUPS(通用Unix打印系统)管理套件的更新
  • 同时在字符集和字体渲染上支持印度语
  • 增加了增强安全性的Linux系统(SE-Linux)组件的命令行程序

前两条对本书中涉及的内容没有任何影响,但SE Linux则有影响。凡是在SE Linux中注 册了的应用程序,其所有的可执行的程序和数据文件都被列在了数据库中。然后Linux系 统将只根据注册信息数据库中定义的规则来分配存取权限。其意图在于在SE Linux中, 对于一个被黑客控制的已注册的应用程序只能影响它自己的文件而无法影响其他文件, 即便是其它区域中的文件访问权限允许其访问。

如果你把你的应用程序的数据文件放在其默认的位置,SE Linux应该不会影响你的服务器的运作,即使有影响,/var/log/messages文件也会有丰富的警告信息。如果你感觉SE Linux实在是太复杂了,你可以在重新启动系统之前通过编辑/etc/selinux/config文件和设置SELINUX变量来将其禁用。请记住一旦这样做,新创建的文件将不会被加入SE Linux的注册信息数据库中,因此很难再次正确地启用SE Linux。

在Fedora Core 3中,提供了对dhcpd, httpd, named, ntpd, portmap, snmpd, squid和syslogd的SE Linux支持。


带有TCP封装的Linux安全特性

在Fedora Linux中TCP封装包是默认安装的,它提供了不同于运行于服务器或者别处的防火墙的基于主机的安全特性。

该应用程序依靠两个主要的文件:

  • /etc/hosts.allow:定义了允许连接到服务器的主机和网络。TCP封装启动应用程序在这个文件中查找相符的入口,如果找到了,则此连接被允许。
  • /etc/hosts.deny:定义了禁止连接到服务器的主机和网络。如果在此文件中找到了相符的项,则该连接被禁止。没有相符项则意味着该连接在正常进行。

/etc/hosts.allow总是先被读取而且这两个文件总是被从头到尾地读取,可见入口命令十分重要。

TCP封装文件格式

文件格式如下:

<TCP-daemon-name>  <client-list>  : <option>

下面的例子允许从192.168.1.0/24和192.168.2.0/255.255.255.0网络发来的所有的通信以及来自两台主机——172.16.1.1和216.10.119.244的SSH传输。所有的HTTP网络传输均被允许。所有到主机的TCP传输均被禁止。子网掩碼既可使用斜杠命名法又可使用用小数点隔开的十进制数格式如255.255.255.0。

# File: hosts.allow
#
 
ALL:    192.168.1.0/24 192.168.2.0/255.255.255.0
sshd:   172.16.1.1 216.10.119.244
httpd:  ALL
 
#
# File: hosts.deny
#

ALL:    ALL

确定TCP守护进程的名称

最简单的确定守护进程名称的方法是使用ps命令再用grep来过滤服务的名称。下面的例子中很快就确定了SSH服务器进程的守护进程的名称/usr/sbin/sshd。由于TCP封装只需要程序名称而不需要路径,因此sshd成为了放置在TCP-daemon-name所在行入口的配置程序。


[root@bigboy tmp]# ps -ef | grep -i ssh
root     10053  �  1  0 Nov06 ?        00:00:00 /usr/sbin/sshd
root     14145 10053  0 Nov13 ?        00:00:02 sshd: root@pts/1
root     18100 14148  0 21:56 pts/1    00:00:00 grep ssh
[root@bigboy tmp]#


附带的TCP封装帮助文件

关于所有可用选项的完整解释,参看用户手册页面的第五部分的hosts_access。

[root@bigboy tmp]# man 5 hosts_access

TCP封装易于实现,但是你必须对每一台主机进行设置。一个用于保护整个网络的防火墙通常更易于管理。