免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3133 | 回复: 18
打印 上一主题 下一主题

[FreeBSD] 关于用freebsd组建网关的一些问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-04 16:53 |只看该作者 |倒序浏览
首先我们来安装Gateway,Gateway要使用的Internet的IP为x.x.x.x网卡为dc0,内部IP
为192.168.0.1网卡为xl1,由于Gateway起到网关的作用,所以为了安全性,在该服务器
上做安全是非常重要的,FreeBSD有自带了一个ipfirewall防火墙,既然有,我们当然要
利用上了,首先编译内核:  

cd /sys/i386/conf  
cp GENERIC ./kernel_IPFW  

用编辑器打开kernel_IPFW这个文本文件,在该文件里加入以下内容:  

optionsIPFIREWALL        //通知操作系统的内核检查每个IP数据包,将它们与规则
集进行比较  
optionsIPDIVERT        //启用由ipfw divert使用的转向IP套接字。这一选项需要
与natd联合使用。  
optionsIPFIREWALL_VERBOSE       //向系统的注册程序发送注册信息包。  
optionsIPFIREWALL_VERBOSE_LIMIT=100       //限制一台机器注册的次数。  
optionsIPSTEALTH        //启动支持秘密转发的代码,这一选项在使防火墙不被
traceroute和类似工具发现时很有用。  
optionsACCEPT_FILTER_DATA        
optionsACCEPT_FILTER_HTTP      //接受过滤器中的静态连接  
optionsICMP_BANDLIM        //ICMP_BANDLIM根据带宽限制产生icmp错误。一般情况
下我们需要这个选项,它有助于你的系统免受D.O.S.攻击。  

把以上参数加入以后保存kernel_IPFW文件。  

make depend  
cd ../../compile/kernel_IPFW  
make  
make install  
上面的这些我弄好了 这里要感谢回答我问题的各位大哥

(注意!!!!!请不要使用远程方式来设置服务器!为什么?等下你就能知道了。)  

以上完成以后,你就可以重新启动系统使用新的内核了。  

使用新内核以后,如果该系统本来是连在网络上的,那么这时他的网络部分已经完全
丧失,这表示系统新的内核已经起作用了,防火墙也起作用了,但由于FreeBSD的防火
墙默认情况下是不允许任何机器访问,所以该机器的任何网络功能都暂时丧失。不过不
要着急,接着往下看,你就会觉得非常有意思了。  

既然该服务器担当是的网关,那么让网关启动起来是必须的。我们现在再:  

cd /etc  

用编译器编译rc.conf  

加入如下参数:  

gateway_enable="YES"      //启动网关  
##########IP-firewall#################  
firewall_enable="YES"     //激活firewall防火墙  
firewall_script="/etc/rc.firewall"      //firewall防火墙的默认脚本  
firewall_type="/etc/ipfw.conf"         //firewall自定义脚本  
firewall_quiet="NO"         //起用脚本时,是否显示规则信息。现在为“NO”假如你的
防火墙脚本已经定型,那么就可以把这里设置成“YES”了。  
firewall_logging_enable="YES"      //启用firewall的log记录。  
##########NATD#######################  
natd_interface="xl0"       //NATD服务启用在哪块网卡。  
natd_enable="YES"        //激活NATD服务  
natd_flags="-config /etc/natd.conf"    //NATD服务参数设置文件。  

设置完成后我们再编译/etc/syslog.conf文件。  

加入以下行:  

!ipfw  
*.*                 /var/log/ipfw.log  

好了rc.conf文件设置完毕,然后就是其他文件了。  

新建/etc/ipfw.conf 文件,在文件里写入以下内容:  

