linux系统安全吗

linux系统安全吗,第1张

1、LINUX支持多用户,多进程,多线程,多平台,良好的界面与丰富的网络功能。2.安全性、漏洞的快速修补如果你常玩网络的话,那么你最常听到的应该是"没有绝对安全的主机".没错,不过Linux由于支持者众多,有相当多的热心团体、个人参与其中的开发, 因此可以随时获得最新的安全信息,并给予随时的更新,即是具有相对的较安全3. 可以运行在386以上及各种RISC体系结构机器上Linux最早诞生于微机环境,一系列版本都充分利用了X86CPU的任务切换能力,使X86CPU的效能发挥得淋淋尽致,而这一点连Windows都没有做到。此外,它可以很好地运行在由各种主流RISC芯片(ALPHA、MIPS、PowerPC、UltraSPARC、HP-PA等)搭建的机器上。

随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务、数据库服务、集群服务等等。因此,Linux的安全性就成为了企业构筑安全应用的一个基础,是重中之重,如何对其进行安全防护是企业需要解决的一个基础性问题,基于此,本文将给出十大企业级Linux服务器安全防护的要点。 1、强化:密码管理 设定登录密码是一项非常重要的安全措施,如果用户的密码设定不合适,就很容易被破译,尤其是拥有超级用户使用权限的用户,如果没有良好的密码,将给系统造成很大的安全漏洞。 目前密码破解程序大多采用字典攻击以及暴力攻击手段,而其中用户密码设定不当,则极易受到字典攻击的威胁。很多用户喜欢用自己的英文名、生日或者账户等信息来设定密码,这样,黑客可能通过字典攻击或者是社会工程的手段来破解密码。所以建议用户在设定密码的过程中,应尽量使用非字典中出现的组合字符,并且采用数字与字符相结合、大小写相结合的密码设置方式,增加密码被黑客破解的难度。而且,也可以使用定期修改密码、使密码定期作废的方式,来保护自己的登录密码。 在多用户系统中,如果强迫每个用户选择不易猜出的密码,将大大提高系统的安全性。但如果passwd程序无法强迫每个上机用户使用恰当的密码,要确保密码的安全度,就只能依靠密码破解程序了。实际上,密码破解程序是黑客工具箱中的一种工具,它将常用的密码或者是英文字典中所有可能用来作密码的字都用程序加密成密码字,然后将其与Linux系统的/etc/passwd密码文件或/etc/shadow影子文件相比较,如果发现有吻合的密码,就可以求得明码了。在网络上可以找到很多密码破解程序,比较有名的程序是crack和john the ripper.用户可以自己先执行密码破解程序,找出容易被黑客破解的密码,先行改正总比被黑客破解要有利。 2、限定:网络服务管理 早期的Linux版本中,每一个不同的网络服务都有一个服务程序(守护进程,Daemon)在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。Inetd是Internetdaemon的缩写,它同时监视多个网络端口,一旦接收到外界传来的连接信息,就执行相应的TCP或UDP网络服务。由于受inetd的统一指挥,因此Linux中的大部分TCP或UDP服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。 一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。Inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。 在后继的Linux版本中(比如Red Hat Linux7.2之后),取而代之的是采用xinetd进行网络服务的管理。 当然,具体取消哪些服务不能一概而论,需要根据实际的应用情况来定,但是系统管理员需要做到心中有数,因为一旦系统出现安全问题,才能做到有步骤、有条不紊地进行查漏和补救工作,这点比较重要。 3、严格审计:系统登录用户管理 在进入Linux系统之前,所有用户都需要登录,也就是说,用户需要输入用户账号和密码,只有它们通过系统验证之后,用户才能进入系统。 与其他Unix *** 作系统一样,Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子文件/etc/shadow,只允许有特殊权限的用户阅读该文件。 在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简便的方法是采用插入式验证模块(PAM)。很多Linux系统都带有Linux的工具程序PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块内,因此它是采用影子档案的最佳帮手。 此外,PAM还有很多安全功能:它可以将传统的DES加密方法改写为其他功能更强的加密方法,以确保用户密码不会轻易地遭人破译它可以设定每个用户使用电脑资源的上限它甚至可以设定用户的上机时间和地点。 Linux系统管理人员只需花费几小时去安装和设定PAM,就能大大提高Linux系统的安全性,把很多攻击阻挡在系统之外。 4、设定:用户账号安全等级管理 除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。 在Linux系统中的部分文件中,可以设定允许上机和不允许上机人员的名单。其中,允许上机人员名单在/etc/hosts.allow中设置,不允许上机人员名单在/etc/hosts.deny中设置。此外,Linux将自动把允许进入或不允许进入的结果记录到/var/log/secure文件中,系统管理员可以据此查出可疑的进入记录。 每个账号ID应该有专人负责。在企业中,如果负责某个ID的职员离职,管理员应立即从系统中删除该账号。很多入侵事件都是借用了那些很久不用的账号。 在用户账号之中,黑客最喜欢具有root权限的账号,这种超级用户有权修改或删除各种系统设置,可以在系统中畅行无阻。因此,在给任何账号赋予root权限之前,都必须仔细考虑。 Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称。例如,在RedHatLinux系统中,该文件的初始值仅允许本地虚拟控制台(rtys)以root权限登录,而不允许远程用户以root权限登录。最好不要修改该文件,如果一定要从远程登录为root权限,最好是先以普通账号登录,然后利用su命令升级为超级用户。 5、谨慎使用:“r系列”远程程序管理 在Linux系统中有一系列r字头的公用程序,比如rlogin,rcp等等。它们非常容易被黑客用来入侵我们的系统,因而非常危险,因此绝对不要将root账号开放给这些公用程序。由于这些公用程序都是用。rhosts文件或者hosts.equiv文件核准进入的,因此一定要确保root账号不包括在这些文件之内。 由于r等远程指令是黑客们用来攻击系统的较好途径,因此很多安全工具都是针对这一安全漏洞而设计的。例如,PAM工具就可以用来将r字头公用程序有效地禁止掉,它在/etc/pam.d/rlogin文件中加上登录必须先核准的指令,使整个系统的用户都不能使用自己home目录下的。rhosts文件。 6、限制:root用户权限管理 Root一直是Linux保护的重点,由于它权力无限,因此最好不要轻易将超级用户授权出去。但是,有些程序的安装和维护工作必须要求有超级用户的权限,在这种情况下,可以利用其他工具让这类用户有部分超级用户的权限。sudo就是这样的工具。 sudo程序允许一般用户经过组态设定后,以用户自己的密码再登录一次,取得超级用户的权限,但只能执行有限的几个指令。例如,应用sudo后,可以让管理磁带备份的管理人员每天按时登录到系统中,取得超级用户权限去执行文档备份工作,但却没有特权去作其他只有超级用户才能作的工作。 sudo不但限制了用户的权限,而且还将每次使用sudo所执行的指令记录下来,不管该指令的执行是成功还是失败。在大型企业中,有时候有许多人同时管理Linux系统的各个不同部分,每个管理人员都有用sudo授权给某些用户超级用户权限的能力,从sudo的日志中,可以追踪到谁做了什么以及改动了系统的哪些部分。 值得注意的是,sudo并不能限制所有的用户行为,尤其是当某些简单的指令没有设置限定时,就有可能被黑客滥用。例如,一般用来显示文件内容的/etc/cat指令,如果有了超级用户的权限,黑客就可以用它修改或删除一些重要的文件。 7、追踪黑客踪迹:日志管理 当用户仔细设定了各种与Linux相关的配置(最常用日志管理选项),并且安装了必要的安全防护工具之后,Linux *** 作系统的安全性的确大为提高,但是却并不能保证防止那些比较熟练的网络黑客的入侵。 在平时,网络管理人员要经常提高警惕,随时注意各种可疑状况,并且按时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合常理的时间记载。例如: 正常用户在半夜三更登录 不正常的日志记录,比如日志只记录了一半就切断了,或者整个日志文件被删除了 用户从陌生的网址进入系统 因密码错误或用户账号错误被摈弃在外的日志记录,尤其是那些一再连续尝试进入失败,但却有一定模式的试错法 非法使用或不正当使用超级用户权限su的指令 重新开机或重新启动各项服务的记录。 上述这些问题都需要系统管理员随时留意系统登录的用户状况以及查看相应日志文件,许多背离正常行为的蛛丝马迹都应当引起高度注意。 8、横向扩展:综合防御管理 防火墙、IDS等防护技术已经成功地应用到网络安全的各个领域,而且都有非常成熟的产品。 在Linux系统来说,有一个自带的Netfilter/Iptables防火墙框架,通过合理地配置其也能起到主机防火墙的功效。在Linux系统中也有相应的轻量级的网络入侵检测系统Snort以及主机入侵检测系统LIDS(Linux Intrusion Detection System),使用它们可以快速、高效地进行防护。 需要提醒注意的是:在大多数的应用情境下,我们需要综合使用这两项技术,因为防火墙相当于安全防护的第一层,它仅仅通过简单地比较IP地址/端口对来过滤网络流量,而IDS更加具体,它需要通过具体的数据包(部分或者全部)来过滤网络流量,是安全防护的第二层。综合使用它们,能够做到互补,并且发挥各自的优势,最终实现综合防御。 9、评测:漏洞追踪及管理 Linux作为一种优秀的开源软件,其自身的发展也日新月异,同时,其存在的问题也会在日后的应用中慢慢暴露出来。黑客对新技术的关注从一定程度上来说要高于我们防护人员,所以要想在网络攻防的战争中处于有利地位,保护Linux系统的安全,就要求我们要保持高度的警惕性和对新技术的高度关注。用户特别是使用Linux作为关键业务系统的系统管理员们,需要通过Linux的一些权威网站和论坛上尽快地获取有关该系统的一些新技术以及一些新的系统漏洞的信息,进行漏洞扫描、渗透测试等系统化的相关配套工作,做到防范于未然,提早行动,在漏洞出现后甚至是出现前的最短时间内封堵系统的漏洞,并且在实践中不断地提高安全防护的技能,这样才是一个比较的解决办法和出路。 10、保持更新:补丁管理 Linux作为一种优秀的开源软件,其稳定性、安全性和可用性有极为可靠的保证,世界上的Linux高手共同维护着个优秀的产品,因而起流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系统安全,一定要经常更新系统内核。 Kernel是Linux *** 作系统的核心,它常驻内存,用于加载 *** 作系统的其他部分,并实现 *** 作系统的基本功能。由于Kernel控制计算机和网络的各种功能,因此,它的安全性对整个系统安全至关重要。早期的Kernel版本存在许多众所周知的安全漏洞,而且也不太稳定,只有2.0.x以上的版本才比较稳定和安全(一般说来,内核版本号为偶数的相对稳定,而为奇数的则一般为测试版本,用户们使用时要多留意),新版本的运行效率也有很大改观。在设定Kernel的功能时,只选择必要的功能,千万不要所有功能照单全收,否则会使Kernel变得很大,既占用系统资源,也给黑客留下可乘之机。 在Internet上常常有最新的安全修补程序,Linux系统管理员应该消息灵通,经常光顾安全新闻组,查阅新的修补程序。

 1. 更加卓越的补丁管理工具:\r\n在微软的Windows系统中,自动更新程序只会升级那些由微软公司官方所提供的组件。而第三方的应用程序却不会得到修补。从而,第三方的应用程序可能会给你的系统带来大量的安全隐患。你在使用Real player播放器吗?你需要单独升级它。在使用Flash?你还是需要单独进行升级。依此类推,对于电脑上所有的应用程序,你都需要定期地对每一款软件单独进行更新升级。这种方法非常的繁琐,并且让人心烦,而绝大多数用户很快就将这项工作忘到九霄云外去了。\r\n而在Linux系统中,当你在自动更新系统的时候,它将同时升级系统中所有的软件。在Ubuntu系统中,你所下载的任何软件产品,都会出现在系统的程序仓库当中,要升级它,你只需要用鼠标轻轻一点。而在其它Linux发行版本中,如果下载的软件并没有出现在系统的程序仓库中,要添加它也是非常的简便。这样的设计,极大地提高了用户实时更新系统的积极性。\r\n2. 更加健壮的默认设置:\r\nLinux系统天生就被设计成一个多用户的 *** 作系统。因此,即便是某个用户想要进行恶意破坏,底层系统文件依然会受到保护。假如,在非常不幸的情况下,有任何远程的恶意代码在系统中被执行了,它所带来的危害也将被局限在一个小小的局部之中。\r\n与之形成鲜明对照的是微软的Windows XP系统。在这里,用户会默认以系统管理员的身份登录,而在系统中所发生的任何损害,都会迅速蔓延到整个系统之中。微软最新的Windows Vista系统让用户在默认设置下以受限用户的身份登录,因此它要比自己的前任更加安全一点。\r\n3. 模块化设计:\r\nLinux系统采用的是模块化设计。这表示,如果不需要的话,你可以将任何一个系统组件给删除掉。由此而带来的一个好处是,如果用户感觉Linux系统的某个部分不太安全,他就可以移除掉这个组件。这对于Windows系统来说,简直是不可思议的。比如说,如果我感觉对于自己的Linux系统来说,Firefox网络浏览器是最薄弱的一个环节,我完全可以删除掉它,用其它网络浏览器来替代,比如说Opera。而在Windows系统当中,即便是再不满意,我也无法替换微软的Internet Explorer网络浏览器。\r\n4. 更棒的“零日攻击(zero-day attacks)”防御工具\r\n即便你能确保自己的系统实时更新,这也并不代表着万无一失!零日攻击(zero-day attacks,指的是在软件生产厂商发布针对漏洞的更新补丁之前,就抢先利用该漏洞发动网络攻击的攻击方式)正在变得日益猖獗。此外,一项调查研究也显示:对于攻击者来说,他们只需要6天时间就能够开发出针对漏洞的恶意攻击代码,而软件生产厂商们却需要花费长得多的时间才能够推出相应的更新补丁。因此,一套睿智的安全策略在防御零日攻击方面至关重要。微软的Windows XP系统并没有提供这样的一套防御机制。而新的Vista系统,在保护模式状态之下,虽然有一定效果,但是也只能对针对Internet Explorer网络浏览器的攻击提供一点有限的保护。\r\n与之相对应的是,无论是何种类型的远程遥控代码攻击,AppArmor或SELinux,都能够为系统提供细致而周全的保护。有越来越多的主流Linux发行版本,在系统中都默认整合了AppArmor(例如,SuSE、Ubuntu Gutsy)或者SELinux(Fedora、Debian Etch、Yellow Dog)。即便是对于其它发行版本来说,用户也可以非常方便地从网络上下载并安装这两套软件。\r\n5. 开放源代码构架:\r\n在Linux系统中,当谈论到系统安全性的时候,用“你所看到的,就是你所得到的”这句话来形容,是再合适也不过了。开放源代码意味着,任何可能的软件漏洞都将被“无数双眼睛”所看到,并且得到尽可能快的修复。而更重要的是,这同时也意味着,在这里没有任何被隐藏的修复措施。作为用户,只要你有心,就可以找出自己系统所存在的安全问题,并采取相应的防范措施以应对潜在的安全威胁,即便是在此时该漏洞还没有被修补。\r\n而在Windows世界当中,有很多安全问题都是被掩盖起来的。微软公司内部所发现的软件漏洞,是不会让外界所知晓的,而他们所想的只是在下一个更新升级包中对它进行默默地修补就可以了。虽然这样做可以让被公开的软件漏洞数目更少,并让某些漏洞不会被大规模地利用,但这种做法同时也蒙蔽了用户的双眼。由此所导致的结果是,用户很可能不会积极地对系统进行升级,因为他不了解自己的系统存在着什么样的漏洞,以及这些漏洞的危害大小,结果反而会成为恶意攻击的牺牲品。\r\n6. 多样化的系统环境:\r\nWindows的系统环境可以说是千篇一律。这种巨大的一致性让攻击者们在编写恶意代码、病毒或其它诸如此类的一些东西时显得得心应手。反过来,看一看Linux系统世界。在这里,应用程序可以是.deb、.rpm,或源代码,以及其它诸如此类的等等。这种差异性让攻击者们很难在Linux系统身上获得像Windows系统那样的广泛影响。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8514368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存