|
如系统有信任和非信任的uucp户头,最好用PUBDIR选项为这两种户头建立
不同的公共户头,PUBDIR允许系统管理员改变uucico对公共目录的概念(缺省
为/usr/spool/uucppublic).例如:
LOGNAME=nuucp SENDFILES=yes REQUEST=yes \
PUBDIR=/usr/spool/uucppublic/nuucp
LOGNAME=trusted SENDFILES=yes REQUEST=yes READ=/ WRITE=/ \
PUBDIR=/usr/spool/uucppublic/trusted
上面的选项使要送到公共目录中的文件,对于不同登录nuucp和trusted分
别放入不同的目录中.这将防止登录到nuucp的非信任系统在信任系统的公共
目录中拷进和拷出文件(注意:上面的选项允许nuucp请求文件传送).行尾倒斜
杠指明下一行是该行的续行.
用MYNAME选项可以给登录进某一户头的系统赋与一个系统名:
LOGNAME=Xuucp MYNAME=IOnker
(3)MACHINE规则
MACHINE规则用于忽略缺省限制,在MACHINE规则中指定一个系统名表,就
可使uucico调用这些系统时改变缺省限制.READ,WRITE,REQUEST,NOREAD,
NOWRITE,PUBDIR选项的功能与LOGNAME相同.忽略CALLBACK,SENDFILES选项,
MYNAME选项所定义的必须与LOGNAME规则联用,指定将赋给调用系统的名,该名
仅当调用所定义的系统时才用.
MACHINE规则的格式如下:
MACHINE=zuul:gozur:enigma WRITE=/ READ=/
这条规则使远程系统zuul,gozar,enigma能够发送/请求本系统上任何其
他人可读/写的文件.一般不要让远程系统在除/usr/spool/uucppublic目录外
的其它目录读写文件,因此,对于信任的系统也要少用MACHINE规则.
系统名OTHER用于为指定用户外的所有其他用户建立MACHINE规则.
COMMANDS选项用于改变uuxqt通过远程请求执行的缺省命令表.
MACHINE=zuul COMMANDS=rmail:rnews:lp
上面的选项允许系统zuul请求远程执行命令rmail,rnews,lp.uucico不用
这个选项.uuxqt用该选项确定以什么系统的名义执行什么命令.
COMMANDS选项所指定的命令将用缺省设置的路径PATH.PATH在编辑uuxqt
时被建立通常设置为/bin:/usr/bin.在COMMANDS选项中给出全路径名可以忽
略缺省PATH.
MACHINE=zuul COMMANDS=umail:/usr/local/bin/rnews:lp
同样地,对HONEYDANBER UUCP也应当象老UUCP一样不允许远程系统运行
uucp或cat这样的命令.任何能读写文件的远程执行命令都可能威胁局域安全.
虽然局域系统对远程系统名进行一定程序的校核,但是任何远程系统在调用局
域系统时都可自称是"xyz",而局域系统却完全相信是真的.因此局域系统的系
统可能认为只允许了zuul运行lp命令.但实际上任何自称是zuul的系统也被允
许运行lp命令.
有两种方法可以证实系统的身份.一种方法是拒绝用CALLBACK=yes与调用
系统对话.只要电话和网络线未被破密或改变,局域系统就能肯定地确认远程
系统的身份.另一种方法是在LOGNAME规则中用VALIDATE选项.
若必须允许某些系统运行"危险"的命令,可联用COMMANDS和VALIDATE选项,
VALIDATE选项用于LOGNAME规则中指定某系统必须登录到LOGNAME规定的登录
户头下:
LOGNAME=trusted VALIDATE=zuul
MACHINE=COMMANDS=rmail:rnews:lp
当一个远程系统自称是zuul登录时,uucico将查Permissions文件,找到
LOGNAME=trusted规则中的VALIDATE=zuul,若该远程系统使用了登录户头
trusted,uucico将认为该系统的确是zuul继续往下执行,否则uucico将认为该
系统是假冒者,拒绝执行其请求.只要唯有zuul有trusted户头的登录口令,其
它系统就不能假冒它.仅当登录口令是保密的,没有公布给其他非信任的系统
管理员或不安全的系统,VALIDATE选项才能奏效.如果信任系统的登录口令泄
漏了,则任何系统都可伪装为信任系统.
在COMMANDS选项中给出ALL时,将允许通过远程请求执行任何命令.因此,
不要使用ALL!规定ALL实际上就是把自己的户头给了远程系统上的每一个用户.
(4)组合MACHINE和LOGNAME规则
将MACHINE和LOGNAME规则组合在一行中,可以确保一组系统的统一安全,
而不管远程系统调用局域系统还是局域系统调用远程系统.
LOGNAME=trusted MACHINE=zuul:gozur VALIDATE=zuul:gozur \
REQUEST=yes SENDFILES=yes \
READ=/ WRITE=/ PUBDIR=/usr/spool/trusted \
COMMANDS=rmail:rnews:lp:daps
(5)uucheck命令
一旦建立了Permissions文件,可用uucheck -v命令了解uucp如何解释该
文件.其输出的前几行是确认HONEYDANBER UUCP使用的所有文件,目录,命令都
存在,然后是对Permissions文件的检查.
(6)网关(gateway)
邮件转送可用于建立一个gateway机器.gateway是一个只转送邮件给其它
系统的系统.有了gateway,使有许多UNIX系统的部门或公司对其所有用户只设
一个电子邮件地址.所有发来的邮件都通过gateway转送到相应的机器.
gateway也可用于加强安全:可将MODEM连接到gateway上,由gateway转送
邮件的所有系统通过局域网或有线通讯线与gateway通讯.所有这些局域系统
的电话号码,uucp登录户头,口令不能对该组局域系统外的系统公布.如果有必
要,可使gateway是唯一连接了MODEM的系统.
建立一个最简单的gateway是很容易的:对每个登录进系统,想得到转送邮
件的用户,只需在文件/usr/mail/login中放入一行:
Forward to system !login
要发送给户头login的邮件进入gateway后,将转送给登录在系统system的
户头login下的用户.两个登录名可以不同.
gateway建立了一个安全管理的关卡:gateway的口令必须是不可猜测的,
gateway应尽可能只转送邮送而不做别的事.至少不要将重要数据存放在该机
上.在gateway上还应做日常例行安全检查,并且要对uucp的登录进行仔细的检
查.
gateway也为坏家伙提供了一个入口:如果有人非法进入了gateway,他将
通过uucp使用的通讯线存取其它的局域系统和存取含有关于其它局域系统uucp
信息的Systems文件.若这人企图非法进入其它系统,这些信息将对他具有很大
的用处.
经验:
. 若要建立gateway,应确保其尽可能的无懈可击.
. 可在gateway和局域系统间建立uucp连接,使得局域系统定期的与gateway
通讯获取邮件,而gateway完全不用调用局域系统.这样做至少能防止一
个坏家伙通过gateway非法进入局域系统.
. 利用局域系统的Permissions文件对gateway的行为加以限制,使其裸露
程度达到最小,即只转发邮件.这样可使窃密者不能利用gateway获取其
它系统的文件.
(7)登录文件检查
HONEYDANBER UUCP自动地将登录信息邮给uucp.login文件,应当定期地读
这个文件.系统管理员应当检查那些不成功的大量请求,特别是其它系统对本
系统的文件请求.还要检查不允许做的远程命令执行请求.登录信息都保存在
文件中,如果要查看,可用grep命令查看./usr/spool/uucp/.Log/uucico/system
文件中含有uucico登录,/usr/spool/uucp/.Log/uuxqt/system文件含有uuxqt
登录.下面一行命令将打印出uuxqt执行的所有命令(rmail除外):
grep -v rmail /usr/spool/uucp/.Log/uuxqt/*
下面一行命令将打印所有对本系统文件的远程请求:
grep -v REMOTE /usr/spool/uucp/.Log/uucico/* | grep "<"
总之,HONEYDANBER UUCP比老UUCP提供了更强的安全性,特别是提高了远
程命令执行的安全性.
4.其它网络
(1)远程作业登录(RJE)
RJE(remote job entry)系统提供了一组程序及相应的硬件,允许UNIX系
统与IBM主机上的JES(job entry subsystems)通讯.可通过两条命令的send和
usend存取RJE.send命令是RJE的通用的作业提供程序,它将提供文件给JES,就
好像这些作业文件是从卡片阅读机读入的"穿孔卡片"一样.usend命令用于在
使用了RJE系统的UNIX系统间传送文件,它将建立一个"作业"(虚拟的一叠穿孔
卡片),并以send命令的送文件的同样方式将该作业提供给JES.该作业卡片叠
中的控制卡告诉JES数据传送到何处(这里,数据是正被传送的文件).文件传送
的目的地是UNIX系统,但JES认为是一个"行式打印机".RJE系统通常以每秒
9600位的速率与JES通讯.典型的usend命令句法如下:
usend -d system -u login file(s)
system是挂到IBM JES上的另一个UNIX系统名,login是另一个系统上的接
收用户的登录名,file(s)是用户希望传送的文件.
几个关于RJE的安全问题:
. 缺省时,RJE将把文件传送到接收用户的HOME目录中的rje目录.该目录
必须对其他人可写,可执行,这意味着存入rje目录的文件易受到检查,
移动,修改.然而如果该目录的许可方式是733,其他用户就不能用ls列
目录内容寻找感兴趣的文件.被建立的文件对所有者,小组或其他人都
是可读的,所以通过RJE网络传送的安全文件在系统上都是可读的.为什
么这些问题不同于UUCP和/usr/uucppublic目录?
* UUCP定期地清除/usr/spool/uucppublic目录的内容,几天前或几星
期前的老文件将被删除,通常用户将把自己的文件移出uucppublic目
录,以免文件被删除,而存在用户rje目录中的文件不会被清除,所以
有些用户从来不把自己的文件移到其它目录.
* 用户清楚地知道uucppublic目录是一个公共目录,存入重要信息之前,
首先注意将其加密.但是用户却总是容易忘记自己rje目录实际上也
是公共目录,经常忘记将重要文件加密.
. usend命令在其他人可写的目录中建立文件,并重写其他人可写的文件.
. RJE服务子程序是执行一些功能而不是执行文件传送.RJE系统像UUCP一
样也执行远程命令,运行RJE的大多数系统用远程命令执行转送电子邮
件.因为RJE的传输率通常比UUCP更高.遗憾的是RJE没有像UUCP那样的
能力限制能执行的命令和能存取的文件.一个好的经验是将连接到同一
个JES的一组系统,看作这些系统是在同一系统上.
(2)NSC网络系统
NSC(network systems corporation)宽信道网络是一个高速局域网络
(LAN).NSC可将数千个最远相距5000英尺的系统挂在一起,传输速率可高达
50MBIT/S,NSC也可通过的通讯如微波或人造卫星通讯线连接不同系统.
UNIX用户可通过nusend命令存取NSC宽信道,nusend命令的句法与usend命
令相同,除用-c选项传送其他人不可存取的文件外,大多数情况下,nusend的用
法与usend是一样的,换言之,如果无-c选项,文件就是可读的,而且文件路径名
中列出所有目录对其他人也都是可搜索的,前边讨论过的关于RJE的安全问题
的考虑也适合于NSC网络.
可查看NSC记录文件,了解NSC是否正在执行任何不应执行的命令.记录文
件保存在目录/usr/nsc/log中.下面的命令将打印出所有由NSC在本系统上执
行的命令(rmail除外):
grep execute /usr/nsc/log/LOGFILE|grep -v rmail
5.通讯安全
有两种方法可以提供安全的通讯:第一种是保证传输介质的物理安全,即使
任何人都不可能在传输介质上接上自己的窃密线或"窃听",第二种方法是加密重
要数据.
(1)物理安全
如果所有的系统都锁在屋里,并且所有连接系统的网络和接到系统上的终
端都在上锁的同一屋内,则通讯与系统一样安全(假定没有MODEM).但是系统的
通讯线在上锁的室外时,就会发生问题了.
尽管从网络通讯线提取信息所需要的技术,比从终端通讯线获取数据的技
术高几个数量级,上述的同样的问题也倒发生在网络连接上.
用一种简单的(但很昂贵)高技术加压电缆,可以获得通讯的物理安全.这
一技术是若干年前,为美国国家电话系统而发展的.通讯电缆密封在塑料中,埋
置于地下,并在线的两端加压.线上连接了带有报警器的监示器,用来测量压力.
如果压力下降,则意味电缆可能破了,维修人员将被派出寻找与修复出问题的
电缆.
电缆加压技术提供了安全的通讯线.不是将电缆埋置于地下,而是架线于
整座楼中,每寸电缆都将暴露在外.如果任何人企图割电缆,监示器会启动报警
器,通知安全保卫人员电缆已被破坏.如果任何人成功地在电缆上接了自己的
通讯线,安全人员定期地检查电缆的总长度,应可以发现电缆拼接处.加压电缆
是屏蔽在波纹铝钢包皮中的,因此几乎没有电磁发射,如果要用电磁感应窃密,
势必需用大量可见的设备.
这样终端就不必锁在办公室,而只需将安全电缆的端头锁在办公室的一个
盒子里.
另一个增加外部终端物理安全的方法,是在每天下午5点使用计算机的时
间结束时,即当所有用户回家时,断开终端的连接.这样某人若想非法进入系统,
将不得不试图在白天人们来来回回的时间里获取终端的存取权,或不得不在下
午5点手试图潜入计算机房(如果5点后计算机房有操作人员或有安全人员,潜
入计算机房的企图就不可能得逞).
光纤通讯线曾被认为是不可搭线窃听的,其断破处立即可被检测到,拼接
处的传输会令人难以忍耐的缓慢.光纤没有电磁幅射,所以也不能用电磁感应
窃密.不幸的是光纤的最大长度有限制,长于这一长度的光纤系统必须定期地
放大(复制)信号.这就需要将信号转换成电脉冲,然后再恢复成光脉冲,继续通
过另一条线传送.完成这一操作的设备(复制器)是光纤通讯系统的安全薄弱环
节,因为信号可能在这一环节被搭线窃听.有两个办法可解决这一问题:距离大
于最大长度限制的系统间,不要用光纤线通讯(目前,网络覆盖范围半径约100
公里),或加强复制器的安全(用加压电缆,警报系统,警卫).
(2)加密
加密也可提高终端和网络通讯的物理安全,有三种方法加密传输数据:
. 链接加密:在网络节点间加密,在节点间传输加密,传送到节点后解密,
不同节点对间用不同的密码.
. 节点加密:与链接加密类似,不同的只是当数据在节点间传送时,不用明
码格式传送,而是用特殊的加密硬件进行解密和重加密,这种
专用硬件通常旋转在安全保险箱中.
. 首尾加密:对进入网络的数据加密,然后待数据从网络传送出后再进行
解密.网络本身并不会知道正在传送的数据是加密数据.这一
方法的优点是,网络上的每个用户(通常是每个机器的一个用
户)可有不同的加密关键词,并且网络本身不需增添任何专门
的加密设备.缺点是每个系统必须有一个加密设备和相应的
软件(管理加密关键词).或者每个系统必须自己完成加密工
作(当数据传输率是按兆位/秒的单位计算时,加密任务的计
算量是很大的).
终端数据加密是一特殊情况,此时链接加密法和首尾加密法是一样的方
法,终端和计算机都是既为节点又为终止端点.
通讯数据加密常常不同于文件加密,加密所用的方法不应降低数据的传送
速度.丢失或被歪曲了的数据不应当引起丢失更多的数据位,即解密进程应当
能修复坏数据,而不能由于坏数据对整个文件或登录进行不正确地解密.对于
登录会话,必须一次加密一个字节,特别是在UNIX系统的情况下,系统要将字所
返回给用户,更应一次加密一个字节.在网络中,每一链可能需要不同的加密关
键字,这就提出了对加密关键词的管理,分配和替换问题.
DES传送数据的一般形式是以代入法密码格式按块传送数据,不能达到上
述的许多要求.DES采用另一加密方法,一次加密一位或一个字节,形成密码流.
密码流具有自同步的特点,被传送的密码文本中发生的错误和数据丢失,将只
影响最终的明码文本的一小段(64位).这称为密码反馈.在这种方法中,DES被
用作虚拟随机数发生器,产生出一系列用于对明码文本的随机数.明码文本的
每n位与一个DESn位的加密输出数进行异或,n的取值为1-64,DES加密处理的输
入是根据前边传送的密码文本形成的64位的数值.
发n为1时,加密方法是自同步方式:错一位或丢失1位后,64位的密码文本
将不能被正确地解密,因为不正确的加密值将移入DES输入的末端.但是一旦接
收到正确的64位密码,由于DES的加密和解密的输入是同步的,故解密将继续正
确地进行.
DES的初始输入称为种子,是一个同时由传输器和接收器认可的随机数.通
常种子由一方选择,在加密前给另一方.而加密关键词不能以明码格式通过网
络传送,当加密系统加电时在两边都写入加密关键词,并且在许多阶段期间加
密关键词都保持不变,用户可以选择由主关键词加密的阶段关键词,发送到数
据传送的另一端,当该阶段结束后,阶段关键词就不再使用了.主关键词对用户
是不可见的,由系统管理员定期改变,选择哪一种关键词管理方法,常由所用的
硬件来确定.如果加密硬件都有相应的设备,则用种子还是用主关键词阶段关
键词是无关紧要的.
|