add 00400 divert natd ip from any to any via xl0   //natd服务启动设置  
add 00001 deny log ip from any to any ipopt rr  
add 00002 deny log ip from any to any ipopt ts  
add 00003 deny log ip from any to any ipopt ssrr  
add 00004 deny log ip from any to any ipopt lsrr  
add 00005 deny tcp from any to any in tcpflags syn,fin    //这5行是过滤各种扫描包  
#######tcp#########  
add 10000 allow tcp from xx.xx.xx.xx to x.x.x.x 22 in         //向Internet
的xx.xx.xx.xx这个IP开放SSH服务。也就是只信任这个IP的SSH登陆。  
xx.xx.xx.xx 我设为我的外网ip x.x.x.x 设我哪网的ip(下面也是如此
add 10001 allow tcp from any to x.x.x.x 80 in     //向整个Internet开放HTTP服务。  
add 10002 allow tcp from any to x.x.x.x 25 in     //向整个Internet开放smtp服务。  
add 这里我用tab断开的10003 allow tcp from any to x.x.x.x 110 in    //向整个Internet开放pop3服务。  
add 19997 check-state  
add 19998 allow tcp from any to any out keep-state setup  
add 19999 allow tcp from any to any out           //这三个组合起来是允许内部网
络访问出去,如果想服务器自己不和Internet进行tcp连接出去,可以把19997和19998去
掉。(不影响Internet对服务器的访问)  
######udp##########  
add 20001 allow udp from any 53 to me in recv xl0     //允许其他DNS服务器的
信息进入该服务器,因为自己要进行DNS解析嘛~  
add 20002 allow udp from any to x.x.x.x 53 in recv xl0    //向整个Internet开
放DNS服务。  
这里我没有设置
add 29999 allow udp from any to any out         //允许自己的UDP包往外发送。  
######icmp#########  
add 30000 allow icmp from any to any icmptypes 3  
add 30001 allow icmp from any to any icmptypes 4  
add 30002 allow icmp from any to any icmptypes 8 out  
add 30003 allow icmp from any to any icmptypes 0 in  
add 30004 allow icmp from any to any icmptypes 11 in    //允许自己ping别人的
服务器。也允许内部网络用router命令进行路由跟踪。  
#######lan##########  
add 40000 allow all from 192.168.0.0/16 to any  
add 40001 allow all from any to 192.168.0.0/16          //允许内部网络访问Internet。  

好了,还有natd没设置了,我们再次添加/etc/natd.conf这个文件,其内容如下:  

log yes              //启动natd的log记录。  
redirect_port tcp 192.168.0.2:25 x.x.x.x:25     //把对服务器IP为x.x.x.x的smtp
访问转到192.168.0.2的25上去。  
redirect_port tcp 192.168.0.2:80 x.x.x.x:80     //把对服务器IP为x.x.x.x的http
访问转到192.168.0.2的80上去。  
redirect_port tcp 192.168.0.2:110 x.x.x.x:110     //把对服务器IP为x.x.x.x的pop3
访问转到192.168.0.2的110上去。  

这里和下面的我没有设置,(不需要25 和80 110,另有服务器)
结果完成后重起ping 时提示“send to: permission denied” 我那里弄错了?
好了,natd也设置完了~重新启动一下系统让防火墙和natd生效,现在就是该装的服务没
装了,虽然防火墙已经让这些服务通行。  

我们现在在Gateway上安装DNS服务,我现在选择的是bind 9.2.0,安装过程不是我们的
重点,所以这里就不详细介绍了,我这里只对bind的安全设置做一个说明,假设bind的
工作目录是/etc/namedb现在我们对bind设置一下,因为bind的大多数版本都存在问题,
这个版本虽然目前没有,但还是提防为好,我在这里建议使用chroot技术来增强bind的
安全,假设我们把chroot目录设在/chroot,我们做以下事情:  


pw useradd bind -g 53 -u 53 -d /nologin -s /nologin  
mkdir /chroot  
mkdir /chroot/etc  
mkdir /chroot/var  
mkdir /chroot/var/run  
cp -rp /etc/namedb /chroot/etc/namedb  //建立bind的工作环境和目录。  

然后再运行  

$PATH/sbin/named -t /chroot -u bind  

这样做了后运行ps -ax |grep named会发现bind是以bind这个权限很底的身份运行,
我们到/chroot/var/run目录下看,会发现有named.pid这个文件,表示bind已经很成
功的被chroot在/chroot这个目录里了,就算被“黑客”利用bind入侵了,由于权限很底,
而且被限制在/chroot这个目录里,并且里面没有任何的shell,不给“黑客”任何的破
坏条件。所以说bind这时已经相当安全了。  

到此整个Gateway服务器就已经完全设置完毕。  

现在就是内部服务器了,而内部服务器受到Gateway以及防火墙的保护,所以在安装上
没有多大的问题,只要注意一下邮件服务软件以及HTTP服务软件是否有漏洞就行了,
比如不要使用老版本的sendmail,因为sendmail的每个版本都存在一定的安全问题,
我这里建议使用Qmail,关于Qmail的安装可以下载我提供的Qmail安装包
http://www.linuxaid.com.cn/training/tips/showtip.jsp?i=245 ,而在HTTP上就
要注意不要使用带漏洞的新闻发布系统,论坛等。  

好了,整个服务器都已经安装完了,以上本人已经在两台FreeBSD 4.5的机器上测试
通过。使用FreeBSD4.5的朋友们,如果按以上方法去设置自己的服务器的话,基本
能保证正常工作。  

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-03-04 17:00 |只看该作者

关于用freebsd组建网关的一些问题

加精了,作者给换个好点的标题吧

论坛徽章:
0
3 [报告]
发表于 2003-03-04 17:02 |只看该作者

关于用freebsd组建网关的一些问题

[quote]原帖由 "yhcamel"][/quote 发表:


注意,x.x.x.x 为外网的IP,例如:202.123.234.12 并非字母的x.x.x.x

我只提醒一下而已,不喜欢的话可以删除。this all

论坛徽章:
0
4 [报告]
发表于 2003-03-04 17:08 |只看该作者

关于用freebsd组建网关的一些问题

怎么改主题?

论坛徽章:
0
5 [报告]
发表于 2003-03-04 17:11 |只看该作者

关于用freebsd组建网关的一些问题

帮我搞定了,这个我很久了

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
6 [报告]
发表于 2003-03-04 17:17 |只看该作者

关于用freebsd组建网关的一些问题

[quote]原帖由 "夜猫子"]加精了,作者给换个好点的标题吧[/quote 发表:


加精?
……
文章是我的,是他没看明白来问问题来了。

论坛徽章:
0
7 [报告]
发表于 2003-03-04 17:20 |只看该作者

关于用freebsd组建网关的一些问题

我说怎么看着那么眼熟.
没错,这是iceblood的老兄的.
我的第一个防火墙就是看着这篇文章做的

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-03-04 17:21 |只看该作者

关于用freebsd组建网关的一些问题

头晕,犯错误了,靠!!!!!!最近象白痴,算了,这几天暂时不管事了,先修理修理脑袋去

论坛徽章:
0
9 [报告]
发表于 2003-03-04 17:38 |只看该作者

关于用freebsd组建网关的一些问题

[quote]原帖由 "夜猫子"]头晕,犯错误了,靠!!!!!!最近象白痴,算了,这几天暂时不管事了,先修理修理脑袋去[/quote 发表:


^O^

论坛徽章:
0
10 [报告]
发表于 2003-03-04 17:44 |只看该作者

关于用freebsd组建网关的一些问题

BMW
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP