首页 百科知识 服务器的安全

服务器的安全

时间:2022-10-11 百科知识 版权反馈
【摘要】:如果Linux系统连接了不止一个网络界面,但是只想让DHCP服务器启动其中之一,则可以配置DHCP服务器只在那个设备上启动。所谓“监牢”就是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。现在dhcpd已经成功运行在“监牢”中。到此为止,一个完整和安全的DHCP服务器就完成了。

8.5.2 DHCP服务器的安全

1.在指定网络接口启动DHCP服务器

如果Linux系统连接了不止一个网络界面,但是只想让DHCP服务器启动其中之一,则可以配置DHCP服务器只在那个设备上启动。在/etc/sysconfig/dhcpd中,把界面的名称添加到DHCPDARGS的列表中:

img410

或者直接使用命令:

img411

这样对于带有两个网卡的防火墙机器,更加安全:一个网卡可以被配置成DHCP客户来从互联网上检索IP地址;另一个网卡可以被用作防火墙之后的内部网络的DHCP服务器。仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接它的守护进程。

2.让DHCP服务器在“监牢”中运行

所谓“监牢”就是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。这样即使出现被破坏或被侵入,所受的损失也较小。

将软件chroot化的一个问题是,该软件运行时需要的所有程序、配置文件和库文件都必须事先安装到chroot目录中,通常称这个目录为chrootjail(chroot监牢)。如果要在“监牢”中运行dhcpd,事实上根本看不到文件系统中那个真正的目录。因此需要事先创建目录,并将dhcpd复制到其中。同时dhcpd需要几个库文件,可以使用ldd(library dependency display缩写)命令,ldd作用是显示一个可执行程序必须使用的共享库。

img412

这意味着还需要在“监牢”中创建lib目录,并将库文件复制到其中。手工完成这一工作是非常麻烦的,此时可以用jail软件包来帮助简化chroot“监牢”建立的过程。

(1)Jail软件的编译和安装

Jail官方网站是:http://www.jmcresearch.com/,最新版本:1.9a。

img413

(2)用jail创建“监牢”

jail软件包提供了几个Perl脚本作为其核心命令,包括mkjailenv,addjaifuser和ad-djailsw.mkjailenv:创建chroot“监牢”目录,并且从真实文件系统中复制基本的软件环境。addjailsw:从真实文件系统中复制二进制可执行文件及其相关的其他文件(包括库文件、辅助性文件和设备文件)到该“监牢”中。addjailuser:创建新的chroot监牢用户。

首先停止目前dhcpd服务,然后建立chroot目录:

img414

实例8-5 为“监牢”添加dhcpd程序

img415

不用在意那些警告信息,因为jail会调用ldd检查dhppd用到的库文件。而几乎所有基于共享库的二进制可执行文件都需要上述的几个库文件。接下来将dhcpd的相关文件复制到“监牢”中:

img416

重新启动dhcpd:

img417

使用ps命令检查dhcpd进程:

img418

注意,此时进程名称已经改变,使用检查dhcpd运行的端口:

img419

端口号没有改变。现在dhcpd已经成功运行在“监牢”中。到此为止,一个完整和安全的DHCP服务器就完成了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