免费注册 查看新帖 |

Chinaunix

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

构筑Unix系统内防火墙体系的多种方案(转贴) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-16 16:27 |只看该作者 |倒序浏览
近一段时间,某银行地市级分行计算机中心的某些服务器,如储蓄服务器、本地服务器多次出现了相同的奇怪现象:正常运行的计算机被意外关掉。经检查机器的各方面资源都没有明显的故障,而且相同配置的服务器也只是个别机器被关掉,最关键的是被关的机器上除了关机信息外没有其他报错信息。综合种种迹象确定,是市分行下属的某县支行机房中有人用telnet登录到市分行的服务器,进入一个菜单用户后,执行了菜单中的关机选项而关掉了正在运行的机器。通过这件事例,使人警觉到利用远程计算机进行高科技作案的潜在危险。    目前银行系统的计算机网络发展迅猛,由于全省乃至全国通存通兑的需要,地市级分行的计算机系统对上要与省分行的计算机网络相连,对下连通了全市所辖的数十家县市工行或办事处的计算机;又由于代理业务和电子商务的需要,银行内部网络必须与越来越多的被代理企事业单位的计算机相连。这样一个庞大的网络,要防范“黑客”的偷袭确实有一定的困难。为了使Unix服务器或前置机能安全正常地运行,必须及时地根据业务的不同应用和需求,有针对性地构筑Unix系统内的防火墙体系,对远程登录和远程数据传输进行过滤,从而实现Unix防火墙的作用, 同时能保障合法计算机远程业务操作的正常进行。下面把多种防火墙体系的具体实现方案介绍给读者。    方案一 禁止其他任何计算机向本机的远程登录和远程数据传输。    设置方法 进入超级用户,用vi打开/etc/inetd.conf文件,用"#"字封闭ftp、telnet、login、exec打头的四行,然后执行/etc/inetd命令,即可生效。    特点 网络中其他计算机都无法远程登录和传输数据到本机,但本机却可以登录到其他计算机,也可向其他计算机收发数据。对本机来说,远程登录和数据传输变为单向操作,虽然其设置非常简单,但它的应用范围极为有限。    方案二 禁止其他任何计算机向本机的远程登录,允许其他计算机向本机部分用户的远程传输数据。    设置方法 以允许用ftp到本机的普通用户而禁止用ftp到超级用户为例。    (1)进入超级用户,用vi打开/etc/inetd.conf文件,用“#”字封闭telnet、login、 exec打头的三行,并放开ftp,然后执行/etc/inetd命令。    (2)用vi修改/etc/passwd文件,把第一行    root:0:1:Superuser:/:    改为 root:0:1:Superuser:/:/bin/shcheck    (3)用vi创建/etc/shcheck文件,内容如下    /bin/sh /etc/profile    /bin/sh /.profile    /bin/sh -sh    (4)修改/etc/profile文件,把其中的一行    -sh | -rsh | -ksh | -rksh)    改为 -sh | -rsh | -ksh | -rksh | /etc/profile)    (5)执行命令    chmod a-w /etc/shcheck    chmod u+x /etc/shcheck    特点 仍禁止其他任何计算机向本机的telnet、login的登录, 有条件地放开用ftp进行双向传输数据。需要特别注意的是:必须按以上方法禁止其他机器用ftp进入到本机的超级用户,否则其他机器就可以用ftp接收本机的inetd.conf文件,经修改后再用ftp传回本机,以达到放开本机telnet、login等远程服务的目的。     方案三 以IP地址为对象,允许部分计算机向本机的远程登录,允许其他计算机向本机普通用户的远程传输数据。    设置方法 设置步骤如下:    (1)进入超级用户,用vi打开/etc/inetd.conf文件,放开telnet、login、ftp的功能,然后执行/etc/inetd命令。    (2)参照方案二中的(2)、(3)两步的做法进行设置。    (3)把/etc/profile文件修改成以下内容    trap “”1 2 3    umask 022    fhq=‘netstat -n|grep ESTABLISHED|awk‘{print $5}’|cut -f1-4 -d. |head -1’    fhq=“(“$fhq”)”    fhqchk=‘grep $fhq /etc/.safe’    if [“$fhq”=“$fhqchk”]    then    echo    else    echo “警告:你的地址为$fhq禁止非法登录!”    exit    fi    case “$0” in    -sh | -rsh | -ksh | -rksh | /etc/profile)    [“X$HUSHLOGIN” !=“XTRUE”] && [ -s /etc/motd ] && {    trap : 1 2 3    echo “”# skip a line    cat /etc/motd    trap “”1 2 3    }    if [“X$HUSHLOGIN”!=“XTRUE”]    then    [ -x /usr/bin/mail ] && { # if the program is installed    [ -s “$MAIL”] && echo “\you have mail”    }    if [“$LOGNAME”!=“root”-a -x /usr/bin/news ] # be sure it’s there    then news -n    fi    fi    ;;    -su)    :    ;;    esac    trap 1 2 3    (4)创建/etc/.safe文件,加入允许登录的计算机的IP地址,一个地址占一行,格式如下所示    (195.1.2.3)    (194.10.2.4)    (5)执行下列命令    chmod a-w /etc/shcheck /etc/.safe    chmod u+x /etc/shcheck    chmod 0100 /bin/su    特点 允许经过定义的部分计算机用telnet、login登录,允许其他计算机用ftp进入本机的普通用户进行数据传输,未经定义的计算机将被禁止登录到本机。本方案的应用范围比较广,可使经过定义的多台计算机形成一个内部宽松而对外严防的安全系统。    方案四 以IP地址为对象,允许部分计算机向本机的部分用户的远程登录,允许其他计算机向本机普通用户的远程传输数据。    设置方法 设置步骤如下:    (1)参照方案三中的(1)、(2)两步的做法进行设置。    (2)对只允许部分计算机登录本机的某一用户的宿主目录下的.profile文件进行修改,加入以下内容    fhq=‘netstat -n|grep ESTABLISHED|awk‘{print $5}’|cut -f1-4 -d. |head -1’    fhq=“(“$fhq”)”    fhqchk=‘grep $fhq /etc/.safe’    if [“$fhq”=“$fhqchk”]    then    echo    else    echo “警告:你的地址为$fhq禁止非法登录!”    exit    fi    (3)对禁止其他任何计算机登录本机的某一用户的宿主目录下的.profile文件进行修改,加入以下内容    ttychk=‘tty|grep ttyp’    if [“$ttychk” !=“”]    then    echo “警告:禁止非法登录!"    exit    fi    (4)参照方案三中的(4)、(5)两步的做法进行设置。    特点 对计算机的IP地址和用户同时进行过滤处理,应用范围更为广泛,可满足各种业务运行的需要,并具有较高的安全性。    方案五 以以太网地址为对象,允许部分计算机向本机的远程登录,允许其他计算机向本机普通用户的远程传输数据。    设置方法 设置步骤如下:    (1)参照方案三中的(1)、(2)两步的做法进行设置。    (2)把/etc/profile文件修改成以下内容    trap “”1 2 3    umask 022    fhq=‘netstat -n|grep ESTABLISHED|awk ‘{print $5}’|cut -f1-4 -d. |head -1’    fhq=“(“$fhq”)”    ether=‘arp -a |grep $fhq |head -1|awk‘{print $4}’’    ether=“(“$ether”)”    fhqchk=‘grep $ether /etc/.safe’    if [“$ether”=“$fhqchk”]    then    echo    else    echo “警告:你的以太网地址为$ether禁止非法登录!”    exit    fi    case “$0” in    -sh | -rsh | -ksh | -rksh | /etc/profile)    [“X$HUSHLOGIN”!=“XTRUE”] && [ -s /etc/motd ] && {    trap : 1 2 3    echo“”# skip a line    cat /etc/motd    trap“”1 2 3    }    if [“X$HUSHLOGIN” !=“XTRUE”]    then    [ -x /usr/bin/mail ] && { # if the program is installed    [ -s “$MAIL” ] && echo “\nyou have mail”    }    if [“$LOGNAME”!=“root” -a -x /usr/bin/news ] # be sure it's there    then news -n    fi    fi    ;;    -su)    :    ;;    esac    trap 1 2 3    (3)创建/etc/.safe文件,加入允许登录的计算机的以太网地址,一个地址占一行,格式如下所示    (0:90:27:d3:b3:21)    (0:80:c8:e0:43:8e)    (4)执行下列命令    chmod a-w /etc/shcheck /etc/.safe    chmod u+x /etc/shcheck    chmod 0100 /bin/su    特点 以太网地址是计算机硬件地址,是每台计算机唯一确定的,而IP地址在一台计算机中可以有两个或更多,所以以以太网地址为对象对远程登录和远程传输数据进行过滤比用IP地址为对象要安全得多。    以上五种方案都已在Unix3.2/4.2和SCO Open Server5.0.4中测试通过,Unix系统管理者可以根据自己机器的实际情况从中任选一种建立Unix防火墙体系。以上方案中第三种和第四种应用较广,需要注意的是:如果选择了第三、第四和第五种方案,那么最好在多台相互间需要用telnet、login、ftp方式登录而又不允许其他计算机登录的机器上同时设置,从而组成一个局部的防火墙内控系统,以防止其他计算机非法间接登录,即先登录到已定义的计算机,再通过已定义的计算机最终登录到目标计算机。

论坛徽章:
0
2 [报告]
发表于 2003-09-17 08:34 |只看该作者

构筑Unix系统内防火墙体系的多种方案(转贴)

1太乱了~~
2构筑Unix系统内防火墙体系不仅仅依靠本机控制,还需要或者说需要网络的路由表和访问列表控制。
3 一般情况下,我觉得有重要数据库的服务器是不会直接向所有机器提供telnet、ftp功能的,至多只向特定的机器开放此类功能
4 我想,基于安全性考虑,没有两个不同的单位会把重要的机器直接连接一起的。一般都会使用一台前置机进行隔离 ,而且基于安全性考虑可以使用ip转换和双网卡策略
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP