快捷搜索:

在OpenBSD上架设安全的小型网络

像天下上其它的器械一样,优越的安然扶植必要一笔不菲的价格。事理着实很简单,由于现在没有那么多的技巧高超的安然专家来照应我们不堪一击的收集。人才缺乏所造成的一个不幸的结果便是高的令人难以遭遇的专家佣金。这个问题将一些小型的收集交给到了一群没有多大年夜履历的收集治理员的手中,这些治理员大概不知道若何去设计、设置设置设备摆设摆设和监视收集中的主机,使这些出缺陷的主机不时受到收集上那些试图探求内部信息、免费储存空间或者用于DDoS的肉鸡的入侵者的要挟。

幸运的是,收集上不少好心的黑客(褒义)制作出了不少异常出色的平安产品供网管们免费应用。这篇文章便是概述若何应用一个分隔的专用收集/DMZ的设计来设计并运行一个小型收集,这将容许治理员在使其用户享受高水平保护的同时向外部收集供给一些办事。这个设计的履行和治理都相称的轻易,就算初学者都可以很轻松的掌握,而且它还可以作为安然公司给客户的一个根基安然设置设置设备摆设摆设。

设计部分

我们的目标便是达到对外部提议的进击做到最大年夜的保护。同时,我们不盼望花费很多钱,这样我们所应用的软件就只能限于开放源代码的软件或者免费软件。这并不像听起来那么坏,由于大年夜部分免费的操作系统险些都自带有一套能达到一个小型企业标准的收集安然软件。同时,很多免费的安然办理规划都可以在一些商业产品里找到。

为了使工作变的更简单,我们先假设我们将要建造的这个收集只有一个对Internet的连接,并且它只有大年夜概十几个内部用户。当然,你老是可以按你自己的意愿将它的规模变小或变大年夜。这只在于添加更快的硬件,将收集筹划成许多更小的收集来打消瓶颈征象,以致增添更多的对外连接等。

最简单的设计莫过于应用保护内部专用收集的防火墙来扶植并掩护这个收集,这样的话就不会有任何外来的连接,这种收集被称为非军事区(demilitarized zone,简称DMZ),我们必要将它扶植成以有一些对外开放的办事,同时应用相同的防火墙来进行保护的分隔收集的形式。这些办事可所以DNS, WWW, mail, FTP, 或者news,不过你完全有自由去限定或增添任何其它办事。DMZ可以包孕一台主机或者很多主机,这都在于你想要这个收集的繁杂性而定的。

所有到我们收集中的数据流都邑被防火墙反省和过滤,在几个分其余主机上必要运行这三个收集接口:

● 接口A连接防火墙到Internet上。接口的IP地址将由ISP分配 (本文中将会应用x.x.x.x)。

● 接口B连接防火墙到内部专用收集上。本文中这个接口的IP地址将会是 192.168.1.1。

● 接口C 连接防火墙到DMZ收集上。本文中这个接口的IP地址将会是 192.168.2.1。

我们所设计的收集的大年夜概轮廓显示在图一中:

图一. 本文中所描述的收集的大年夜纲图。

防火墙将应用下面的规则来节制数据流:

1.所有从内部专用收集发送到所有合法地址上的数据包都可以没有任何限定的经由过程防火墙。(如有需要,这个规则可以做更大年夜的限定)

2.所有从Internet发到专用收集的数据包都应该被过滤,并且只有那些最初从内部专用网发送的哀求包的有效回应包才应该被允许进入专用收集。

3.所有从Internet发送到DMZ的数据包都应该被过滤,只给有那些发送到我们对Internet所开放的办事的数据包才能经由过程防火墙。此外,最初从DMZ发送的哀求包的有效的回应包也允许进入DMZ。(如有需要,这个规则可以做更大年夜的限定 )

4.最初从内部专用收集 发送到DMZ上的哀求包的有效的回应包应允许进入专用收集。

5.所有从DMZ发送到Internet上(这不包括发送到DMZ上的)的数据包,应在没有任何限定的环境下经由过程防火墙。 (如有需要,这个规则可以做更大年夜的限定)

6.所有其它的数据流应该被丢弃。

除了我们上面说的这些数据包过滤规则以外,我们同时必要一个措施来让我们所供给给外部收集的办事在DMZ中的主机上运行。我们完全可以在装载防火墙的主机上运行这些办事,然则那么做的话就会呈现很多麻烦,由于我们在防火墙上装载的办事越多,这个防火墙就会变的更弱。我们会经由过程重定位数据流到DMZ上,这样我们着实就把潜在的进击目标从防火墙移到了DMZ上。这样的话,假如进击者对我们的收集进行进击,他们便是在进击DMZ里的主机,而他们想进击全部内部收集,则还要入侵防火墙和剩下的收集,这样会迟钝入侵者速率,从而让全部收集更安然了一些。(认真重定向数据包的主机无意偶尔被称为端口转发(port forwarding))。

