LINUX的系统安全精编版[11页].docx





《LINUX的系统安全精编版[11页].docx》由会员分享,可在线阅读,更多相关《LINUX的系统安全精编版[11页].docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、最新资料推荐LINUX的系统安全王 忠 欧阳首承 任苏萍 黄中辉(成都信息工程学院现代通信技术研究所, chegndu 610041 )摘要:计算机的安全是个热门话题。计算机的攻击和计算机的安全是矛与盾的关系。LINUX是类UNIX的操作系统,它具有UNIX的所有特性,在安全性上与UNIX一样具有非常严谨的体系结构。本文从系统安全方面论述了LINUX系统上的安全,分别从物理安全、本地安全、文件系统安全和密码安全等方面论述了LINUX的系统安全结构,给出了一些有效的安全措施。关键词:Linux,系统安全,操作系统System Security of LINUXWang Zhong Ouyang
2、Shoucheng Ren Suping Huangzhonghui(Chengdu University of Information Technology,Chengdu 610041)Abstract:The security of the computer is a hot topic. The attack of the computer and security of the computer are relations between lance and shield. Being a kind of the operating systems of quasi Unix, Li
3、nux has the characteristics of Unix, and it is a very strict and cautious system structure with better safety. This paper has discussed the security on Linux system from the security of the system to security of network, such as physics security, local security, file system security and password sec
4、urity, etc. And it provides some measure in ensuring system security.Keywords: Linux, System security, Operating System1.引言Linux是国际互联网发展的产物。由于Linux操作系统是免费,因此Linux在我国的应用领域得到很快的发展。由于投资成本的原因,许多中小企业渐渐开始使用Linux于中小型服务器。国际互联网的发展促进了网络资源共享,以此同时也带来了许多网络安全问题。网络安全成了网络用户关心的一个热点问题。本文就此讨论如何构建一个安全的Linux系统环境。2. 物理安全
5、 电脑系统的物理安全是首先考虑的安全问题,物理安全是整个安全的第一道关卡。2.1 BOIS安全BOIS是一个非常底层的软件,它配置了或者说操作着x86平台的底层硬件。LILO和其它的Linux引导程序首先访问BOIS,再决定如何引导Linux机器。可以使用BOIS上的安全设置去阻止攻击者操作机器。可以在机器的BOIS中设置一个启动密码。这虽然不能提供足够的安全,但是它对攻击者起到了一个威慑作用。有必要取消启动顺序中的从软盘启动的顺序,设置一个进入BOIS的密码,防止攻击者进入BOIS,对它进行修改。2.2 启动载入程序的安全各种Linux引导程序也允许设置启动密码。就以LILO为例,已经有了密
6、码和受限制的设置。如果以单用户身份登录,在启动时候被设置了需要输入密码。像在/etc/lilo.conf文件中加入如下设置:(password=yourpassword;restricted;)那可限制在启动时候必须输入密码才能启动Linux。2.3系统锁定很多时候,会有什么急事要离开电脑一会,而工作还在继续,不能停下来。可激活系统的锁定程序,把系统终端锁定,工作还在继续,而攻击者却不能进入该系统终端。在Linux中,锁定程序是xlock和vlock。Xlock是X Window的锁定程序,在Linux的各个发行版都支持。在X窗口运行xlock,此程序将会锁定系统,若想进入系统,必须输入密码。
7、Vlock是允许锁定一部分或者全部Linux虚拟终端。可以锁定正在工作的终端,而不影响其它的终端。其他人可以从那些未被锁定的终端登录,但不可以使用被你锁定了的终端(除非解锁了)。3. 本地安全通过一个本地用户帐号获得访问是系统入侵者试图获得root权限的第一件事情。对于安全松散的系统,入侵者会利用各种漏洞把他们的一般用户升级为root用户。3.1用户管理(1).创建一个新用户每创建一个新用户,应尽量分配合适的权限给用户(他们能完成工作的权限)。这样作会使系统变得安全些。下面是允许让别人合法访问机器的几条好的规则:尽量给他们所需要的最小权限;要知道他们什么时候、什么地方登录,或者他们登录信息被记
8、录起来;要把那些不使用的帐号删除或者禁用;在所有的计算机和网络上使用相同的用户ID号,对于用户的管理是十分明智的;产生用户ID号的组应该被绝对禁止,用户帐号也提供了说明性,这对于组帐号来说是不可能的。增加用户有三个过程:在/etc/passwd文件中写入新用户的入口项,同时也在/etc/shadow中创建与该用户相关的密码信息;为新登录用户建立一个HOME目录;在/etc/group中为新用户增加一个入口项;在/etc/passwd文件中写入新的入口项时,口令部分可先设置为NOLOGIN,以免有人做为此新用户登录。在修改文件前,应mkdir /etc/ptmp,以免他人同时修改此文件,新用户一
9、般独立为一个新组,GID号与UID号相同(除非他要加入目前已存在的一个新组),UID号必须和其他人不同,HOME目录一般设置在/usr或/home目录下建立一个以用户登录名为名称的目录做为其主目录。在Linux中,/etc/group文件含有关于小组的信息,/etc/passwd中的每个GID在本文件中应当有相应的入口项,入口项中列出了小组名和小组中的用户。这样可方便地了解每个小组的用户,否则必须根据GID在/etc/passwd文件中从头至尾地寻找同组用户。/etc/group文件对小组的许可权限的控制并不是必要的,因为系统用UID,GID(取自/etc/passwd)决定文件存取权限,即使
10、/etc/group文件不存在于系统中,具有相同的GID用户也可以小组的存取许可权限共享文件。小组就像登录用户一样可以有口令。如果/etc/group文件入口项的第二个域为非空,则将被认为是加密口令,newgrp命令将要求用户给出口令,然后将口令加密,再与该域的加密口令比较。给小组建立口令一般不是个好作法。第一,如果小组内共享文件,若有某人猜着小组口令,则该组的所有用户的文件就可能泄漏;其次,管理小组口令很费事,因为对于小组没有类似的passwd命令。可用/usr/lib/makekey生成一个口令写入/etc/group。以下情况必须建立新组:可能要增加新用户,该用户不属于任何一个现有的小组
11、.;(2)有的用户可能时常需要独自为一个小组;(3)有的用户可能有一个SGID程序,需要独自为一个小组;(4)有时可能要安装运行SGID的软件系统,该软件系统需要建立一个新组。要增加一个新组,必须编辑该文件,为新组加一个入口项。由于用户登录时,系统从/etc/passwd文件中取GID,而不是从/etc/group中取GID,所以group文件和口令文件应当具有一致性。对于一个用户的小组,UID和GID应当是相同的。多用户小组的GID应当不同于任何用户的UID,一般为5位数,这样在查看/etc/passwd文件时,就可根据5位数据的GID识别多用户小组,这将减少增加新组,新用户时可能产生的混淆
12、。(2).删除用户删除用户与加用户的工作正好相反,首先在/etc/passwd和/etc/group文件中删除用户的入口项,并删除/etc/shadow中与用户相关的信息,然后删除用户的HOME目录和所有文件。rm -r /usr/loginname 删除整个目录树。如果用户在/usr/spool/cron/crontabs中有crontab文件,也应当删除.(3).将用户移到另一个系统这是一个复杂的问题,不只是拷贝用户的文件和用户在/etc/passwd文件中的入口项。首先一个问题是用户的UID和GID可能已经用于另一个系统,若是出现这种情况,必须给要移的用户分配另外的UID和GID,如果改
13、变了用户的UID和GID,则必须搜索该用户的全部文件,将文件的原UID和GID改成新的UID和GID。用find命令可以完成这一修改: find . -user olduid -exec chown newuid ; find . -group oldgid -exec chgrp newgid ;也许还要为用户移走其它一些文件:/usr/mail/user和/usr/spool/cron/crontabs/user。如果用户从一个不是本系统管理员的系统移来,则应对该用户的目录结构运行程序来检查。一个不安全系统的用户,可能有与该用户其它文件存在一起的SUID/SGID程序,而这个SUID/SG
14、ID程序属于另一个用户。在这种情况下,如果用cpio或tar命令将用户的目录结构拷贝到本系统,SUID/SGID程序也将会拷贝到本系统而没有任何警告信息。应当在允许用户使用新系统以前先删除这种文件的SUID/SGID许可。总之,始终坚持检查所移用户的文件总是更安全些。也可以用su命令进入用户的户头,再拷贝用户文件,这样文件的所有者就是该用户,而不是root。(4).用chroot()限制用户如果的确想限制一个用户,可用chroot()子程序为用户建立一个完全隔离的环境,改变了进程对根目录的概念,因此可用于将一个用户封在整个文件系统的某一层目录结构中,使用户无法用cd命令转出该层目录结构,不能存
15、取文件系统中其余部分的任何文件。这种限制方式比加限制的shell好得多。用户使用的命令应由系统管理员在新的root目录中建立一个bin目录,并建立用户可用命令的链到系统的/bin目录中相应命令文件上(若在不同的文件系统则应拷贝命令文件)。还应建立新的passwd文件,保留系统登录户头(为了使ls -l正确地报告与受限制的子文件系统中的文件相关的正确登录名)和用户帐户,但系统帐户的口令改为NOLOGIN以使受限制的用户不能取得系统登录的真实口令,使破密程序的任何企图成为泡影。utmp文件是who所需要的,该文件含有系统中已登录用户的列表。新的/etc/ profile文件也不是建链文件,以便受限
16、制的用户可以执行不同的启动命令。/dev目录中的终端设备文件被链接到新的/dev目录下,因为命令who产生输出时要查看这些文件。在系统V及以后的版本中,login命令有chroot()的功能。如果口令文件中用户入口项的登录shell域(最后一个域)是*,login将调用chroot()把用户的根目录设置成为口令文件中用户入口项登录目录域指定的目录。然后再调用exec()执行login,新的login将在新子系统文件中执行该用户的登录.chroot()并不是把root封锁在一个子文件系统中,所以给受限制用户用的命令时应加以考虑,具有root的SUID许可的程序可能会给予用户root的能力。应当将
17、这种可能减低到最小程度,交给用户使用的命令应当取自清除了SUID陷井的系统命令。链接文件可减少磁盘占用区,但要记住,当与敌对用户打交道时,链接到chroot目录结构(尤其是命令)的系统文件是很危险的。如果建立一个像这样的限制环境,应确保对安装到新的/bin的每条命令都做过测试,有些程序可能有系统管理员未曾想到的出乎意料的执行结果。为了使这些命令能运行,还得在加限制的子文件系统中加服务目录或文件如:/tmp, /etc/termcap, /usr/lib/terminfo,/dev/mem,/dev/kmem,/dev/swap,用户所登录的/dev中的tty文件以及/。有些程序在子文件系统中运
18、行时不会很好,如果将假脱机程序和网络命令拷贝到加限制的子文件系统中,并放在为两条命令专建的目录层结构下,它们可能也运行不了。3.2.root安全在机器上,root帐号是最重要的帐号。此帐号是整台机器的超级管理员帐号,也可能是网络上其它机器的超级管理员帐号。你只有在运行非常短的、特殊的任务时候才使用root帐号,应尽量使用普通用户。以root用户登录即使出现很小的错误,这也可能引出问题。一些系统管理命令只能由超级用户运行。超级用户拥有其他用户所没有的特权,超级用户不管文件存取许可方式如何,都可以读、写任何文件,运行任何程序。系统管理员通常使用命令: /bin/su 或以 root 进入系统从而成
19、为超级用户。有时候,一些事情必须是root才能执行的,Linux中提供了su命令,让用户变化身份。可使用此命令换成root用户,去完成任务,然后再推出来,回到原来的用户。(1).作为root运行的程序在系统中,有些程序由系统作为root进程运行。这些程序并不总是具有SUID许可,因为其不少程序仅由root运行,系统管理员需要清楚这些程序做什么,以及这些程序还将运行其它什么程序。a.启动系统当某些系统(如SCO /XENIX)启动时,是以被称为单用户的方式运行,在这种方式中普通用户不能登录,唯有的进程是init,swapper,以及一些由系统管理员从控制台运行的进程。系统的单用户方式启动,使系统
20、管理员能在允许普通用户登录以前,先检查系统操作,确保系统一切正常,当系统处于单用户方式时,控制台作为超级用户,命令揭示是#,有些系统不要确认超级用户口令就认可控制台是root,给出#提示符。这就可能成为一个安全问题。b.init进程系统总是以某种方式或称为某种级运行,系统有若干种运行级,这些运行级由init进程控制。系统启动时以单用户方式运行,也叫1级或S级。对于其他用户登录进入系统,有一种多用户运行方式。也叫2级.init进程控制系统运行级,它读入文件/etc/ inittab,该文件详细地规定了哪些进程在哪一级运行。当root敲入init n(数字),系统就进入n级。init读该文件以确定
21、终止哪些进程,启动哪些进程。有效的运行级的数值是从0到6与s。特别注意,由init建立的进程以UID为0运行(root)从/etc/inittab运行的程序也作为root运行,所以系统管理员要确保自己知道/etc/inittab中的程序做什么工作,确保这些程序以及这些程序所在的目录直到/和/etc/inittab除root外无人可写。c.进入多用户 当系统进入多用户方式时,将初始化一系列事件,接着开始执行gettys,允许其他用户登录进入系统。如果再看看/etc/inittab文件,会看到gettys定义在运行级2,至少三个shell程序/etc/brc,/etc/bcheckrc,/etc/
22、rc*也定义在运行级2。这些程序都在gettys启动前运行。这些shell程序作为root运行,也不能仅对root可写还应当检查shell程序运行的命令,因为这些命令也将作为root运行。d.shutdown命令用shutdown命令关系统,shutdown shell程序发送警告通知所有用户离开系统,在给定的期限时间到了后,就终止进程,拆卸文件系统,进入单用户方式或关机状态。一旦进入单用户方式,所有的gettys停止运行,用户再不能登录.进入关机状态后可将系统关电。shutdown仅能由作为root登录的用户从系统控制台上运行。所以任何的shutdown运行的命令仅能对root可写。(2).
23、系统V的cron程序 cron在系统是多用户方式时运行,根据规定的时间安排执行指定的命令,每隔一分钟检查一次文件/usr/lib/crontab,寻找是否有应当运行的程序?如果找到要运行的程序,就运行该程序,否则睡眠等待一分钟。实际的/usr/lib/crontab用于根据全天的规则时间表运行程序,也可在夜晚运行白天不愿运行怕降低其他用户速度的程序。通常由cron运行的程序是如记帐,存文件这样的程序。cron一般在系统进入多用户后由/etc/rc启动,当shutdown运行killall命令时便终止运行。由cron运行的程序作为root,所以应当注意放什么程序在crontab中,还要确保/us
24、r/lib/crontab和该表中列出的任何程序对任何人不可写。如果用户需要由cron执行一个程序,系统管理员可用su命令在crontab表中建立一个入口,使用户的程序不能获得root的权限。在系统V版本2中,cron被修改成允许用户建立自己的crontab入口,/usr/lib/crontab文件不再存在,由目录/usr/spool/cron/crontabs中的文件代替。这些文件的格式与crontab相同,但每个文件与系统中的一个用户对应,并以某用户的名义由cron运行。如果想限制能建立crontab的用户,可在文件/usr/lib/cron/cron.allow文件中列出允许运行cron
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11页 LINUX 系统安全 精编 11

限制150内