防火墙和路由器-Devil-Linux
2010-10-08 08:44:53 阿炯

Devil-Linux是一份特别的Linux发行,它用于防火墙和路由器场合。Devil-Linux的目标是拥有一份小巧、可定制的而且安全的 Linux。Devil-Linux将来会远远不只是一套普通的路由器,我们将提供很多其他的服务,但这份发行仍将是简易的并且维护起来会很快。

Devil-Linux is a CD-based Linux distribution for firewalls and routers. The goal of Devil-Linux is to have a small, customizable and secure (what is secure on the Internet?) Linux. The future of Devil-Linux will go far beyond an ordinary router, we will provide a lot of other services, but the distribution will still be easy and fast to maintain.

Devil-Linux最初的设计用途是作为专业的Linux防火墙/路由,Devil-Linux官方网站也宣称Devil-Linux是市场上最好的Linux防火墙。实际上Devil-Linux目前的使用者大多数为 SOHO 一族和IT Administrators。它具有非常多值得关注的优点:

特点
1.Devil-Linux完全由光盘启动,整个系统除了配置文件之外,全部制作在一张光盘里面。无需硬盘的光盘启动模式的Linux意味着很高程度上的安全,因为一些Linux下的黑客程序如“ROOTKIT”将无法在这个系统中安装。

2. Devil-Linux也可以由USB移动存储设备启动。在没有安装CDROM的计算机里,只要接入USB移动存储设备亦可启动Devil-Linux。

3.Devil-Linux所有的配置文件保存在软盘或者USB存储介质中,不需要保存在硬盘,容易备份配置文件,不同的管理员可以拥有不同的系统配置,机动性也很高。整个Devil-Linux系统引导、配置后没有任何改动,提高了系统及服务的安全性。

4. Devil-Linux对硬盘的依赖性不大。对于Devil-Linux来说,计算机硬盘是可有可无的。如果系统管理员使用Devil-Linux作为 Mail服务器或者文件服务器,那么Devil-Linux也能通过自身的Logical Volume Manager(逻辑卷标管理器)来对磁盘进行管理,无论计算机的硬盘是1G还是1T的容量,都可以分配管理。Devil-Linux还提供了软件 RAID功能,可以把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。这对提供数据服务的网站来说是很实用的一项功能。

5. Devil-Linux对计算机硬件系统要求很低,从486的低端计算机到高级的专业服务器都能使用。SOHO一族可以将那些不再使用的低级计算机安装 Devil-Linux来作为防火墙或者路由器也是足够的,节省了买专业服务器的资金。Devil-Linux的最小运行配置如下:
处理器 PC 486 DX2/66-class 或更高
内存 32MB RAM
其他可启动的ATAPI、SCSI CD-ROM drive 或 USB Device1.44" 软驱或 USB 设备
任何网络接口, 10/100MBps 网卡, 外置的ISDN-Modem

6. Devil-Linux支持IPTables/Netfilter。各种流行的Linux版本都提供了一个非常优秀的防火墙工具—Netfilter /iptables。它完全免费、功能强大、使用灵活、可以对流入和流出的信息进行细化控制,且可以在一台低配置机器上很好地运行。

提示:Netfilter/iptabels应用程序被认为是Linux中实现包过滤功能的第四代应用程序。Netfilter /iptables包含在2.4以后的内核中,它可以实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。Netfilter工作在内核内部,而 Iptables则是让用户定义规则集的表结构。Netfilter/iptables从Ipchains和Ipwadfm(IP防火墙管理)演化而来,功能更加强大。

7. Devil-Linux支持多用户配置。不同的用户可以根据自己的需求对Devil-Linux进行定制。只需更换不同的配置软盘,Devil- Linux就能实现不同的功能。例如SOHO中熟悉网络安全的管理员可以将Devil-Linux配置成专业的Linux防火墙,而管理网站的管理员可以将Devil-Linux配置成WEB,EMAIL服务器,这些配置分开存放,也能保证Devil-Linux系统的安全,这是和一般的Linux版本不同之处。

8.Devil-Linux不支持图形化桌面。例如一般流行版本所提供的X-Server等图形化桌面Devil-Linux都没有提供,原因很简单,一个是安全性问题,二是要提高系统工作效率,三是Devil-Linux主要提供的是各种服务,配置简单,修改几个参数即可,有VI这个编辑工具足够,无需占用空间巨大的图形化桌面。
9.Devil-Linux内置GUI防火墙编译器。配置防火墙是Devil-Linux提供的最重要的组成部分,Devil-Linux内置GUI防火墙编译器能使得管理员直观得、方便的编写出防火墙规则,减轻了使用者手工编写防火墙规则的工作量。