别的一个紧张的组成部分是收集接口卡。连接内部收集和DMZ到防火墙上用的接口卡,我保举带有用于双绞线的10BASE-T插槽的10/100Mb/一秒的网卡和RJ-45插槽,这些器械不管是全新的照样二手货都很便宜。其它一些需要的连接设备包括双绞线和带有10BASE-T插槽的10/100Mb/一秒的hub。(假如全部DMZ都是在一个机械上的话,可以购买两个hub,一个用于内部专用收集,另一个用于交叉双绞线。)

我之以是建议你不要应用共轴的10BASE2电缆,而应用双绞线(还有带RJ-45插槽的网卡及hub),是由于双绞线装配更靠得住一些,只管它们必要一个hub才能事情。(在共轴线上,一个差错就会导致所有的电脑都连接到一个无法造访收集的电缆上,而假如一个差错发生在双绞线上,只有一台机械会被断开连接,其它的机械还都可以正常的造访收集)。

还有要留意的是,在你去eBay或者本地的旧电脑贩卖店里采购二手硬件之前,我建议你最好先去OpenBSD的网站及软件所副的安装阐明书上查找自己要买的硬件的品牌是否在OpenBSD的支持硬件表里。这个步骤会为你省去很多的麻烦。

你同时要去你所应用的硬件的网站里去找你硬件的驱动法度榜样。有些硬件不能被它厂商自己的驱动法度榜样驱动,但可以用这个硬件所应用的芯片的驱动法度榜样驱动。

着末一个紧张的器械便是DOS盘或者Windows 95/98的救援盘。由于我不是太清楚微软对应用DOS或者Windows启动盘来装别的一个操作系统是怎么想的,以是我建议你最好是找一个合法的DOS或者MS Windows光盘来最备用,或者直接去买一个IBM的DOS,最好是去下载 FreeDOS,一个免费的DOS克隆版本。一但你有了一个DOS盘,创建一个启动盘,把里面不必要的法度榜样删除掉落,然后把必要的驱动法度榜样装进去。

(请留意,你并不必要DOS或者Windows来装OpenBSD,我说的这种环境是当Windows已经是你电脑中的操作系统时的环境。)

IRQ 冲突 (IRQ conflicts.):为了避免IRQ冲突,我们必要拆掉落所有不必要的硬件。第一个被拆掉落的应该是声卡,由于在用于作为防火墙的电脑上不必要这样的器械。 电视/广播,扫描器节制器,和其它一些类似的多余的卡也该被拆掉落。假如你的电脑已经预装了SCSI 盘的话,你只必要一个网卡和SCSI 节制卡。当然,你必要留下图形卡,由于我们在安装历程中照样要看显示器的。

当你碰到了与IRQ相关的网卡问题时,一样平常是由两中缘故原由引起的。一种是由于网卡与其它设备应用的是同一个IRQ端口,由于冲突造成系统无法检测到设备。或者便是网卡不能在安装时代进行自行设置设置设备摆设摆设。假如你存在这些问题的话,常常会呈现缺少对其它电脑的连接(应用ping敕令测试专用收集或DMZ时,会申报数据包100%遗掉),"device timeout"信息,或者系统会在启动时代崩溃等征象。这些问题可以简单的用适当的网卡配制法度榜样和用户内核设置设置设备摆设摆设法度榜样来办理。

当这种差错发生时,从DOS 或者Windows启动盘启动,运行网卡设置设置设备摆设摆设法度榜样,关闭自动设置设置设备摆设摆设功能,把收集媒体类型设置为10BASE-T,并从可用中断列表中选择IRQ。对你系统中的每一个卡重复这个历程,退出设置设置设备摆设摆设法度榜样,从新启动到OpenBSD中。

假如颠末上面的设置设置设备摆设摆设后你的电脑还存在着同样的问题,你将必要经由过程UKC来设置设置设备摆设摆设你的内核。你可以由两个措施来进入UKC节制台:在启动的时刻,当你望见boot>提示符时输入boot –c,或者以root身份输入config -e /bsd。当你望见UKC> 提示符后,你可以搜索设备,添加新设备,禁用或启动一个设备,和查找这些设备之间的IRQ冲突。假如你找到你为网卡所选的IRQ已经被别的一个设备所占用,你可能必要禁用那个设备,这是在假如它不是系统必须的设备的条件下。例如,我老是在防火墙机械上禁用鼠标,由于我不会在那台机械上应用X Windows,以是鼠标是完全不需要的。同样的,所有的音响设备也应该被禁用,由于它们在防火墙上没有任何感化。当你找到了一个可用的设置设置设备摆设摆设,把它写下来并用config -e /bsd(应用root身份)来建立和保存一个新的内核来代替默认的内核(这时保存一个默认内核的备份是个好主见)。你可以在config的手册中找一些额外的信息(man config 会成为你的好伙伴)。SCSI节制器上的IRQ相关问题也可以用类似的措施办理。想懂得更多关于UKC的常识,请涉猎OpenBSD F.A.Q的第四节。OpenBSD所支持的设备列表可以在http://www.openbsd.org/i386.html 找到。

