服务器 频道

FreeBSD,实实在在的选择

  获得并安装FreeBSD

  和大多数自由软件一样,FreeBSD可以从FreeBSD的web站点上下载。很明显,这需要很高的连接速度。不用担心:你可以在世界上的任何地方找到FreeBSD的CD。

  目前(在写本文的时候)的最新发行版是4.6。本文讨论的是i386发行版。

  从CD-ROM(或其它介质)上安装FreeBSD十分简单……虽然它并没有图形界面来完成安装!你将会使用伪图形界面。只需要按照提示做,FreeBSD就会被安装到你的硬盘上。和通常的情况一样,你需要将你的硬盘进行分区,配置一些东西,比如网络连接或者甚至是内核(可选)。下面,你将见到sysinstall,就像它的名字暗示的一样,它是一个很好的安装工具。你可以选择安装全部packages或者仅仅安装一部分。你可以在任何时候用任何方式添加它们。

  它的包管理方式也很简单。你可以象在Solaris下一样使用pkg命令,或者你可以选择使用ports。简而言之,pkg命令就像Linux的rpm或者deb,而ports是一些需要通过make和make install进行编译的文件。换句话说:FreeBSD的操作跟Linux的没有什么大的不同或者有困难的地方。

  让我们安装一个Linux兼容包——你应该安装它:它允许你在FreeBSD上编译和运行Linux的应用程序。所有事情都是很简单的,并且为防万一,FreeBSD准备了一个很好的手册,它详细解释了每一个步骤。并且它有很多语言的版本(译注:在/usr/share/doc目录下可以看见以各个语言命名的目录,不同语言的手册就在相应的目录中)。

  因此,没有必要在这上面花过多时间。

  配置FreeBSD

  再强调一次,我们的这篇文章不可能面面俱到。最重要的是知道核心文件在哪里。跟往常一样,你可以在/etc目录找到它们。它们被命名为rc.something并且可以管理很多不同的部分:常规配置、防火墙、网络、sysctl等。

  rc.conf文件十分重要,正如它的名字一样,可以在这里调整系统配置。在这个文件中你可以告诉系统是否打开某些守护程序(sshd、sendmail等),防火墙类型,你是否想激活内核级安全,你是否想激活IPv6等。在这里有很多选项,令人惊讶的是,你可以在被称作/etc/defaults/rc.conf的默认文件中找到所有它们。不要误会,这个文件包括了默认设置,而不是范例。也就是说,/etc/rc.conf/etc/rc.conf是不考虑这些默认设定的。换句话说就是,不要将/etc/defaults/rc.conf复制到/etc.rc.conf,也不要尝试修改/etc/defaults/rc.conf,应该在/etc/rc.conf中作更改。

  在sysinstall所选择的项目将会被自动加入到/etc/rc.conf中(网卡配置,主机名,安全等级等)。请格外注意:FreeBSD默认没有在/etc/inetd.conf中打开任何服务。这就是说,在第一次启动系统的时候,由inetd管理的守护程序(Daemon)默认应该是关闭的。以我的愚见,每个Unix系统都应该这样。无论如何,这是一个好主意!

  另外的rc文件允许你配置防火墙或者sysctl,以及其他的东西。这理所当然的将我们引导到了调整FreeBSD的话题上。

  调整FreeBSD

  调整系统最好的工具之一是sysctl(在Linux下也一样)。你可以通过命令行来定义某些特殊值,或者(同时也建议你)写一个sysctl.conf文件,除非你使用命令行仅仅是来进行测试。

  比如,如果你的机器被用作网关,通过命令sysctl -w net.inet.ip.forwarding=1可以使sysctl允许IP转发。如果想获得更高的安全性,你可以使用sysctl -w net.inet.ip.check_interface=1命令核对这些包是否到达目标IP所对应的网络界面。你可以通过使用sysctl来控制你的系统的大部分行为:请参见man page。明显地,如果你希望将这些写入sysctl.conf文件,只需要将这些变量加入进去就可以了,而不必加入sysctl命令本身。sysctl.conf文件使用variable = value格式。上面的例子可写为: net.inet.ip.forwarding=1net.inet.ip.check_interface=1当然,你的sysctl.conf文件支持超过两行的文件,因此它几乎可以在内核级控制控制任何东西。

  在本文的开头,我们讨论了安全级。有从-1到3四个不同的等级,3代表最高安全级。建议你在选择之前了解每个等级。使用除了-1或者0之外的其它等级有可能导致系统无法象你希望的那样运行。第一个缺点就是level 1将阻止你正常使用X服务器。你也不能加载或者卸载内核模块。

  无论如何,高安全等级对于需要高安全性的特殊服务器来说是很有用的。作为一个家庭用户,你可以保持level 0,当然,这由你自己决定……

  chflags命令也与安全等级有关。要想了解这个命令,请阅读man page:它是一个很有用的命令。

  如果继续这个话题将把本文写成一个“安全配置FreeBSD”的文章,因此,让我们进入下一个章节。

0
相关文章