SCO UNIX操作系统具有开放性、共享性和数据库的通用性等特点,在银行、邮政等部门应用十分广泛。不过,由于SCO UNIX的缺陷,加上我单位营业网点分散等因素,留下了远程终端,包括DDN专线和MODEM的拨号端口及对外服务终端无法特别监管的隐患,给非法进入者提供了方便之门。因此必须设法加强对UNIX操作系统的端口安全管理,增加端口口令,限制登录端口的用户及工作时间。
工作原理
操作系统用户注册登录的过程为:操作系统接收用户名和口令字后与/etc/passwd和/etc/shadow文件进行合法性检查,对照注册名UID码、GID码(表示用户组)、GCOS域(用户个人信息)、注册目录、注册shell(一般为/bin/sh即Baurne shell),然后读取终端端口的有关信息,查找 /etc/dialups文件、/etc/d_passwd文件,最后启动/etc/profile和用户根目录下的 .profile文件(若是c_shell,则执行/etc/csh.login和用户根目录下的.login和.cshrc;若是korn shell,则会执行环境变量ENV所定义的文件)配置用户环境变量,查找提示该用户的mail信息。
通过以上分析,我们可以简单地在/etc/dialups文件中加入终端端口设备号,在/etc/d_passwd文件中加入口令字,限制非法登录,这是其一。我们还可以修改/etc/profile文件,从中增加一段程序,使之能与我们预先设定的有关用户、端口、工作时间等一些信息的文件进行比较,判断当前注册用户的登录端口、日期和时间是否在我们允许的范围内,否则不允许注册登录。之所以修改文件/etc/profile而没有使用文件$home/.profile,是因为使用文件/etc/profile更便于大范围的控制和处理,这是其二。另外,操作系统对合法用户注册登录处理的最后部分是,根据该用户根目录下的$home/.profile,设置用户环境变量、终端信息,我们可以在$home/.profile加入该用户业务处理程序的起动命令并使之退出注册登录状态,以减少在该用户根目录下使用/bin/sh命令的机会,确保用户根目录下文件的安全。
基于以上原理,我们得出了三个有效地加强对终端端口限制管理的办法。
1.增加端口口令,限制远程登录
远程登录包括通过MODEM拨号、DDN专线访问服务器和通过终端服务器、集线器等登录到系统。MODEM和DDN专线访问服务器的端口号为/dev/tty1A和/dev/ttya?,其中?为0、1、2......等(下同)。通过终端服务器、路由器和集线器访问服务器的端口号为/dev/ttyp?。此时使用的是伪tty设备文件,通常登录的端口是不固定的。因此,必须先执行固定通信服务器端口设置程序通过在这些设备端口上增加拨入口令,限制远程登录。
2.限定用户在指定的端口和规定的时间内登录
当用户注册登录到UNIX操作系统时,必须执行系统文件/etc/profile。我们对这一文件进行修改,让系统去读取用户名、端口名、每周工作日期、每天上班时间、每天下班时间,然后依此文件审查用户注册登录的合法性。端口名不在此文件中不受限制;端口名在此文件中但用户名不正确不许登录;用户名和端口名皆正确但工作时间不在规定范围内不许登录。
3.用户注册登录立即运行业务处理程序,退出业务处理程序也退出/bin/sh
用户注册登录时系统访问了用户根目录下面的$home/.profile,为了使用户合法注册登录后即进入运行业务处理程序,或退出业务处理程序同时退出注册登录状态,我们可以对$home/.profile进行修改使用户退出业务处理程序时,退至login:状态。
以上三种方法加强了UNIX操作系统端口设备的安全管理,可以分开使用,也可以合并使用,达到对一些远程登录端口和公众场合端口限制管理的目的,有效地阻止了非法用户的登录