UNIX防止非法用户注册的技术
由于SCO Unix操作系统的开放性,网络系统的共享性,数据库的通用性等因素,Unix操作系统数据信息的安全问题显得越来越为突出,特别是终端端口的安全管理工作是目前信息系统安全的重要环节。由于操作系统本身的缺陷,加上营业网点的分散性等因素,留下远程终端包括DDN专线和MODEM的拨号端口以及对外服务终端无法特别监管的隐患,给非法进入者提供了方便之门,因此必须设法加强对Unix操作系统的端口安全管理,增加端口口令和限制登录端口的用户及工作时间等。
工作原理:
操作系统用户注册登录的全过程为:用户打开终端在login:后输入用户名和在passwd:后输入口令字,操作系统接收用户名和口令字后与 /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?,其中?为0、1、2……等。此时使用的是伪tty设备文件,通常登录的端口是不固定的。因此,必须先执行固定通信服务器端口设置程序,此程序由通信服务器生产厂家随产品一起提供。通过在这些设备端口上增加拨入口令,限制远程登录。
2.限定用户在指定的端口和规定的时间内登录
当用户注册登录到Unix操作系统时,必须执行系统文件/etc/profile,我们对这一文件进行修改,让系统去读取用户名、端口名、每周工作日期、每天上班时间、每天下班时间。然后依此文件审查用户注册登录的合法性,端口名不在此文件中不受限制,端口名在此文件中但用户名不正确不许登录,用户名和端口名皆正确但工作时间不在规定范围内不许登录。
3.用户注册登录时立即运行业务处理程序,退出业务处理程序时也退出 /bin/sh。