Linux⽹络安全策略和保护措施
随着Internet/Intranet⽹络的⽇益普及,采⽤Linux⽹络操作系统作为服务器的⽤户也越来越多,这⼀⽅⾯是因为Linux是开放源代码的免费正版软件,另⼀⽅⾯也是因为较之微软的Windows NT⽹络操作系统⽽⾔,Linux系统具有更好的稳定性、效率性和安全性。在Internet/Intranet的⼤量应⽤中,⽹络本⾝的安全⾯临着重⼤的挑战,随之⽽来的信息安全问题也⽇益突出。以美国为例,据美国联邦调查局(FBI)公布的统计数据,美国每年因⽹络安全问题所造成的经济损失⾼达75亿美元,⽽全球平均每20秒钟就发⽣⼀起Internet计算机⿊客侵⼊事件。⼀般认为,计算机⽹络系统的安全威胁主要来⾃⿊客攻击和计算机病毒2个⽅⾯。那么⿊客攻击为什么能够经常得逞呢?主要原因是很多⼈,尤其是很多⽹络管理员没有起码的⽹络安全防范意识,没有针对所⽤的⽹络操作系统,采取有效的安全策略和安全机制,给⿊客以可乘之机。在我国,由于⽹络安全研究起步较晚,因此⽹络安全技术和⽹络安全⼈才还有待整体的提⾼和发展,本⽂希望就这⼀问题进⾏有益的分析和探讨。
我们知道,⽹络操作系统是⽤于管理计算机⽹络中的各种软硬件资源,实现资源共享,并为整个⽹络中的⽤户提供服务,保证⽹络系统正常运⾏的⼀种系统软件。如何确保⽹络操作系统的安全,是⽹络安全的根本所在。只有⽹络操作系统安全可靠,才能保证整个⽹络的安全。因此,详细分析Linux系统的安全机制,出它可能存在的安全隐患,给出相应的安全策略和保护措施是⼗分必要的。
2、Linux⽹络操作系统的基本安全机制
Linux⽹络操作系统提供了⽤户帐号、⽂件系统权限和系统⽇志⽂件等基本安全机制,如果这些安全机制配置不当,就会使系统存在⼀定的安全隐患。因此,⽹络系统管理员必须⼩⼼地设置这些安全机制。
2.1 Linux系统的⽤户帐号
在Linux系统中,⽤户帐号是⽤户的⾝份标志,它由⽤户名和⽤户⼝令组成。在Linux系统中,系统将输⼊的⽤户名存放
在/etc/passwd⽂件中,⽽将输⼊的⼝令以加密的形式存放在/etc/shadow⽂件中。在正常情况下,这些⼝令和其他信息由操作系统保护,能够对其进⾏访问的只能是超级⽤户(root)和操作系统的⼀些应⽤程序。但是如果配置不当或在⼀些系统运⾏出错的情况下,这些信息可以被普通⽤户得到。进⽽,不怀好意的⽤户就可以使⽤⼀类被称为“⼝令破解”的⼯具去得到加密前的⼝令。
2.2 Linux的⽂件系统权限
Linux⽂件系统的安全主要是通过设置⽂件的权限来实现的。每⼀个Linux的⽂件或⽬录,都有3组属性,分别定义⽂件或⽬录的所有者,⽤户组和其他⼈的使⽤权限(只读、可写、可执⾏、允许SUID、允许SGID等)。特别注意,权限为SUID和SGID的可执⾏⽂件,在程序运⾏过程中,会给进程赋予所有者的权限,如果被⿊客发现并利⽤就会给系统造成危害。
2.3 合理利⽤Linux的⽇志⽂件
Linux的⽇志⽂件⽤来记录整个操作系统使⽤状况。作为⼀个Linux⽹络系统管理员要充分⽤好以下⼏个⽇志⽂件。
2.3.1 /var/log/lastlog⽂件
记录最后进⼊系统的⽤户的信息,包括登录的时间、登录是否成功等信息。这样⽤户登录后只要⽤lastlog命令查看⼀
下/var/log/lastlog⽂件中记录的所⽤帐号的最后登录时间,再与⾃⼰的⽤机记录对⽐⼀下就可以发现该帐号是否被⿊客盗⽤。
2.3.2 /var/log/secure⽂件
记录系统⾃开通以来所有⽤户的登录时间和地点,可以给系统管理员提供更多的参考。
2.3.3 /var/log/wtmp⽂件
记录当前和历史上登录到系统的⽤户的登录时间、地点和注销时间等信息。可以⽤last命令查看,若想清除系统登录信息,只需删除这个⽂件,系统会⽣成新的登录信息。
3、Linux⽹络系统可能受到的攻击和安全防范策略
Linux操作系统是⼀种公开源码的操作系统,因此⽐较容易受到来⾃底层的攻击,系统管理员⼀定要有安全防范意识,对系统采取⼀定的安全措施,这样才能提⾼Linux系统的安全性。对于系统管理员来讲特别是要搞清楚对Linux⽹络系统可能的攻击⽅法,并采取必要的措施保护⾃⼰的系统。
3.1 Linux⽹络系统可能受到的攻击类型
3.1.1 “拒绝服务”攻击免费永久的linux服务器
所谓“拒绝服务”攻击是指⿊客采取具有破坏性的⽅法阻塞⽬标⽹络的资源,使⽹络暂时或永久瘫痪,从⽽使Linux⽹络服务器⽆法为正常的⽤户提供服务。例如⿊客可以利⽤伪造的源地址或受控的其他地⽅的多台计算机同时向⽬标计算机发出⼤量、连续的TCP/IP请求,从⽽使⽬标服务器系统瘫痪。
3.1.2 “⼝令破解”攻击
⼝令安全是保卫⾃⼰系统安全的第⼀道防线。“⼝令破解”攻击的⽬的是为了破解⽤户的⼝令,从⽽可以取得已经加密的信息资源。例如⿊客可以利⽤⼀台⾼速计算机,配合⼀个字典库,尝试各种⼝令组合,直到最终到能够进⼊系统的⼝令,打开⽹络资源。
3.1.3 “欺骗⽤户”攻击
“欺骗⽤户”攻击是指⽹络⿊客伪装成⽹络公司或计算机服务商的⼯程技术⼈员,向⽤户发出呼叫,并在适当的时候要求⽤户输⼊⼝令,这是⽤户最难对付的⼀种攻击⽅式,⼀旦⽤户⼝令失密,⿊客就可以利⽤该⽤户的帐号进⼊系统。
3.1.4 “扫描程序和⽹络监听”攻击
许多⽹络⼊侵是从扫描开始的,利⽤扫描⼯具⿊客能出⽬标主机上各种各样的漏洞,并利⽤之对系统实施攻击。
⽹络监听也是⿊客们常⽤的⼀种⽅法,当成功地登录到⼀台⽹络上的主机,并取得了这台主机的超级⽤户控制权之后,⿊客可以利⽤⽹络监听收集敏感数据或者认证信息,以便⽇后夺取⽹络中其他主机的控制权。
3.2 Linux⽹络安全防范策略
纵观⽹络的发展历史,可以看出,对⽹络的攻击可能来⾃⾮法⽤户,也可能来⾃合法的⽤户。因此作为Linux⽹络系统的管理员,既要时刻警惕来⾃外部的⿊客攻击,⼜要加强对内部⽹络⽤户的管理和教育,具体可以采⽤以下的安全策略。
3.2.1 仔细设置每个内部⽤户的权限
为了保护Linux⽹络系统的资源,在给内部⽹络⽤户开设帐号时,要仔细设置每个内部⽤户的权限,⼀般应遵循“最⼩权限”原则,也就是仅给每个⽤户授予完成他们特定任务所必须的服务器访问权限。这样做会⼤⼤加重系统管理员的管理⼯作量,但为了整个⽹络系统的安全还是应该坚持这个原则。
3.2.2 确保⽤户⼝令⽂件/etc/shadow的安全
对于⽹络系统⽽⾔,⼝令是⽐较容易出问题的地⽅,作为系统管理员应告诉⽤户在设置⼝令时要使⽤安全⼝令(在⼝令序列中使⽤⾮字母,⾮数字等特殊字符)并适当增加⼝令的长度(⼤于6个字符)。系统管理员要保护好/etc/passwd和/etc/shadow这两个⽂件的安全,不让⽆关的⼈员获得这两个⽂件,这样⿊客利⽤John等程序对/etc/passwd和/etc/shadow⽂件进⾏了字典攻击获取⽤户⼝令的企图就⽆法进⾏。系统管理员要定期⽤John等程序对本系统的/etc/passwd和/etc/shadow⽂件进⾏模拟字典攻击,⼀旦发现有不安全的⽤户⼝令,要强制⽤户⽴即修改。
3.2.3 加强对系统运⾏的监控和记录
Linux⽹络系统管理员,应对整个⽹络系统的运⾏状况进⾏监控和记录,这样通过分析记录数据,可以发现可疑的⽹络活动,并采取措施预先阻⽌今后可能发⽣的⼊侵⾏为。如果进攻⾏为已经实施,则可以利⽤记录数据跟踪和识别侵⼊系统的⿊客。
3.2.4 合理划分⼦⽹和设置防⽕墙
如果内部⽹络要进⼊Internet,必须在内部⽹络与外部⽹络的接⼝处设置防⽕墙,以确保内部⽹络中的数据安全。对于内部⽹络本⾝,为了便于管理,合理分配IP地址资源,应该将内部⽹络划分为多个⼦⽹,这样做也可以阻⽌或延缓⿊客对整个内部⽹络的⼊侵。
3.2.5 定期对Linux⽹络进⾏安全检查
Linux⽹络系统的运转是动态变化的,因此对它的安全管理也是变化的,没有固定的模式,作为Linux⽹络系统的管理员,在为系统设
置了安全防范策略后,应定期对系统进⾏安全检查,并尝试对⾃⼰管理的服务器进⾏攻击,如果发现安全机制中的漏洞应⽴即采取措施补救,不给⿊客以可乘之机。
3.2.6 制定适当的数据备份计划确保系统万⽆⼀失
没有⼀种操作系统的运转是百分之百可靠的,也没有⼀种安全策略是万⽆⼀失的,因此作为Linux系统管理员,必须为系统制定适当的数据备份计划,充分利⽤磁带机、光盘刻录机、双机热备份等技术⼿段为系统保存数据备份,使系统⼀旦遭到破坏或⿊客攻击⽽发⽣瘫痪时,能迅速恢复⼯作,把损失减少到最⼩。
4、加强对Linux⽹络服务器的管理,合理使⽤各种⼯具
4.1 利⽤记录⼯具,记录对Linux系统的访问
Linux系统管理员可以利⽤前⾯所述的记录⽂件和记录⼯具记录事件,可以每天查看或扫描记录⽂件,这些⽂件记录了系统运⾏的所有信息。如果需要,还可以把⾼优先级的事件提取出来传送给相关⼈员处理,如果发现异常可以⽴即采取措施。
4.2 慎⽤Telnet服务
在Linux下,⽤Telnet进⾏远程登录时,⽤户名和⽤户密码是明⽂传输的,这就有可能被在⽹上监听的其他⽤户截获。另⼀个危险是⿊客可以利⽤Telnet登⼊系统,如果他⼜获取了超级⽤户密码,则对系统的危害将是灾难性的。因此,如果不是特别需要,不要开放Telnet服务。如果⼀定要开放Telnet服务,应该要求⽤户⽤特殊的⼯具软件进⾏远程登录,这样就可以在⽹上传送加密过的⽤户密码,以免密码在传输过程中被⿊客截获。
4.3 合理设置NFS服务和NIS服务
NFS(Network File System)服务,允许⼯作站通过⽹络共享⼀个或多个服务器输出的⽂件系统。但对于配置得不好的NFS服务器来讲,⽤户不经登录就可以阅读或者更改存储在NFS服务器上的⽂件,使得NFS服务器很容易受到攻击。如果⼀定要提供NFS服务,要确保基于Linux的NFS服务器⽀持
Secure RPC(Secure Remote Procedure Call),以便利⽤DES(Data Encryption Standard)加密算法和指数密钥交换(Exponential Key Exchange)技术验证每个NFS请求的⽤户⾝份。
NIS(Network Information System)服务,是⼀个分布式数据处理系统,它使⽹络中的计算机通过⽹络共享passwd⽂件,group ⽂件,主机表⽂件和其他共享的系统资源。通过NIS服务和NFS服务,在整个⽹络中的各个⼯作站上操作⽹络中的数据就像在操作和使⽤单个计算机系统中的资源⼀样,并且这种操作过程对⽤户是透明的。但是NIS服务也有漏洞,在NIS系统中,不怀好意的⽤户可以利⽤⾃⼰编写的程序来模仿Linux系统中的ypserv 响应ypbind的请求,从⽽截获⽤户的密码。因此,NIS的⽤户⼀定要使⽤ypbind的secure选项,并且不接受端⼝号⼩于1024(⾮特权端⼝)的ypserv响应。
4.4 ⼩⼼配置FTP服务
FTP服务与前⾯讲的Telnet服务⼀样,⽤户名和⽤户密码也是明⽂传输的。因此,为了系统的安全,必须通过对/etc/ftpusers⽂件的配置,禁⽌root,bin,daemon,adm等特殊⽤户对FTP服务器进⾏远程访问,通过对/etc/ftphosts的设定限制某些主机不能连⼊FTP服务器,如果系统开放匿名FTP服务,则任何⼈都可以下载⽂件(有时还可以上载⽂件),因此,除⾮特别需要⼀般应禁⽌匿名FTP服务。
4.5 合理设置POP-3和Sendmail等电⼦邮件服务
对⼀般的POP-3服务来讲,电⼦邮件⽤户的⼝令是按明⽂⽅式传送到⽹络中的,⿊客可以很容易截获⽤户名和⽤户密码。要想解决这个问题,必须安装⽀持加密传送密码的POP-3服务器(即⽀持Authenticated POP命令),这样⽤户在往⽹络中传送密码之前,可以先对密码加密。
⽼版本的Sendmail邮件服务器程序存在安全隐患,为了确保邮件服务器的安全,应尽可能安装已消除安全隐患的最新版的Sendmail服务器软件。
4.6 加强对WWW服务器的管理,提供安全的WWW服务
当⼀个基于Linux系统的⽹站建⽴好之后,绝⼤部分⽤户是通过Web服务器,利⽤WWW浏览器对⽹络进⾏访问的,因此必须特别重视Web服务器的安全,⽆论采⽤哪种基于HTTP协议的Web服务器软件,都要特别关注CGI脚本(Common Gateway Interface),这些CGI 脚本是可执⾏程序,⼀般存放在Web服务器的CGI-BIN⽬录下⾯,在配置Web服务器时,要保证CGI可执⾏脚本只存放于CGI-BIN⽬录中,这样可以保证脚本的安全,且不会影响到其他⽬录的安全。
4.7 最好禁⽌提供finger 服务
在Linux系统下,使⽤finger命令,可以显⽰本地或远程系统中⽬前已登录⽤户的详细信息,⿊客可以利⽤这些信息,增⼤侵⼊系统的机会。为了系统的安全,最好禁⽌提供finger服务,即从/usr/bin下删
除finger 命令。如果要保留 finger服务,应将finger⽂件换名,或修改权限为只允许root⽤户执⾏finger命令。
5、结束语
由于Linux操作系统使⽤⼴泛,⼜公开了源码,因此是被⼴⼤计算机⽤户研究得最彻底的操作系统,⽽Linux本⾝的配置⼜相当的复杂,按照前⾯的安全策略和保护机制,可以将系统的风险降到最低,但不可能彻底消除安全漏洞,作为Linux系统的管理员,头脑中⼀定要有安全防范意识,定期对系统进⾏安全检查,发现漏洞要⽴即采取措施,不给⿊客以可乘之机。本⽂所述的安全措施已在红旗Linux 1.0 和蓝点Linux上获得验证,并实际应⽤于我院图书馆计算机集成管理系统中,确保了我院图书馆计算机集成管理系统安全、稳定地运转。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论