10.Devil-Linux对系统及应用程序的二进制编译进行了安全保护处理,提高了Devil-Linux整体安全性能。Devil-Linux中除了一小部分例外,绝大部分系统及应用程序的二进制编译都采取了GCC Stack Smashing Protector。这种基于堆栈加强保护的GCC编辑技术使整个系统增强了对缓冲区冲溢出攻击抗击能力。

11. Devil-Linux通过GRSecurity改进和提高了内核的安全性。对于Linux操作系统来说,内核决定了整个Linux系统的安全性。

提示:ACL(Access Control List,访问控制列表)系统是一种软件,它能够为你的计算机提供更好的访问控制。GRSecurity是众多Linux ACL系统中比较典型和成熟的一种。GRSecurity是一种内核安全补丁,使用GRSecurity,系统管理员可以赋予进程尽可能小的权限,从而使攻击者即使获得了Root权限也无法控制整个系统。


Devil-Linux利用GRSecurity对其内核进行了多项安全性和稳定性方面的改进,相对一些普通版本的Linux来说,Devil- Linux对基于进程的访问控制;基于进程的资源限制;IP访问控制;阻止进程暴力攻击的限制;完全智能的学习模型;可读的配置文件等方面均有较大程度的提高。

12. Devil-Linux中对为了进一步提高系统安全性,对Chroot“监牢”机制也进行了改进,管理员对Chroot“监牢”机制的使用变得更为简单。

提示:一般来说,Linux内核都引入了Chroot机制。Chroot是内核中的一个系统调用,软件可以通过调用库函数chRoot,来更改某个进程所能见到的根目录。比如,Apache软件安装在/usr/local/httpd/目录下,以Root用户(或具有相同权限的其它账号)启动Apache,这个Root权限的父进程会派生数个以Nobody权限运行的子进程,具体情况取决于个人设置。父进程监听请求自80端口的TCP数据流,然后根据内部算法将这个请求分配给某个子进程来处理。这时Apache子进程所处的目录继承自父进程,即/usr/local/httpd/。但是一旦目录权限设定失误,被攻击的Apache子进程可以访问/usr/local、/usr、/tmp,甚至整个文件系统,因为Apache进程所处的根目录仍是整个文件系统的根。如果能够利用chRoot将Apache限制在/usr/local/httpd/,那么Apache所能存取的文件都是/usr/local/httpd/下的文件或其子目录下的文件。创建chRoot“监牢”的作用就是将进程权限限制在文件系统目录树中的某一子树中。

13. Devil-Linux除了提供能将计算机作为专业防火墙/路由器之外,还提供了如下服务,基本能满足SOHO一族和中小型网站的业务需求。
1) Proxy Server
2) DNS Server
3) Mail Server with TLS support and Spam and Virus filtering
4) HTTP Server
5) FTP Server
6) File Server
7) VPNs with X.509 support
8) DHCP Server
9) NTP Server
10) IDS Node

除了常规设置之外,对Devil-Linux所提供的各种服务,如WEB、EMAIL、防火墙等的设置也和路由设置一样,熟悉Linux各项服务设置的系统管理员都能很快将Devil-Linux架设成为一台完善的Linux服务器。


这里重点需要说明的是Devil-Linux的安全性配置的问题。前面提到的GRSecurity和Chroot Jails是Devil-Linux所拥有的两项安全模块,建议对这两项安全模块进行很好的配置。GRSecurity的配置文件路径为/etc /sysconfig/grsecurity.proc,通过修改这个文件提高内核的安全性,Linux ACL系统配置文件为/etc/sysconfig/config,Devil-Linux技术文档中建议系统管理员对这两个文件进行配置和测试,Devil-Linux光盘和http://www.grsecurity.net都提供了很详细的配置文档。限于篇幅则不再本文进行详细的解释。


Chroot Jails的配置文件位于/etc/sysconfig/jail目录,例如我们要对POSTFIX服务进行“Chroot” “监牢”,我们可以通过修改/etc/sysconfig/jail/POSTFIX文件实现。

最新版本:1.6

该版本使用 3.1.6 版本内核,glib 2.12 ,增加对 64 位的支持,已经其他一些更新。

官方主页:http://www.devil-linux.org/

该文章最后由 阿炯 于 2012-05-17 09:41:25 更新,目前是第 2 版。