<span id='lrc37'></span>

<dl id='lrc37'></dl>

<ins id='lrc37'></ins>
<i id='lrc37'></i>

<i id='lrc37'><div id='lrc37'><ins id='lrc37'></ins></div></i>

            <acronym id='lrc37'><em id='lrc37'></em><td id='lrc37'><div id='lrc37'></div></td></acronym><address id='lrc37'><big id='lrc37'><big id='lrc37'></big><legend id='lrc37'></legend></big></address>
          1. <tr id='lrc37'><strong id='lrc37'></strong><small id='lrc37'></small><button id='lrc37'></button><li id='lrc37'><noscript id='lrc37'><big id='lrc37'></big><dt id='lrc37'></dt></noscript></li></tr><ol id='lrc37'><table id='lrc37'><blockquote id='lrc37'><tbody id='lrc37'></tbody></blockquote></table></ol><u id='lrc37'></u><kbd id='lrc37'><kbd id='lrc37'></kbd></kbd>

            <code id='lrc37'><strong id='lrc37'></strong></code>
          2. <fieldset id='lrc37'></fieldset>

            Linux系统安全配置详细解析

            • 时间:
            • 浏览:8
            • 来源:124软件资讯网

                1.为LILO增添开机口令

                在/etc/lilo.conf文件中增添选项  ,从而使LILO启动时要求输入口令  ,以增强系统的宁静性  。详细设置如下:

                boot=/dev/hdamap=/boot/mapinstall=/boot/boot.btime-out=60 #等候1分钟promptdefault=linuxpassword=#口令设置image=/boot/vmlinuz-2.2.14-12label=linuxinitrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only

                此时需注重 ,由于在LILO中口令是以明码方式存放的  ,以是还需要将 lilo.conf的文件属性设置为只有root可以读写  。

                # chmod 600 /etc/lilo.conf

                固然  ,还需要举行如下设置 ,使lilo.conf的修改生效 。

                # /sbin/lilo -v

                2.设置口令最小长度和

                最短使用时间

                口令是系统中认证用户的主要手段  ,系统安装时默认的口令最小长度通常为5 ,但为保证口令不易被推测攻击  ,可增添口令的最小长度  ,至少即是8  。为此  ,需修改文件/etc/login.defs中参数PASS_MIN_LEN  。同时应限制口令使用时间 ,保证定期替换口令  ,建议修改参数PASS_MIN_DAYS  。

                3.用户超时注销

                若是用户脱离时遗忘注销账户  ,则可能给系统宁静带来隐患  。可修改/etc/profile文件  ,保证账户在一段时间没有操作后 ,自动从系统注销 。

                编辑文件/etc/profile  ,在“HISTFILESIZE=”行的下一行增添如下一行:

                TMOUT=600

                则所有用户将在10分钟无操作后自动注销  。

                4.克制会见主要文件

                对于系统中的某些要害性文件如inetd.conf、services和lilo.conf等可修改其属性  ,防止意外修改和被通俗用户检察  。

                首先改变文件属性为600:

                # chmod 600 /etc/inetd.conf

                保证文件的属主为root  ,然后还可以将其设置为不能改变:

                # chattr +i /etc/inetd.conf

                这样  ,对该文件的任何改变都将被克制  。

                只有root重新设置复位标志后才气举行修改:

                # chattr -i /etc/inetd.conf

                5.允许和克制远程会见

                在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和克制远程主机对当地服务的会见  。通常的做法是:

                (1)编辑hosts.deny文件  ,加入下列行:

                # Deny access to everyone. ALL: ALL@ALL

                则所有服务对所有外部主机克制  ,除非由hosts.allow文件指明允许  。

                (2)编辑hosts.allow 文件 ,可加入下列行:

                #Just an example:   ftp: 202.84.17.11 xinhuanet.com

                则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机械作为Client会见FTP服务  。

                (3)设置完成后  ,可用tcpdchk检查设置是否准确  。

                6.限制Shell下令记载巨细

                默认情形下 ,bash shell会在文件$HOME/.bash_history中存放多达500条下令记载(凭据详细的系统差别  ,默认记载条数差别)  。系统中每个用户的主目录下都有一个这样的文件  。在此笔者强烈建议限制该文件的巨细  。

                您可以编辑/etc/profile文件  ,修改其中的选项如下:HISTFILESIZE=30或HISTSIZE=30  。

                7.注销时删除下令记载

                编辑/etc/skel/.bash_logout文件  ,增添如下行:

                rm -f $HOME/.bash_history

                这样  ,系统中的所有用户在注销时都市删除其下令记载  。

                若是只需要针对某个特定用户  ,如root用户举行设置 ,则可只在该用户的主目录下修改/$HOME/.bash_history 文件 ,增添相同的一行即可 。

                8.克制不须要的SUID法式

                SUID可以使通俗用户以root权限执行某个法式 ,因此应严酷控制系统中的此类法式 。

                找出root所属的带s位的法式:

                # find / -type f \( -perm -04000 -o -perm -02000 \) -print  less

                克制其中不须要的法式:

                # chmod a-s program_name

                9.检查开机时显示的信息

                Linux系统启动时 ,屏幕上会滚过一大串开机信息 。若是开机时发现有问题  ,需要在系统启动后举行检查 ,可输入下列下令:

                #dmesg >bootmessage

                该下令将把开机时显示的信息重定向输出到一个文件bootmessage中  。

                10.磁盘空间的维护

                经常检查磁盘空间对维护Linux的文件系统很是须要 。而Linux中对磁盘空间维护使用最多的下令就是df和du了  。

                十招:

                第1招:作废不须要的服务

                早期的Unix版本中 ,每一个差别的网络服务都有一个服务法式在后台运行  ,厥后的版本用统一的/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中有两种差别的服务型态:一种是仅在有需要时才执行的服务  ,如finger服务;另一种是一直在执行的永一直顿的服务  。这类服务在系统启动时就最先执行 ,因此不能靠修改inetd来制止其服务  ,而只能从修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它  。提供文件服务的NFS服务器和提供NNTP新闻服务的news都属于这类服务  ,若是没有须要 ,最好作废这些服务 。

                第2招:限制系统的收支

                在进入Linux系统之前  ,所有用户都需要登录  ,也就是说  ,用户需要输入用户账号和密码 ,只有它们通过系统验证之后  ,用户才气进入系统  。

                与其他Unix操作系统一样  ,Linux一样平常将密码加密之后 ,存放在/etc/passwd文件中 。Linux系统上的所有用户都可以读到/etc/passwd文件 ,虽然文件中生存的密码已经经由加密  ,但仍然不太宁静  。由于一样平常的用户可以使用现成的密码破译工具  ,以穷举法推测出密码  。比力宁静的要领是设定影子文件/etc/shadow  ,只允许有特殊权限的用户阅读该文件 。

                在Linux系统中  ,若是要接纳影子文件  ,必须将所有的公用法式重新编译  ,才气支持影子文件  。这种要领比力贫苦 ,比力轻便的要领是接纳插入式验证模块(PAM)  。许多Linux系统都带有Linux的工具法式PAM  ,它是一种身份验证机制  ,可以用来动态地改变身份验证的要领和要求  ,而不要求重新编译其他公用法式  。这是由于PAM接纳关闭包的方式 ,将所有与身份验证有关的逻辑所有隐藏在模块内  ,因此它是接纳影子档案的最佳辅佐 。

                此外  ,PAM另有许多宁静功效:它可以将传统的DES加密要领改写为其他功效更强的加密要领  ,以确保用户密码不会容易地遭人破译;它可以设定每个用户使用电脑资源的上限;它甚至可以设定用户的上机时间和所在 。

                Linux系统治理职员只需破费几小时去安装和设定PAM ,就能大大提高Linux系统的宁静性  ,把许多攻击阻挡在系统之外  。

                第3招:保持最新的系统焦点

                由于Linux流通渠道许多  ,而且经常有更新的法式和系统补丁泛起  ,因此  ,为了增强系统宁静  ,一定要经常更新系统内核 。

                Kernel是Linux操作系统的焦点  ,它常驻内存  ,用于加载操作系统的其他部门  ,并实现操作系统的基本功效 。由于Kernel控制盘算机和网络的种种功效  ,因此  ,它的宁静性对整个系统宁静至关主要  。

                早期的Kernel版本存在许多众所周知的宁静毛病 ,而且也不太稳固  ,只有2.0.x以上的版本才比力稳固和宁静  ,新版本的运行效率也有很大改观  。在设定Kernel的功效时 ,只选择须要的功效 ,万万不要所有功效照单全收 ,否则会使Kernel变得很大 ,既占用系统资源 ,也给黑客留下可乘之机  。

                在Internet上经常有最新的宁静修补法式  ,Linux系统治理员应该新闻灵通  ,经常惠顾宁静新闻组  ,查阅新的修补法式  。

                第4招:检查登录密码

                设定登录密码是一项很是主要的宁静措施 ,若是用户的密码设定不合适  ,就很容易被破译  ,尤其是拥有超级用户使用权限的用户  ,若是没有优秀的密码 ,将给系统造成很大的宁静毛病  。

                在多用户系统中  ,若是强迫每个用户选择不易猜出的密码  ,将大大提高系统的宁静性  。但若是passwd法式无法强迫每个上机用户使用适当的密码 ,要确保密码的宁静度 ,就只能依赖密码破解法式了  。

                现实上 ,密码破解法式是黑客工具箱中的一种工具  ,它将常用的密码或者是英文字典中所有可能用来作密码的字都用法式加密成密码字  ,然后将其与Linux系统的/etc/passwd密码文件或/etc/shadow影子文件相比力 ,若是发现有吻合的密码 ,就可以求得明码了  。

                在网络上可以找到许多密码破解法式  ,比力著名的法式是crack  。用户可以自己先执行密码破解法式  ,找出容易被黑客破解的密码  ,先行纠正总比被黑客破解要有利 。

                第5招:设定用户账号的宁静品级

                除密码之外  ,用户账号也有宁静品级  ,这是由于在Linux上每个账号可以被赋予差别的权限  ,因此在建设一个新用户ID时  ,系统治理员应该凭据需要赋予该账号差别的权限  ,而且合并到差别的用户组中 。

                在Linux系统上的tcpd中 ,可以设定允许上机和不允许上机职员的名单 。其中  ,允许上机职员名单在/etc/hosts.allow中设置  ,不允许上机职员名单在/etc/hosts.deny中设置  。设置完成之后  ,需要重新启动inetd法式才会生效  。此外 ,Linux将自动把允许进入或不允许进入的效果记载到/rar/log/secure文件中 ,系统治理员可以据此查出可疑的进入记载  。

                每个账号ID应该有专人卖力  。在企业中  ,若是卖力某个ID的职员去职  ,治理员应立刻从系统中删除该账号  。许多入侵事务都是借用了那些良久不用的账号 。

                在用户账号之中  ,黑客最喜欢具有root权限的账号  ,这种超级用户有权修改或删除种种系统设置  ,可以在系统中畅行无阻  。因此  ,在给任何账号赋予root权限之前  ,都必须仔细思量  。

                Linux系统中的/etc/securetty文件包罗了一组能够以root账号登录的终端机名称  。例如  ,在RedHatLinux系统中  ,该文件的初始值仅允许当地虚拟控制台(rtys)以root权限登录  ,而不允许远程用户以root权限登录  。最好不要修改该文件  ,若是一定要从远程登录为root权限  ,最好是先以通俗账号登录  ,然后使用su下令升级为超级用户 。

                第6招:消除黑客犯罪的温床

                在Unix系统中  ,有一系列r字头的公用法式  ,它们是黑客用以入侵的武器 ,很是危险  ,因此绝对不要将root账号开放给这些公用法式  。由于这些公用法式都是用  。rhosts文件或者hosts.equiv文件批准进入的 ,因此一定要确保root账号不包罗在这些文件之内  。

                由于r字头指令是黑客们的温床  ,因此许多宁静工具都是针对这一宁静毛病而设计的  。例如  ,PAM工具就可以用来将r字头公用法式的功力废掉 ,它在/etc/pam.d/rlogin文件中加上登录必须先批准的指令 ,使整个系统的用户都不能使用自己home目录下的  。rhosts文件 。

                第7招:增强宁静防护工具

                SSH是宁静套接层的简称  ,它是可以宁静地用来取代rlogin、rsh和rcp等公用法式的一套法式组 。SSH接纳公然密钥手艺对网络上两台主机之间的通讯信息加密  ,而且用其密钥充当身份验证的工具  。

                由于SSH将网络上的信息加密  ,因此它可以用来宁静地登录到远程主机上  ,而且在两台主机之间宁静地传送信息  。现实上  ,SSH不仅可以保障Linux主机之间的宁静通讯  ,Windows用户也可以通过SSH宁静地毗连到Linux服务器上 。

                第8招:限制超级用户的权力

                我们在前面提到 ,root是Linux掩护的重点 ,由于它权力无限  ,因此最好不要容易将超级用户授权出去  。可是 ,有些法式的安装和维护事情必须要求有超级用户的权限 ,在这种情形下  ,可以使用其他工具让这类用户有部门超级用户的权限 。Sudo就是这样的工具 。

                Sudo法式允许一样平常用户经由组态设定后 ,以用户自己的密码再登录一次  ,取得超级用户的权限  ,但只能执行有限的几个指令  。例如  ,应用sudo后 ,可以让治理磁带备份的治理职员天天定时登录到系统中  ,取得超级用户权限去执行文档备份事情  ,但却没有特权去作其他只有超级用户才气作的事情 。

                Sudo不光限制了用户的权限  ,而且还将每次使用sudo所执行的指令记载下来  ,不管该指令的执行是乐成照旧失败  。在大型企业中  ,有时间有许多人同时治理Linux系统的各个差别部门  ,每个治理职员都有用sudo授权给某些用户超级用户权限的能力 ,从sudo的日志中  ,可以追踪到谁做了什么以及改动了系统的哪些部门  。

                值得注重的是  ,sudo并不能限制所有的用户行为  ,尤其是当某些简朴的指令没有设置限制时  ,就有可能被黑客滥用 。例如 ,一样平常用来显示文件内容的/etc/cat指令  ,若是有了超级用户的权限 ,黑客就可以用它修改或删除一些主要的文件  。

                第9招:追踪黑客的踪迹

                当你仔细设定了种种与Linux相关的组态  ,而且安装了须要的宁静防护工具之后  ,Linux操作系统的宁静性简直大为提高  ,可是却并不能保证防止那些艺高人胆大的网络黑客的入侵 。

                在平时 ,网络治理职员要经常提高小心  ,随时注重种种可疑状态  ,而且定时检查种种系统日志文件  ,包罗一样平常信息日志、网络毗连日志、文件传输日志以及用户登录日志等  。在检查这些日志时 ,要注重是否有不合常理的时间纪录  。例如:

                ·正常用户在三更三更登录;

                ·不正常的日志记载  ,好比日志只记载了一半就切断了  ,或者整个日志文件被删除了;

                ·用户从生疏的网址进入系统;

                ·因密码错误或用户账号错误被屏弃在外的日志记载  ,尤其是那些一再一连实验进入失败 ,但却有一定模式的试错法;

                ·非法使用或不正当使用超级用户权限su的指令;

                ·重新开机或重新启动各项服务的记载 。

                第10招:配合防御  ,确保宁静

                从盘算机宁静的角度看  ,天下上没有绝对密不透风、百分之百宁静的盘算机系统 ,Linux系统也不破例  。接纳以上的宁静守则  ,虽然可以使Linux系统的宁静性大大提高  ,使随手牵羊型的黑客和电脑玩家不能容易突入 ,但却纷歧定能阻挡那些身怀特技的武林妙手  ,因此  ,企业用户还需要借助防火墙等其他宁静工具 ,配合防御黑客入侵  ,才气确保系统万无一失  。

                Linux宁静设置条记

                Linux下用户组宁静设置

                chmod o-r /etc/passwd //让其他用户得不到passwd里的信息

                chmod o-r /etc/group //让其他用户得不到group里的信息

                chgrp apache /etc/passwd /etc/group //把passwd与group改为apache组

                权限设置

                cd /

                chmod o-r *

                cd /usr

                chmod o-r *

                cd /var

                chmod o-r *

                chmod go-r /etc/httpd/conf

                chmod go-rx /etc/rc.d/init.d

                chmod o-r /etc/rc.d/init.d/* //去掉几个目录的列权限

                chmod go-rx /usr/bin/gcc

                chmod go-rx /usr/bin/g++

                chmod go-rx /usr/include //去掉glibc的其他用户的权限