目前,Unix系统在各行各业使用得相当广泛,因此Unix系统的安全性问题就至关重要。下面根据Unix系统的特点介绍一下如何来加强系统安全管理。
设定较高的安全级
Unix系统共有四种安全级别:High(高级)、Improved(改进)、Traditional(一般)、Low(低级)。这四个级 别安全性由高到低。High级别安全性大于美国国家C2级标准,Improved级别安全性接近于C2级。因此为保证系统具有较高的安全性,最好将 Unix系统级别定为High级。
在安装Unix系统过程中,就有选项让你选择系统级别,可选1、2、3、4,1代表High,2代表Improved,3代表Traditional,4代表Low。为了更好地了解级的差别,可从表1中对口令的默认安全参数进行比较。
参数说明 | 安 全 级 | |||
Low | Traditional | Improved | High | |
口令改变之间最小天数 | 0 | 0 | 0 | 14 |
口令期满时间(天) | 无限 | 无限 | 42 | 42 |
口令生存期(天) | 无限 | 无限 | 182 | 91 |
用户能否选用自己的口令 | 是 | 是 | 是 | 否 |
用户能否运用口令生成程序 | 是 | 是 | 是 | 是 |
口令最大生成长度 | 8 | 8 | 10 | 10 |
检查易见性 | 否 | 否 | 否 | 有 |
是否要求口令注册 | 否 | 否 | 是 | 是 |
单用户是否要求口令 | 是 | 是 | 是 | 是 |
从上可知,越是级别高,对参数的要求越高,安全性越好,但对用户的要求也越高,限制也越多,用户可根据实际情况进行设定。
如果以前设定的级别过高或较低,可用relax命令进行重新设定,也可用#sydmash→system→comfigure→Security→Relax进行设定。
加强用户账户密码的管理
超级用户必须加密,而且要经常更换密码,如发现密码失密,须及时更换。其他用户账号也要求用户加密,也要做到及时更换。
用户账号登录及密码的管理,默认信息放在/etc/default/passwd和/etc/default/login文件中,系统通过 两个文件进行管理。在这两个文件中,系统管理员可以设定密码的最大长度、最小长度、密码的最长生存周数、最小生存周数、允许用户连续登录失败的次数,要求 口令注册情况(是否要口令注册)等。系统管理员可以对这些参数进行合理化配置,加强系统管理。
建立自启动终端
尽量多建立自启动终端,无需用户登录启动应用系统,这样既方便用户,又避免系统损坏的可能性。Unix是一个多用户系统,一般用户对系统的 使用是通过用户注册进去的,系统可设立多个账户,用户通过账号注册进入系统,就有了删除、修改操作系统和应用系统的程序或数据的可能性,不利于操作系统或 应用程序或数据的安全。
对于商业性、服务性的行业,有许多的终端是对外服务的,我们可以设定为自启动的方式,不需用户通过账户进行登录,就可进入应用系统。这样避免操作系统或应用系统的程序或数据被破坏。
具体的方法是:修改/etc/inittab文件,将相应终端号状态由off改为respawn,这样开机后自动执行相应的应用程序,终端就不需用户登录,用户也无法在login状态下登录,保障了系统的安全性。
建立封闭的用户系统
上面介绍建立自启动终端的方法固然安全,但不利于系统资源的充分利用,如果用户想在终端上运行其它应用程序就无法完成,我们可以采用另一种方法来达到目的,那就是建立不同的封闭用户系统,也就是建立不同的封闭用户账号,自动运行不同的应用系统。
所谓封闭的用户系统就是指用户无法用操作系统命令(如ctrl-c或ctrl-backspace)进入系统的SHELL状态。
建立封闭账号的方法:修改相应账号的.profile文件,在.profile文件中运行相应的应用程序,在.profile文件的前面,再加上中断屏蔽命令,命令格式为trap“”12315,在.profile文件末尾再加上一条exit命令。
这样系统运行结束就退回到login状态,使用trap命令的目的就是防止用户在使用过程中使用ctrl-c或ctrl-backspace命令中止系统程序的执行,退回到SHELL状态。
为避免用户能修改自己的.profile文件,还需修改.profile文件权限,权限为640,用户属性为root,用户组为root,这样封闭账号就建立起来了。
撤消已不用的账号
在使用系统的过程中,经常需要建立不同的账号,有些账号随着情况的变化不再使用,这时最好将账号进行撤消。
具体撤消的方法是,#sysadman→account→users→Retire输入要撤消的账号名即可。
控制注册终端时限
为保证系统的安全与完整,避免用户在非工作时限内对应用系统进行非法操作,特设定工作时限。非工作时限指星期日、节假日或上班时间之外的时间。
具体的方法是修改相应的.profile文件,在执行应用系统之前,先判断当日是否是星期日或节假日,如果是星期日、节假日就无法注册成 功,无法执行注册系统。如果是正常工作日,还需检验当前时间是否处于工作时间,如不在工作时间范围内也无法执行应用系统。如果遇到特殊情况,需要加班,则 需由超级用户修改相应的.profile文件,方可执行应用系统。
具体方法如下:
trap“”1 2 3 15
date〉DD
grep sun DD |awk “{print 1}”〉AA
if [-s AA] #检查是否为星期日,如星期日则不可注册
then
echo “/n Today is Sunday,you can not login on!”
exit
fi
TT='date“+H” #如当前时间不在8:00-18:00之间,则不可注册if [$TT -lt 8 -0 $TT -gt 18]
then
echo “/n You must login in the working time!”
exit
fi
banking -em -b4461 #执行应用系统程序
exit
控制注册终端功能
Unix系统是一个多用户的系统,可设有多个终端,终端可放不同的地方、不同的部门,为防止其它部门非法使用应用程序,可限定某些应用程序在限定的终端使用。
具体的方法是:
在相应账号的.profile文件中增加识别终端的语句。如:
trap“”123 15
case 'tty in /dev/tty21[a-d] #如终端非/dev/tty21[a-d]则无法执行
;;
*)
clear
echo“非法终端!”
exit
esac
banking -em -b4461 #执行应用程序
exit
锁定暂不用终端
有些终端暂不需使用,可用命令进行锁定,避免其他人在此终端上使用。
锁定的方法是#sysadmsh→Accounts→Terminal→Lock→输入要锁定的终端的终端号。
如果解锁,方法是#sysadmsh→Accounts→Terminal→Unlock→输入要解锁的终端号。