1) 保持系统管理员个人的登录安全
若系统管理员的登录口令泄密了,则窃密者离窃取root只有一步之遥了,因为系统管理员经常作为root运行,窃密者非法进入到系统管理员的户头后, 将用特洛依木马替换系统管理员的某些程序,系统管理员将作为root运行这些 已被替换的程序.正是因为这个原因,在UNIX系统中,管理员的户头最常受到攻击.即使su命令通常要在任何都不可读的文件中记录所有想成为root的企图, 还可用记帐数据或ps命令识别运行su命令的用户.也是如此,系统管理员作为root运行程序时应当特别小心,因为最微小的疏忽也可能"沉船".下列一些指导规则可使系统管理员驾驶一艘"坚固的船":
● 不要作为root或以自己的登录户头运行其他用户的程序,首先用su命令进入用户的户头.
● 决不要把当前工作目录排在PATH路径表的前边,那样实际是招引特洛依木马.当系统管理员用su命令进入root时,他的PATH将会改变,就让PATH保持这样,以避免特洛依木马侵入
● 敲入/bin/su执行su命令.若有su源码,将其改成必须用全路径名运行(即su要确认argv[0]的头一个字符是"/"才运行).随着时间的推移,用户和管理员将养成敲/bin/su 的习惯.
● 不要未注销户头就离开终端,特别是作为root用户时更不能这样.当系统管理员作为root 用户时,命令提示符是"#",这个提示符对某些人来说可能 是个红灯标志.
● 不允许root在除控制台外的任何终端登录(这是login的编译时的选项), 如果没有login 源码,就将登录名root改成别的名,使破坏者不能在root登录名下猜测各种可能的口令,从而非法进入root的户头.
● 经常改变root的口令. . 确认su命令记下的想运行su企图的记录/usr/adm/sulog,该记 录文件许可方式是600,并属root所有.这是非法者喜欢选择来替换成特洛依木马的文件.
● 不要让某人作为root运行,即使是几分钟,即使是系统管理员在一旁注视 着也不行!
(1) 加限制的shell(rsh)
该shell几乎与普通的shell相同,但是该shell的设计能限制一个用户的 能力,不允许用户有某些标准shell所允许的行为:
不能改变工作目录(cd).
不能改变PATH或SHELL shell变量.
不能使用含有"/"的命令名.
不能重定向输出(>和>>).
不能用exec执行程序.
用户在登录时,招待.profile文件后系统就强加上了这些限制,如果用户在.profile文件正被解释时按了BREAK键或DELETE键,该用户将被注销.
这些简单的限制,使用写受限制用户的.profile文件的系统管理员可以对用户能使用什么命令,进行完全的控制.
应当注意:系统V加限制的shell实际上不是很安全,在敌对的用户时不要 用.系统V版本2以后的版本中加限制的shell更安全些.但若允许受限制的用户 使用某些命令(如env,cp,ln),用户将能逃避加限制的shell,进入非限制的 shell.
(2) 用chroot()限制用户
如果的确想限制一个用户,可用chroot()子程序为用户建立一个完全隔离 的环境,改变了进程对根目录的概念,因此可用于将一个用户封在整个文件系 统的某一层目录结构中,使用户无法用cd命令转出该层目录结构,不能存取文 件系统中其余部分的任何文件.这种限制方式比加限制的shell好得多.用户使 用的命令应由系统管理员在新的root目录中建立一个bin目录,并建立用户可 用命令的链到系统的/bin目录中相应命令文件上(若在不同的文件系统则应拷 贝命令文件).
还应建立新的passwd文件,保留系统登录户头(为了使ls -l正确地报告与 受限制的子文件系统中的文件相关的正确登录名)和用户帐户,但系统帐户的 口令改为NOLOGIN以使受限制的用户不能取得系统登录的真实口令,使"破密" 程序的任何企图成为泡影.
utmp文件是who所需要的,该文件含有系统中已登录用户的列表. 新的/etc/profile文件也不是建链文件,以便受限制的用户可以执行不同的启动命令.
/dev目录中的终端设备文件被链接到新的/dev目录下,因为命令who产生输出时要查看这些文件.
在系统V及以后的UNIX版本中,login命令有chroot()的功能.如果口令文件中用户入口项的登录shell域(最后一个域)是*,login将调用chroot()把用户的根目录设置成为口令文件中用户入口项登录目录域指定的目录.然后再调 用exec()执行login,新的login将在新子系统文件中执行该用户的登录.
chroot()并不是把root封锁在一个子文件系统中,所以给受限制用户用的 命令时应加以考虑,具有root的SUID许可的程序可能会给予用户root的能力. 应当将这种可能减低到最小程度,交给用户使用的命令应当取自清除了SUID陷 井的系统命令.链接文件可减少磁盘占用区,但要记住,当与敌对用户打交道时 链接到chroot目录结构(尤其是命令)的系统文件是很危险的.
如果建立一个像这样的限制环境,应确保对安装到新的/bin的每条命令都 做过测试,有些程序可能有系统管理员未曾想到的出乎意料的执行结果.为了使这些命令能运行,还得在加限制的子文件系统中加服务目录或文件如:/tmp, /etc/termcap,/usr/lib/terminfo,/dev/mem,/dev/kmem,/dev/swap,用户所 登录的/dev中的tty文件以及/unix.
有些程序在子文件系统中运行时不会很好,如果将假脱机程序和网络命令拷贝到加限制的子文件系统中,并放在为两条命令专建的目录层结构下,它们可能也运行不了.
如何清除黑客程序
得知不少网友深受黑客程序之苦,我在这想介绍一些防治黑客程序的土方法.本人只是想帮助网友,绝无班门弄斧之意,请电脑高手和黑客大侠不要见笑.并请不烦赐教.目前流行的黑客程序主要有两种:Back Orifice(BO)和Netspy。BO在全球影响最大,Netspy由国内黑客编制,全中文界面,功能较弱,但使用简单,所以在国内危害很大。
BO 运行c:windows目录下的Regedit.exe,然后点击目录至HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion
RunServices看右边是否有某个ab项出现(默认) ".exe",如果有立即删除这个ab项,并确认删除后原来".exe"的地方变为(未设置键值)。接着点击开始菜单的“关闭系统”,选择“重新启动计算机并切换到MS-DOS方式”。退出后,输入cd c:windowssystem 回车,输入del exe~1 回车,输入 del windll.dll 回车, 返回windows。
Netspy 运行c:windows目录下的Regedit.exe,然后点击目录至HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion
Run看右边是否有两个ab项分别出现NETSPY和SPYNOTIFY,如果有,立即删除这两个ab项。用同上的方法退出到MS-DOS方式,输入cd c:windowssystem 回车,输入del netspy.exe回车,输入del spynot~1.exe 回车,返回windows。解决中黑客程序的方法还有使用杀毒软件,使用杀毒软件的另一个好处在于可以查找出硬盘中感染黑客程序的文件。以防因再次运行该文件而再次中黑客程序。由于Netspy是国内编制的,国外杀毒软件对它不一定有效,所以建议使用国内杀毒软件。国内杀毒软件有好几种,大家只能选自已喜欢了罗。这里推荐行天98(AV98),因为它是免费的!可以 http://168.160.224.220/win95/av98w71s.zip下载。但它有使用限制,只能免费使用到99年9月,继续使用的办法是把WINDOWS的系统日期改成99年9月前的任意一天,或者注册。如何防止再次中黑客程序呢?除了用杀毒软件查出并清除硬盘中感染有黑客程序的文件,还要谨慎对待网上下载任何EXE、com可执行文件及ZIP,ARJ等压缩文件,对于可信任的人所寄的邮件所带附件中的以上文件也要特别小心,也许你的朋友中了黑客程序还不知道,天真地寄来与你分享呢!谨慎对待就是下载后先用杀毒软件检查一遍,确定无害了再执行、使用。许多网友就是懒得进行这几秒种的检查,才中了CIH,黑客程序。轻则被侵入者删了系统文件,重装系统;重则数据全无,主板换一块!再不然,就是被人破译上网帐号,那就有你好看的了!最后忠告那些使用、投放黑客程序及想学黑客的人:真正的黑客是不屑于使用这些傻瓜得近乎弱智的黑客工具。想学黑客?乖乖去学好编程、网络技术、UNIX吧。别以为用这玩意儿别人就找不到你,window自带的netstat就能把你的IP显示得一清二楚!也别想偷拿别人的帐号省钱,上网花的是电话费,一个上网费省不了几毛。即使你偷用了别人的帐号,ISP商对每个时间每个帐号的拨号电话号码都是有记录的,要抓你轻而易举!
保证信息系统安全的主要问题是建立安全机制,迄今为止已发展了许多安全机制,但安全问题仍然倍受怀疑和关注。象电子商务这种应用是否会得到充分的推广,将在很大程度上取决于人们对网络环境下的信息系统安全的信心。由于已从理论上证明不存在绝对安全的安全系统,因此一般将审计跟踪、攻击检测系统作为信息系统的最后一道安全防线。
早期中大型的计算机系统中都收集审计信息来建立跟踪文件,这些审计跟踪的目的多是为了性能测试或计费,因此对攻击检测提供的有用信息比较少;此外,最主要的困难在于由于审计信息粒度的安排,审计信息粒度较细时,数据过于庞大和细节化,而由于审计跟踪机制所提供的信息的数据量过于巨大,将有用的信息源没在其中;因此,对人工检查由于不可行而毫无意义。
对于攻击企图/成功攻击,被动审计的检出程度是不能保证的。通用的审计跟踪能提供用于攻击检测的重要信息,例如什么人运行了什么程序,何时访问或修改过那些文件,使用过内存和磁盘空间的数量等等;但也可能漏掉部门重要的攻击检测的相关信息。为了使通用的审计跟踪能用于攻击检测等安全目的,必须配备自动工具对审计数据进行分析,以期尽早发现那些可疑事件或行为的线索,给出报警或对抗措施。
(一)基于审计信息的攻击检测技术
1、检测技术分类
为了从大量的、有时是冗余的审计跟踪数据中提取出对安全功能有用的信息,基于计算机系统审计跟踪信息设计和实现的系统安全自动分析或检测工具是很必要的,可以用以从中筛选出涉及安全的信息。其思路与流行的数据挖掘(Data Mining)技术是极其类似的。
基于审计的自动分析检测工具可以是脱机的,指分析工具非实时地对审计跟踪文件提供的信息进行处理,从而得到计算机系统是否受到过攻击的结论,并且提供尽可能多的攻击者的信息;此外,也可以是联机的,指分析工具实时地对审计跟踪文件提供的信息进行同步处理,当有可疑的攻击行为时,系统提供实时的警报,在攻击发生时就能提供攻击者的有关信息,其中可以包括攻击企图指向的信息。
2、攻击分类
在安全系统中,一般至少应当考虑如下三类安全威胁:外部攻击、内部攻击和授权滥用。攻击者来自该计算机系统的外部时称作外部攻击;当攻击者就是那些有权使用计算机,但无权访问某些特定的数据、程序或资源的人意图越权使用系统资源时视为内部攻击,包括假冒者(即那些使用其他合法用户的身份和口令的人)秘密使用者(即那些有意逃避审计机制和存取控制的人);特权滥用者也是计算机系统资源的合法用户,表现为有意或无意地滥用他们的特权。
通过审计试图登录的失败记录可以发现外部攻击者的攻击企图;通过观察试图连接特定文件、程序和其他资源的失败记录可以发现内部攻击者的攻击企图,如可通过为每个用户单独建立的行为模型和特定的行为的比较来检测发现假冒者;但要通过审计信息来发现那些授权滥用者往往是很困难的。
基于审计信息的攻击检测特别难于防范的攻击是具备较高优先特权的内部人员的攻击;攻击者可通过使用某些系统特权或调用比审计本身更低级的操作来逃避审计。对于那些具备系统特权的用户,需要审查所有关闭或暂停审计功能的操作,通过审查被审计的特殊用户、或者其他的审计参数来发现。审查更低级的功能,如审查系统服务或核心系统调用通常比较困难,通用的方法很难奏效,需要专用的工具和操作才能实现。总之,为了防范隐秘的内部攻击需要在技术手段而外确保管理手段的行之有效,技术上则需要监视系统范围内的某些特定的指标(如CPU、内存和磁盘的活动),并与通常情况下它们的历史记录进行比较,以期发现之。
3、攻击检测方法
(1)检测隐藏的非法行为
基于审计信息的脱机攻击检测工作以及自动分析工具可以向系统安全管理员报告此前一天计算机系统活动的评估报告。
对攻击的实时检测系统的工作原理是基于对用户历史行为的建模以及在早期的证据或模型的基础。审计系统实时地检测用户对系统的使用情况,根据系统内部保持的用户行为的概率统计模型进行监测,当发现有可疑的用户行为发生时,保持跟踪并监测、记录该用户的行为。SRI(Stanford Ressearch Institute)研制开发的IDES(Intrusion-Detection Expert System)是一个典型的实时检测系统。IDES系统能根据用户以前的历史行为决定用户当前的行为是否合法。系统根据用户的历史行为,生成每个用户的历史行为记录库。IDES更有效的功能是能够自适应地学习被检测系统中每个用户的行为习惯,当某个用户改变他的行为习惯时,这种异常就会被检测出来。目前IDES中已经实现的监测基于以下两个方面:
一般项目:例如CPU的使用时间:I/O的使用通道和频率,常用目录的建立与删除,文件的读写、修改、删除,以及来自局域网的行为;
特定项目:包括习惯使用的编辑器和编译器、最常用的系统调用、用户ID的存取、文件和目录的使用。
IDES除了能够实时地监测用户的异常行为。还具备处理自适应的用户参数的能力。在类似IDES这样的攻击检测系统中,用户行为的各个方面都可以用来作为区分行为正常或不正常的表征。例如,某个用户通常是在正常的上班时间使用系统,则偶然的加班使用系统会被IDES报警。根据这个逻辑,系统能够判断使用行为的合法或可疑。显然这种逻辑有“肃反扩大化/缩小化”的问题。当合法的用户滥用他们的权利时,IDES就无效了。这种办法同样适用于检测程序的行为以及对数据资源(如文件或数据库)的存取行为。
(2)基于神经网络的攻击检测技术
如上所述,IDES(Intrusion Detection Expert System)类的基于审计统计数据的攻击检测系统,具有一些天生的弱点,因为用户的行为可以是非常复杂的,所以想要准确匹配一个用户的历史行为和当前的行为相当困难。错发的警报往往来自对审计数据的统计算法所基于的不准确或不贴切的假设。作为改进的策略之一,SRI(Stanford Research Institute)的研究小组利用和发展神经网络技术来进行攻击检测。 神经网络可能用于解决传统的统计分析技术所面临的以下几个问题:
①难于建立确切的统计分布:统计方法基本上是依赖于用户行为的主观假设,如偏差高斯分布;错发警报常由这种假设所导致。②难于实现方法的普适性:适用于某类用户行为的检测措施一般无法适用于另一类用户。③算法实现比较昂贵:由于上面一条原因,即基于统计的算法对不同类型的用户行为不具有自适应性,因此算法比较复杂而且庞大,导致算法实现上的昂贵。而神经网络技术不存在这个问题,实现的代价较小。④系统臃肿难于剪裁:由于采用统计方法检测具有大量用户的计算机系统,将不得不保留大量的用户行为信息,导致系统的臃肿和难于剪裁。而基于神经网络的技术能够回避这一缺点,根据实时检测到的信息有效地加以处理作出攻击可能性的判断。
目前,神经网络技术提出了对基于传统统计技术的攻击检测方法的改进方向,但尚不十分成熟,所以传统的统计方法仍将继续发挥作用,也仍然能为发现用户的异常行为提供相当有参考价值的信息。
(3)基于专家系统的攻击检测技术
进行安全检测工作自动化的另外一个值得重视的研究方向就是基于专家系统的攻击检测技术,即根据安全专家对可疑行为的分析经验来形成一套推理规则,然后再在此基础之上构成相应的专家系统。由此专家系统自动进行对所涉及的攻击操作的分析工作。
所谓专家系统是基于一套由专家经验事先定义的规则的推理系统。例如,在数分钟之内某个用户连续进行登录,且失败超过三次就可以被认为是一种攻击行为。类似的规则在统计系统似乎也有,同时应当说明的是基于规则的专家系统或推进系统也有其局限性,因为作为这类系统的基础的推理规则一般都是根据已知的安全漏洞进行安排和策划的,而对系统的最危险的威胁则主要是来自未知的安全漏洞。实现一个基于规则的专家系统是一个知识工程问题,而且其功能应当能够随着经验的积累而利用其自学习能力进行规则的扩充和修正。当然这样的能力需要在专家的指导和参与下才能实现,否则可能同样会导致较多的错报现象。一方面,推进机制使得系统面对一些新的行为现象时可能具备一定的应对能力(即有可能会发现一些新的安全漏洞);另一方面,攻击行为也可能不会触发任何一个规则,从而不被检测到。专家系统对历史数据的依赖性总的来说比基于统计的技术的审计系统较少,因此系统的适应性比较强,可以较灵活地适应广谱的安全策略和检测需求。但是迄今为止推理系统和谓词演算的可计算问题距离成熟解决都还有一定的距离。
(4)基于模型推理的攻击检测技术
攻击者在攻击一个系统时往往采用一定的行为程序,如猜测口令的程序,这种行为程序构成了某种具有一定行为特征的模型,根据这种模型所代表的攻击意图的行为特征,可以实时地检测出恶意的攻击企图。虽然攻击者并不一定都是恶意的。用基于模型的推理方法人们能够为某些行为建立特定的模型,从而能够监视具有特定行为特征的某些活动。根据假设的攻击脚本,这种系统就能检测出非法的用户行为。一般为了准确判断,要为不同的攻击者和不同的系统建立特定的攻击脚本。
当有证据表明某种特定的攻击模型发生时,系统应当收集其他证据来证实或者否定攻击的真实,既要不能漏报攻击,对信息系统造成实际的损害,又要尽可能的避免错报。
TCP/IP网络通信软件包使用远程访问的命令,这些命令首先是由UC Berkely为Arpanet开发的。它允许您远程注册到另一个系统中,并从一个系统复制文件到另一个系统。您能取得关于一个系统的信息,比如当前谁正在注册使用。调用一个系统的地址时,这些远程命令使用域名或IP地址。和TCP/IP远程访问命令一样,域名地址开始好是为在Arpanet上使用而设计。
&nbps;许多TCP/IP命令可以和用在Internet上的网络通信功能相比较。例如,用TCP/IP命令rlogin可以远程注册到一个系统,它和telnet相似。rcp命令能远程复制文件,它执行和ftp相同的功能。TCP/IP命令的不同之处是它们提供给用户的易用和易控制性。您能很容易地访问在不同的Unix或Linux系统中的帐号,并且能控制访问这些帐号但没有提供口令的用户。事实上您能提供给不同的用户提供关于您的帐号的一种组权限。
一、TCP/IP网络系统信息:rwho,uptime和ping
这些命令是一些TCP/IP命令,通过它们,您能从网络中的不同系统上取得信息。您能找到谁正在注册,得到另一个系统中用户的信息,或查询一个系统是否正在运行。例如,rwho命令和who命令的功能很相似。它显示网络中的每个系统的当前注册的用户。
$rwho
violet robert:tty1 Sept 10 10:34
garnet chris:tty2 Sept 10 09:22
命令ruptime可以显示网络中的每个系统的信息。此信息能显示出每个系统是如何执行。ruptime显示系统是否运行,它运行了多久,系统中的用户数和系统在最后5、10和15分钟内的系统负荷。
$ruptime
violet up 11+04:10, 8 users, load 1.20 1.10
garnet up 11+04:10, 20 users, load 1.50 1.30
命令ping能检测出系统是否启动和运行。ping命令加上您想检测的系统名做为参数,下面的例子将检测violet是否启动并连接在网络中。
$ping violet
violet is alive
$
如果您想检测的系统已经关机,将得到一个如下的响应。这种情况下,garnet是关闭并没有连接到网络中。
$ping garnet
no answer from garnet
$
二、远程访问权限:.rhosts
您能用.rhosts文件控制使用TCP/IP命令对您帐号的访问。用户能用标准的编辑器象Vi来创建他们帐号中的.rhosts文件。它必须位于用户的主目录。下面的例子中,使用者显示文件.rhosts文件的内容。
$cat.rhosts
garnet chris
ciolet robert
使用.rhosts文件是一种允许用户不提供口令而访问您的系统的简单方法。如果需要禁止此用户访问,只须简单地从文件.rhost中删除系统各和用户注册名。如果一个用户的注册名和系统名在文件.rhost中,那么此用户即呆不提供口令直接访问系统。并不是所有的远程注册操作都需要这种访问形式(您能用输入口令的方式来替代);但一些远程命令要求有.rhosts文件,象远程复制文件或远程执行Linux命令。如果您想在远程系统的帐号中招待这些命令,此帐号的.rhosts文件中必须有您 的注册名和系统名。
通过.rhosts对某一系统进行访问时,也允许您使用TCP/IP命令直接访问系统中您的其他帐号。您不需要先注册到这些帐号中。可以把系统中您的其他帐号做为当前注册帐号的扩展。不管文件牌佻 的哪个账号下,都可以用frcp命令从一个目录复制到另一个目录。用命令rsh,可以在您的其他帐号中招待任何Linux命令。
三、远程注册:rlogin
您可能在网络中的不同系统上都有自己的帐号,或者可以访问别人在另一个系统上的帐号。要访问别的系统中的帐号,首先要注册到您的系统中,接着通过网络远程注册到帐号所在的系统中。用命令rlogin可以远程注册支别的系统。命令的参数应是一个系统名。命令将把您连接到另一个系统中并开始注册的过程.
用rlogin的注册过程和一般的注册过程有所不同,用rlogin时用户不被提示输入注册名。rlogin假设您的本地系统中的注册名和远程系统中的一致。所以象上面执行rlogin命令时,您将马上被提示输入口令。输入口令后,您即可进入远程系统各的帐号。
用rlogin假设注册各是相同的,因为大多数的人用rlogin访问别的系统中的注册名一般和本地的注册名是相同的。然而,当远程系统中的注册名和本地系统的不同时,选项1-允许您输入远程系统帐户的不同的注册名。语法如下所示:
$rlogin system-name -1 login-name
在下面的例子中,用户使用注册名robert注册到violet的系统中。
$rlogin violet-1 robert
password
$
: 一旦注册到远程系统中,您能执行任何命令。可以用exit、CTRL-d或logout(TCSH或C-shell)结束连接。
四、远程复制文件:rcp
您能用命令rcp从远程系统复制文件到本地系统中。rcp执行文件传输的功能,它的操作和cp命令很相似,但它是通过网络连接到另一系统。执行命令rcp时要求远程系统的。rhosts文件中有您的本地系统名和注册各。命令rcp用关键字rcp开头,参数为源文件名和复制的目标文件名。为了指定文件在远程系统中,您需要在文件名前放置一个系统名,两者之间用冒号分隔,如下所示:
$rcp system-name:source-file slystem-name:copy-file
当复制一个文件到远程系统中时,复制的目标文件是远程文件,它要求带有系统名。而源文件在您的本机系统中,不要求系统名:
$rcp source-file remote-system-name:copy-file
在下面的例子中,用户从自己的系统中复制文件weather到远程系统violet并重命名为monday.
$rcp weather violet:Monday
从远程系统中复制一个文件到本地时,源文件是远程文件,它要求带有系统名。而复制的目标文件在您的本机系统中,不要求系统名:
$rcp remote-system-name:source-file copy-file
在下面的例子中,用户从远程系统之间复制整个目录。rcp命令加上-r选项将从一个系统复制一个目录和它的子目录到另一个系统。象cp命令一样,rcp要求一个源目录和复制目录。在远程系统中的目录要求系统名和一个以分隔系统名和目录名的冒号,以及目录名。当从您的系统复制目录到一个远程系统,则在远程系统中的复制目录需要远程系统名。
$rcp -r source-directory remote-system-name:copy-directory
在下面的例子中,使用者把目录letters复制到远程系统violet中的目录oldnotes中。
$rcp-r letters violet:oldnotes
当从您的系统复制一个远程系统中的目录到本地时,在远程系统中的源目录需要远程系统名。
$rcp-r remote-system-name:source-directory copy-directory
在下面的例子中,使用者把远程系统violet中的目录birthdays复制到本地的目录party中。
$rcp-r violet:birthdays party
同时,您可以用星号指定名字,或用圆点引用当前目录。对于Shell的特殊字符,是由您的本地系统进行解释转换,而不是远程系统。为了使远程系统解释转换一个特定字符,您必须通进某种方式引用它。为了复制远程系统种所有带扩展名.c的文件到您的系统中,您需要用特殊字符-星号:*.c来指定所有的带扩展名.c的文件。您必须注意引用星号的方式。下面的例子中,在系统violet中的带.c扩展名的文件被复制到使用者的系统中。注意,星号是通过一个反斜杠引用。而最后的圆点,表示当前的目录,并没被引用。它是由您的本地系统解释并转换的。
$rcp violet:*.c
下面的例子中,目录report将从使用者的本地系统复制到远程系统的当前目录中。注意圆点被引用,它将被远程系统解释转换。
$rcp -r reports violet:.
五、远程执行:rsh
您可能需要在远程系统中执行一个命令。rsh命令将在远程Linux系统上执行一个命令并把结果显示到您的系统中。当然,您的系统名和注册名必须在远程系统的.rhosts文件中,命令rsh有两个一般的参数,一个系统名和一个Linux命令。语法如下所示:
$rsh remote-sytem-neame Linux-command
在下面的例子中,rsh命令将在远程系统violet中执行一个ls命令以列出在violet中目录/home/robert中的文件。
$rsh violet ls /home/robert
除非是引用特定字符,否则它将被本李系统解释转换,对于控制标准输出的特殊字符更是如此,象重定向或管道字符。下面的例了中列出远程系统上的文件,并把它们送到本系统中的标准输出。重定向操作由本地系统解释,并把输出改向到本地系统中的文件myfiles中。
$rsh violet ls /home/robert>myfiles
如您引用一个特定字符,它将成为Linux命令的一部分被远程系统解释。引用重定向操作符将允许您在远程系统中执行重定向操作。下面的例子中,引用一个重定向操作符。它变成Linux命令的一部分,包括命令的参数,文件名myfile。命令ls产生一列文件名并把它们重定向到远程系统中的一个文件myfile中。
$rsh violet ls /hom
----公 开 密 钥 基 础 设 施(Public Key Infrastructure, PKI) 是 近 几 年 涌 现 的 一 种 新 的 安 全 技 术, 它 是 由 公 开 密 钥 密 码 技 术、 数 字 证 书、 证 书 发 行 机 构(Certificate Authority,CA) 和 关 于 公 开 密 钥 的 安 全 策 略 等 基 本 成 分 共 同 组 成 的。MS Windows NT 4.0 及 其 后 续 者Windows 2000, 提 供 了Windows 环 境 下 的PKI。 特 别 是Win2000 的PKI, 可 以 使 企 业 网 络 管 理 员 为 企 业 网 络 建 立 完 善 的、 适 合 企 业 应 用 需 求 的PKI。
----Microsoft PKI 的 基 础 是 它 的 加 密API — CryptoAPI 2.0, 该API 为 公 开 密 钥 安 全 机 制 提 供 了 加 密 服 务 和 证 书 管 理 服 务。CryptoAPI 的 加 密 服 务 执 行 诸 如 密 钥 产 生、 数 字 签 名 和 加 密 等 功 能, 而 证 书 管 理 服 务 提 供 了 管 理 和 存 储X.509v3 数 字 证 书 的 功 能。Win2000 PKI 的 组 成 部 件 有: 密 码 服 务 提 供 者(Cryptographic Service Provider ,CSP)、 证 书 服 务 器(Certificate Server)、 智 能 卡 服 务、 安 全 通 道、 认 证 码(Authenticode)、 加 密 文 件 系 统(Encrypting File System,EFS)、 Microsoft Exchange Server 密 钥 管 理(Key Management,KM) 服 务 器 和PKI 应 用 程 序。Win2000 PKI 的 基 本 构 架 如 下 图 所 示(图略)。
----Win2000 具 有 模 块 化 的PKI 结 构, 使 管 理 员 能 够 方 便 地 升 级、 集 成、 扩 展 和 开 发 企 业 的PKI, 而 无 需 改 变 下 层 的 操 作 系 统 内 核。 例 如,Exchange Server 5.5 使 用 它 的KM 服 务 器 来 发 行 和 管 理Exchange Server 客 户 证 书, 而 在 安 装 了Service Pack 1 之 后, 它 就 使 用Certificate Server 而 不 是KM 服 务 器 来 完 成 这 些 任 务 了。
----开 发 人 员 可 以 建 立 基 于Microsoft 提 供 的 PKI 部 件 和CryptoAPI 的PKI 应 用 程 序, 如 可 以 使 用CryptoAPI 和 数 字 证 书 来 加 密 和 认 证MMQS(Microsoft Message Queue Server) 应 用 程 序 中 的 消 息。 管 理 员 可 以 根 据 网 络 应 用 的 需 求, 有 选 择 地 使 用Microsoft PKI 部 件。 若 企 业 需 要 建 立 一 个 安 全 的Web 站 点, 就 可 以 使 用Certificate Server 和IIS 及IE 内 嵌 的 安 全 通 道 功 能。
网络和单个系统在Windows 2000下要远比Windows NT 4更加安全。对安全性要求极高的金融机构和其它公司或部门会很满意这个新的操作系统。但是,全面利用Windows 2000的安全性意味着必须使用Active Directory,并且需要相当重视管理并进行重要的培训。
认证—确定用户是否名副其实—已经在Windows 2000中经受了彻底检查。如果你拒绝采用Active Directory,Server版本仍然支持Windows NT 4的NTLM(Windows NT LAN Manager,Windows NT局域网管理器)协议,因而能够对原有的客户进行认证,不过Active Directory还提供了对Kerberos 5的支持。
Kerberos最大的好处是单次登录,登录后客户不需要重新认证就能访问网络中的其它Windows 2000服务器。Kerberos采用一种称为密钥分发中心(Key Distribution Center,KDC)的特殊服务器,它在Windows 2000上必须是一个域控制器。KDC为客户提供“门票”,以便提交给其它服务器进行认证。与NTLM不同,Kerberos可以用来进行服务器之间的相互认证;它还可以让客户对服务器进行认证。利用其它的Kerberos 5工具,或者通过被信任的数字证书权限,单次登录还可以扩充到非Windows 2000服务器上。同Windows 98一样,Windows 2000 Professional客户端能通过符合PC/SC 1.0规范的智能卡进行认证。
Windows 2000具有公共密钥加密基础架构。证书服务(Certificate Services)是通过密码保护的加密数据文件,其中包含的数据可用于对传输系统进行鉴别,证书服务可以分发、管理和撤消数字证书。基于公司的证书服务器可以用于客户机与服务器之间的相互认证,或者对不安全的联接中的数据进行加密—特别是对于Business-to-Business的电子商务。
Windows 2000可以使用IPSec这种加密的IP协议来加密网络上的数据。同样,它可以在更高的传输层上使用SSL和更新的TLS规范来加密数据。在Active Directory中,这两种方式都可以被设置为强制性策略,以便特定的客户机和服务器之间能够进行通信。Windows 2000的公共密钥加密是其VPN支持的基础。
但是该操作系统中最棒的加密措施是加密文件系统(Encrypting File System,EFS),它允许你使用只有个别用户和经过认证的恢复代理能够解密的密钥对保存在磁盘上的文件进行加密。EFS改善了容易受到侵袭的系统(例如笔记本电脑)的安全性。除非数据窃贼知道用户的密码,否则就不可能得到加密的数据。EFS非常易于使用;加密不过是文件或文件夹的另一个属性。
Windows 2000中的缺省用户权限比Windows NT 4要严格许多。例如,我们发现,如果用户没有Program FilesNetscapeCommunicatorUsers文件夹的写权限,Netscape Communicator将不能启动,因为它需要在那里写入配置信息。要解决这一类问题,你可以将用户划分到权限更强的组中的成员,或者,如果可能的话,对权限进行微观的管理。使用符合Windows 2000应用规范(Windows 2000 Application Specification)的应用程序也可以解决这种问题。为了有效地利用Windows 2000中众多的安全工具,预先的规划是必需的。负责Windows 2000网络安全性的人员最好能接受专门的研究培训。
目前的局域网基本上都采用以广播为技术基础的以太网,任何两个节点之间的通信数据包,不仅为这两个节点的网卡所接收,也同时为处在同一以太网上的任何一个节点的网卡所截取。因此,黑客只要接入以太网上的任一节点进行侦听,就可以捕获发生在这个以太网上的所有数据包,对其进行解包分析,从而窃取关键信息,这就是以太网所固有的安全隐患。
事实上,Internet上许多免费的黑客工具,如SATAN、ISS、NETCAT等等,都把以太网侦听作为其最基本的手段。
当前,局域网安全的解决办法有以下几种:
1.网络分段
网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项重要措施。其目的就是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法侦听,网络分段可分为物理分段和逻辑分段两种方式。
目前,海关的局域网大多采用以交换机为中心、路由器为边界的网络格局,应重点挖掘中心交换机的访问控制功能和三层交换功能,综合应用物理分段与逻辑分段两种方法,来实现对局域网的安全控制。例如:在海关系统中普遍使用的DEC MultiSwitch 900的入侵检测功能,其实就是一种基于MAC地址的访问控制,也就是上述的基于数据链路层的物理分段。
2.以交换式集线器代替共享式集线器
对局域网的中心交换机进行网络分段后,以太网侦听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为单播包Unicast Packet)还是会被同一台集线器上的其他用户所侦听。一种很危险的情况是:用户TELNET到一台主机上,由于TELNET程序本身缺乏加密功能,用户所键入的每一个字符(包括用户名、密码等重要信息),都将被明文发送,这就给黑客提供了机会。
因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法侦听。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。所幸的是,广播包和多播包内的关键信息,要远远少于单播包。
3.VLAN的划分
为了克服以太网的广播问题,除了上述方法外,还可以运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,防止大部分基于网络侦听的入侵。
目前的VLAN技术主要有三种:基于交换机端口的VLAN、基于节点MAC地址的VLAN和基于应用协议的VLAN。基于端口的VLAN虽然稍欠灵活,但却比较成熟,在实际应用中效果显著,广受欢迎。基于MAC地址的VLAN为移动计算提供了可能性,但同时也潜藏着遭受MAC欺诈攻击的隐患。而基于协议的VLAN,理论上非常理想,但实际应用却尚不成熟。
在集中式网络环境下,我们通常将中心的所有主机系统集中到一个VLAN里,在这个VLAN里不允许有任何用户节点,从而较好地保护敏感的主机资源。在分布式网络环境下,我们可以按机构或部门的设置来划分VLAN。各部门内部的所有服务器和用户节点都在各自的VLAN内,互不侵扰。
VLAN内部的连接采用交换实现,而VLAN与VLAN之间的连接则采用路由实现。目前,大多数的交换机(包括海关内部普遍采用的DEC MultiSwitch 900)都支持RIP和OSPF这两种国际标准的路由协议。如果有特殊需要,必须使用其他路由协议(如CISCO公司的EIGRP或支持DECnet的IS-IS),也可以用外接的多以太网口路由器来代替交换机,实现VLAN之间的路由功能。当然,这种情况下,路由转发的效率会有所下降。
无论是交换式集线器还是VLAN交换机,都是以交换技术为核心,它们在控制广播、防止黑客上相当有效,但同时也给一些基于广播原理的入侵监控技术和协议分析技术带来了麻烦。因此,如果局域网内存在这样的入侵监控设备或协议分析设备,就必须选用特殊的带有SPAN(Switch Port Analyzer)功能的交换机。这种交换机允许系统管理员将全部或某些交换端口的数据包映射到指定的端口上,提供给接在这一端口上的入侵监控设备或协议分析设备。笔者在厦门海关外部网设计中,就选用了Cisco公司的具备SPAN功能的Catalyst系列交换机,既得到了交换技术的好处,又使原有的Sniffer协议分析仪“英雄有用武之地”。
广域网安全
由于广域网大多采用公网来进行数据传输,信息在广域网上传输时被截取和利用的可能性就比局域网要大得多。如果没有专用的软件对数据进行控制,只要使用Internet上免费下载的“包检测”工具软件,就可以很容易地对通信数据进行截取和破译。
因此,必须采取手段,使得在广域网上发送和接收信息时能够保证:
①除了发送方和接收方外,其他人是无法知悉的(隐私性);
②传输过程中不被篡改(真实性);
③发送方能确知接收方不是假冒的(非伪装性);
④发送方不能否认自己的发送行为(不可抵赖性)。
为了达到以上安全目的,广域网通常采用以下安全解决办法:
1.加密技术
加密型网络安全技术的基本思想是不依赖于网络中数据通道的安全性来实现网络系统的安全,而是通过对网络数据的加密来保障网络的安全可靠性。数据加密技术可以分为三类,即对称型加密、不对称型加密和不可逆加密。
其中不可逆加密算法不存在密钥保管和分发问题,适用于分布式网络系统,但是其加密计算量相当可观,所以通常用于数据量有限的情形下使用。计算机系统中的口令就是利用不可逆加密算法加密的。近年来,随着计算机系统性能的不断提高,不可逆加密算法的应用逐渐增加,常用的如RSA公司的MD5和美国国家标准局的SHS。在海关系统中广泛使用的Cisco路由器,有两种口令加密方式:Enable Secret和Enable Password。其中,Enable Secret就采用了MD5不可逆加密算法,因而目前尚未发现破解方法(除非使用字典攻击法)。而Enable Password则采用了非常脆弱的加密算法(即简单地将口令与一个常数进行XOR与或运算),目前至少已有两种破解软件。因此,最好不用Enable Password。
2.VPN技术
VPN(虚拟专网)技术的核心是采用隧道技术,将企业专网的数据加密封装后,透过虚拟的公网隧道进行传输,从而防止敏感数据的被窃。VPN可以在Internet、服务提供商的IP、帧中继或ATM网上建立。企业通过公网建立VPN,就如同通过自己的专用网建立内部网一样,享有较高的安全性、优先性、可靠性和可管理性,而其建立周期、投入资金和维护费用却大大降低,同时还为移动计算提供了可能。因此,VPN技术一经推出,便红遍全球。
但应该指出的是,目前VPN技术的许多核心协议,如L2TP、IPSec等,都还未形成通用标准。这就使得不同的VPN服务提供商之间、VPN设备之间的互操作性成为问题。因此,企业在VPN建网选型时,一定要慎重选择VPN服务提供商和VPN设备。
3.身份认证技术
对于从外部拨号访问总部内部网的用户,由于使用公共电话网进行数据传输所带来的风险,必须更加严格控制其安全性。一种常见的做法是采用身份认证技术,对拨号用户的身份进行验证并记录完备的登录日志。较常用的身份认证技术,有Cisco公司提出的TACACS+以及业界标准的RADIUS。笔者在厦门海关外部网设计中,就选用了Cisco公司的CiscoSecure ACS V2.3软件进行RADIUS身份认证。
外部网安全
海关的外部网建设,通常指与Internet的互联及与外部企业用户的互联两种。无论哪一种外部网,都普遍采用基于TCP/IP的Internet协议族。Internet协议族自身的开放性极大地方便了各种计算机的组网和互联,并直接推动了网络技术的迅猛发展。但是,由于在早期网络协议设计上对安全问题的忽视,以及Internet在使用和管理上的无政府状态,逐渐使Internet自身的安全受到威胁,黑客事件频频发生。
对外部网安全的威胁主要表现在:非授权访问、冒充合法用户、破坏数据完整性、干扰系统正常运行、利用网络传播病毒、线路窃听等。
外部网安全解决办法主要依靠防火墙技术、入侵检测技术和网络防病毒技术。在实际的外部网安全设计中,往往采取上述三种技术(即防火墙、入侵检测、网络防病毒)相结合的方法。笔者在厦门海关外部网设计中,就选用了NAI公司最新版本的三宿主自适应动态防火墙Gauntlet Active Firewall。该防火墙产品集成了Gauntlet Firewall、CyberCop Scanner、CyberCop Monitor、WebShield for Firewall等套件,将防火墙技术、入侵检测技术与网络防病毒技术融为一体,紧密结合,相得益彰,性价比比较高。