据有关资料显示,近两年内,中国的计算机网络受到了近200个黑客有意识的袭击。网络遭到攻击已经不仅仅是从报刊文摘中读到的外国神话,而是真真切切地存在于我们生活中的现实。维护网络的安全性已经具有越来越重要的现实意义,下面这篇文章介绍了在sco unix上进行安全治理的一些具体设置,也是一些专业书籍中很少涉及到的,具有很强的实用价值。
金融业务系统大部分以UNIX或XENIX操作系统为平台,以TCP/ip为网络平台。虽然UNIX安全性能已达到美国国防部的C2级安全标准,是一个相对安全、严密的系统,但也并非无懈可击。电脑黑客入侵多种、证券网络系统的新闻再次敲响金融网络安全治理的警钟。如何加强UNIX网络系统的安全性治理,笔者以SCO UNIX3.2.v4.2为例,提几点看法,与广大同仁商榷。
这里所说的安全性,主要指通过防止本机或本网被非法侵入、访问,从而达到保护本系统可靠、正常运行的目的,本文只在此范围内讨论,对其他方面不予考虑。
一、抓好网内主机的治理是网络安全治理的前提
用户名和密码治理永远是系统安全治理中最重要的环节之一,对网络的任何攻击,都不可能没有合法的用户名和密码(后台网络应用程序开后门例外)。但目前绝大部分系统治理员只注重对特权用户的治理,而忽视对普通用户的治理。主要表现在设置用户时图省事方便,胡乱设置用户的权限(id)、组别(group)和文件权限,为非法用户窃取信息和破坏系统留下了空隙。
金融系统UNIX的用户都是最终用户,他们只需在具体的应用系统中工作,完成某些固定的任务,一般情况下不需执行系统命令(shell)。以农业银行全国电子汇兑为例,用户名为dzhd,它在/etc/passwd文件中描述如下:
dzhd:x:200:50: :/usr/dzhd:/bin/sh
它的.PRofile内容大致如下:
COBSW=+R+N+Q-10
DD_PRINTER=“1p-s”
PATH=/etc:/bin:/usr/bin:$HOME/bin:/usr/dzhd/obj:
MAIL=/usr/spool/mail/logname
umask 007
eval`test -m ansi:ansi -m:/?ansi -c -s -Q`
eXPort PATH MAIL COBSW DD_PRINTER
cd usr/dzhd/obj
runx hdg
exit
用户正常登录后,假如按下中断键“delete”,关掉终端电源,或同时键入“Ctrl”“/”,那么用户将进入shell命令状态。例如他可以在自己的目录不断创建子目录而耗尽系统的I节点号、或用yes>aa创建一个其大无比的垃圾文件而耗尽硬盘空间等导致系统的崩溃、瘫痪;假如文件系统的权限设置不严密,他可运行、窥视甚至修改它;还可通过su等命令窃取更高的权限;还可登录到其它主机上去捣乱,令你防不胜防,危险性可想而知。这一些问题都与用户设置有关。所以,尽量不要把用户设置成上述形式。假如必须这样,可根据实际需要,看看能否把用户的sh变成受限sh,如rsh等,变成如下形式:
dzhd:x:200:50: :/usr/dzhd/obj:/bin/rsh
或如下形式:
dzhd:x:200:50: :/usr/dzhd:./main
在main(.porfile)
首部增加如下一行:
trap' ' 0 1 2 3 5 15
那么上述一切问题都可避免。
此外定期检查你的/etc/passwd文件,看看是否有来历不明的用户和用户的权限;定期修改用户密码,非凡是uUCp、bin等不常用的用户的密码,以防有人在此开个活动的天窗--一个可自由进出的用户;删除所有睡眠用户等。
二、设置好自己的网络环境是阻止非法访问的有效途径
网上访问的常用工具有telnet、FTP、rlogin、rcp、rcmd等网络操作命令,对它们的使用必须加以限制。最简单的方法是修改/etc/services中相应的服务端口号。但这样做会使网外的一切访问都被拒绝,即使是否法访问也不例外。这种闭关自守的做法不值得提倡,因为这样会使本网和网外隔绝开,也会给自己带来不便。通过对UNIXt系统的分析,我们认为有可能做到有条件限制(答应)网上访问。
(1)建立etc/ftpusers文件(不受欢迎的ftp用户表)。与之相关的命令是ftp。配置如下:
#用户名
dgxt
dzhd
…
以上都是本机内的一些用户,侵入者使用以上用户名ftp访问本网会被拒之门外。
(2)注重保存好.netrc文件(远程注册数据文件)。与之有关的命令是ftp。.netrc包含注册到网络上用ftp作文件转移的远程主机的数据。通常驻留在用户当前目录中,文件权限必须为0600。格式如下:
machine对方主机名login对方主机内用户名passWord对方用户密码macdef init ftp的操作命令集。
(3)创建匿名ftp。所谓匿名ftp,是指其他主机的用户能以ftp或anonymous用户进行数据收发而不要任何密码。建立方法如下:
a)用sysadmsh创建ftp用户,在passwd文件表示为:
ftp:x:210:50: :/usr/ftp:/bin/sh
.profile中的路径为:
PATH=$HOME/bin:$HOME/etc
)在/usr/ftp目录:
#创建匿名ftp所用的目录
#mkdir bin etc dev pub shlib
#改变pub以外所有目录权限
#chmod 0555 bin etc dev shlib
#改变pub目录的所有者和同组者
#chown ftp pub
#chgrp ftp pub
#复制匿名ftp所执行文件
#cp/bin/rsh/bin/pwd/bin/1s bin
#改变所需执行文件权限
#chmod 011 bin/*
#查看所需伪设备的情况
#1/dev/socksys
#1/dev/null
#建立所需伪设备的驱动程度
#cd/usr/ftp/dev
#mkond null c 4 2
#mkond socksys c 26 0
#改变伪设备驱动程序的所有者、同组者
#chown ftp ftp/*
#chgrp ftp ftp/*
#复制共享文件
#cp/shlib/ilbe_s shlib
注重不要复制/etc/passwd、/etc/proup到etc下,这样对安全具有潜在的威胁。此外给ftp用户加上密码,不要告诉其他任何人。
(4)限制.rhosts用户等价文件(又叫受托用户文件)。与之有关命令有rlogin、rcp、rcmd等。
所谓用户等价,就是用户不用输入密码,即可以相同的用户信息登录到另一台主机中。用户等价的文件名为.rhosts,存放在根下或用户主目录下。它的形式如下:
#主机名 用户名
ash020000 root
ash020001 dgxt
…
假如用户名为空,是所有用户均等价。
(5)限制hosts.equiv主机等价文件,又叫受托主机文件。有关的命令为rlogin、rcp、rcmd等。主机等价类似于用户等价,在两台计算机除根目录外的所有区域有效,主机等价文件为hosts.equiv,存放在/etc下,它的形式如下:
#主机名 用户名
ash020000
ash020001
…
当远程使用ftp访问本系统时,UNIX系统首先验证用户名和密码,无误后查看ftpusers文件,一旦其中包含登录所用用户名则自动拒绝连接,从而达到限制作用。因此我们只要把本机内除匿名ftp以外的所有用户列入ftpusers文件中,即使入者获得本机内正确的用户信息,无法登录系统。需对外发布的信息,放到/usr/ftp/bub下,让远方通过匿名ftp获取。使用匿名ftp,不需密码,不会对本机系统的安全构成威胁,因为它无法改变目录,也就无法获得本机内的其他信息。使用.netrc配置,需注重保密,防止泄露其他相关主机的信息。
使用用户等价和主机等机这类访问,用户可以不用口令而像其他有效用户一样登录到远程系统,远程用户可使用rlogin直接登录而不需密码,还可使用rcp命令向或从本地主机复制文件,也可使用rcmd远程执行本机的命令等。因此主种访问具有严重的不安全性,必须严格控制或在非常可靠的环境下使用。1998年美国发现的闻名的“蠕虫”病毒,由一个叫英尔(morris)的年青人编写的,在Internet网上流传开,造成许多UNIX系统的瘫痪,损失达数亿美元,其重要的传播手段之一就是利用了用户等价和主机等价的配置。慎重使用(最好不用)和经常检查上述文件,会有效加强系统安全。
UNIX系统没有直接提供对telnet的控制。但我们知道,/etc/profile是系统默认shell变量文件,所有用户登录时必须首先执行它。假如我们在该文件首部增加如下几条shell命令:
#设置中断变量
trap' ' 0 1 2 3 4 5 15
umask 022
#获取登录终端名
dc=“'who am i awk‘[prin $2]’`”
#检查是否受限
grep $de /etc default/aaa >dev/null 2>&1
#假如受限
if [$?=“0”]
then
echo“请输入密码:/c”
read abc
#获取正确密码
dd=“grep root /etc/edfault/aaaawk’[pint $2]’`”
#非法用户发出警告信息到主控台
法[“$abc”!=$dd]
then
echo “非法用户!”
echo“有非法用户试图登录!”>tev/tty01
logname>/dev/tty01
#同时记载日记文件
echo“有非法用户试图登录!/c”> >/usr/tmp/err
echo $dc> >/usr/tmp/err
logname > >/usr/tmp/err
exit;
fi;
fi
其中/etc/default/aaa是受限终端名的一个文本文件,root后为密码,它的内容如下:
root qwerty
ttyp0
ttyp1
ttyp2
ttyp3
ttypa
ttypb
…
这样非法用户即例获得了合法的用户名和密码,也无法远程使用。系统治理员定时阅读日记文件,注重控制台信息,就能获得被非法访问的情况,及时采取措施。假如用c语言实现上述过程,把接受爱变成不可显示,效果更佳。
三、加强对重要资料的保密
它主要包括hosts表、X.25地址、路由、连接调制解调器的电脑号码及所用的通信软件的种类、网内的用户名等,这些资料都应采取一些保密措施,防止随意扩散。如可向电信部门申请通信专用的电话号码不刊登、不供查询等。由于公共的或普通邮电交换设备的介入,信息通过它们后可能被篡改或泄露。
四、加强对重要网络设备的治理
路由器在网络安全计划中是很重要的一环。现在大多数路由器已具备防火墙的一些功能,如禁止telnet的访问、禁示非法的网段访问等。通过网络路由器进行正确的存取过滤是限制外部访问简单而有效的手段。
有条件的地方还可设置网关机,将本网和其他网隔离,网关机上不存放任何业务数据,删除除系统正常运行所必须的用户外所用的用户,也能增强网络的安全性。
总之,只要我们从现在做起,培养网络安全意识,并注重经验的积累和学习,完全可能保证我们信息系统的安全、正常运行。
新闻热点
疑难解答