127.0.0.1 localhost

192.168.1.1 fireater.foo.com fireater

192.168.2.1 fireball.bar.com fireball

/etc/hosts中列出的防火墙接口应该和/etc/主机名.设备名中列出的IP地址相同。假如防火墙是经由过程一个以太网来连接到Internet的话,/etc/hosts中应该有别的一行注明ISP所分配的主机名及IP地址。记得把这些收集中的foo.com和bar.com转变成实际的域名。这些并不必然必须是挂号过的域名。 我为内部专用网和DMZ 应用两个不合的域名,由于它赞助我区分两个不合收集, 然则你当然可以只应用一个域名( 或者你可以应用跨越两个域名,完全由你抉择)。

● /etc/resolv.conf – 这个设置设置设备摆设摆设文件应该包括以下几行:

search foo.com

nameserver 192.168.1.2

lookup file bind

search bar.com

nameserver 192.168.2.2

lookup file bind

留意到我假设域名foo.com和bar.com 的nameservers听在 监听192.168.1.2 和192.168.2.1, 然则你的构造可能将十分不合,它应该被按照你的要求改变。

● /etc/rc.conf -- 主系统设置设置设备摆设摆设文件中应该激活以下的选项:

ipfilter=YES

ipnat=YES

在你做完所有这些改动之后,用sync 重启系统;重启并且反省那些收集接口是否在精确的运行(应用ping 对内部专用网或DMZ发送哀求,假如申报没有任何数据包遗掉就表示事情正常)。记着假如把防火墙连接到内部收集的收集接口是插在串行接口的话,你则必要设置设置设备摆设摆设pppd 守护进程(涉猎man ppp)。这样的接口应用的设备名是tun0。(你不必要为它创建一个/etc/hostname.tun0文件)。

记着你必须以一种容许防火墙和其它在内部专用收集、DMZ和Internet之间进行流畅顺讯的措施来设置设置设备摆设摆设其它在专用内部收集和DMZ上的主机。为此,你应该设置设置设备摆设摆设内部专用收集上的每一台主机上的TCP/IP协议,使它们都用192.168.1.1来做它们的网关,并且在相同的地址空间里给每台机械一个IP 地址( 192.168.1.2, 192.168.1.3, 192.168.1.4,等等)。同样的,DMZ中的机械应该被设置设置设备摆设摆设为应用192.168.2.1作为它们的网关,并给每机械一个从192.168.2.2-192.168.2.254 范围中的IP 地址。此外,每台机械应该被命名一个独特的主机名。

map tun0 192.168.2.0/24 -> x.x.x.x/32

这些规则奉告NAT引擎去映射所有在端口10000-20000上,从内部专用收集到地址"x.x.x.x"上的连接。并映射所有在端口20001-30000上,从DMZ到地址"x.x.x.x"上的连接。"x.x.x.x"应该被调换为你的ISP分配给你的实际IP地址。tun0是Internet接口设备的名字,假如外部接口没有应用串行端口的话,把tun0调换为你所应用的收集设备名。

我们现在可以连接内部专用网和DMZ到Internet上了,不过外部的主机现在仍不能造访DMZ中的办事。我们必要做一个重定向,下面是一个简单的重定向HTTP数据流的规则:

# redirect HTTP requests from foreign hosts

rdr tun0 x.x.x.x/32 port 80 -> 192.168.2.254 port 8080 tcp

rdr tun0 x.x.x.x/32 port 80 -> 192.168.2.254 port 8080 udp

# redirect HTTP requests from the private internal net

rdr ne1 x.x.x.x/32 port 80 -> 192.168.2.254 port 8080 tcp

rdr ne1 x.x.x.x/32 port 80 -> 192.168.2.254 port 8080 udp

# redirect HTTP requests from the DMZ

rdr ne2 x.x.x.x/32 port 80 -> 192.168.2.254 port 8080 tcp

rdr ne2 x.x.x.x/32 port 80 -> 192.168.2.254 port 8080 udp

同样,"x.x.x.x"是连接防火墙到Internet的外部接口的IP地址。192.168.2.254是DMZ中的HTTP办事器的IP地址。由于安然缘故原由,办事器在一个无特权的端口8080上 监听哀求。留意这里必须要一个规则把每个接口上的数据包重定向到"x.x.x.x"的80号端口上,要不然有些数据包将无法到达精确的目的地。

您可能还会对下面的文章感兴趣: