Linux系统安全加固[Linux安全]
本文“Linux系统安全加固[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
去年8月,某所网站遭黑客攻击瘫痪固然港交所随后及时启用备用系统,但还是导致7支股票1支债卷被迫停牌,第二天再次蒙受攻击而瘫痪;在去年年底继 CSDN信息安全呈现之后,网上更是传出包含大家网等多家公司的用户被公开,日益凸显的网络安全事件阐明了目前底子网络还面对着诸多威胁,木马僵尸网络终端恶意软件, 跨境化网络攻击都是直接威胁.因此,确保系统安全变得尤为重要,接下来在具体介绍Linux系统的安全性之前,首先介绍一些信息安全的底子知识,这些底子知识看似单调,但关于此后加固Linux系统,保证系统安全运行尤为重要.
1、Linux的安全机制
近些年来,Linux系统由于其超卓的性能和安定性、开放源代码的机动性和可扩大性,以及较低廉的本钱,而遭到计算机产业界的遍及关注和利用.在安全性方面,Linux内核供应了经典的Unix自主拜候掌握(root用户、用户ID安全机制), 以及部份支持了POSIX.1e尺度草案中的Capabilities安全机制.自主拜候掌握(Discretionary Access Control,DAC)是指主体对客体的拜候权限是由客体的属主或超级用户决意的,并且此权限一旦肯定,将作为今后判断主体对客体能否有及有什么权限的惟一根据.只有客体的属主或超级用户才有权更改这些权限.传统Linux系统供应DAC支持,客体在Linux系统当中主如果指文件、目录等系统资源,主体是指拜候这些资源的用户或进程.掌握粒度为客体的拥有者、属组和其他人.下面就这样模子的三个要素,即客体(文件)、主体(文件)和拜候权限一一介绍.
1.文件系统及拜候权限
Linux为每个文件都分配了一个文件全部者,称为文件主,并赋予文件主惟一的注册名.对文件的掌握取决于文件主或超级用户(root).文件或目录的成立者对所成立的文件或目录拥有分外利用权,文件的全部关系是可以改变的,文件或目录的全部权可以转让给别的用户,但只有文件主或root用户才有权改变文件的全部关系.
文件的全部权标志是用户ID(UID).chown命今可以更改某个文件或目录的全部权.比方,超级用户把自己的一个文件拷贝给用户cg,为了让用户cg可以存取这个文件,超级用户(root)应当把这个文件的属主设为cg,不然,用户cg就无法存取这个文件.
chown号令的语法格局以下:
chown [cfhvR] 用户 或 组 [文件1] [文件2]....
用户可以是用户名或用户ID.文件是以空格脱离的、要改变权限的文件列表,可以用通配符表示文件名.假如改变了文件或目录的全部权,原文件主将不再拥有该文件或目录的权限.系统管理员常常利用chown号令,在将文件拷贝到另一个用户的目录下今后,让用户拥有利用该文件的权限.
在Linux下,每个文件又同时属于一个用户组.当成立一个文件或目录时,系统就会赋予它一个用户组关系,用户组的全部成员都可以利用此文件或目录.文件用户组关系的标志是GID.文件的GID只能由文件主或超级用户(root)来改正.chgrp号令可以改变文件或目录的拥有者或所属群组,其语法格局以下:
chgrp [cfhRv] group文件名或目录
此中,group是用户组ID;文件名是以空格脱离的,它支持通配符.
Linux系统中的每个文件和目录都有拜候答应权限,用它来肯定谁可以通过何种方法对文件和目录举行拜候及操作.拜候权限规定三种差别范例的用户,即文件主(owner)、同组用户(group)、可以拜候系统的别的用户(others).拜候权限规定三种拜候文件或目录的方法,即读 (r)、写 (w)、可履行 (x).
关于文件,读权限(r)表示只答应指定用户读其内容,而禁止对其做任何的更改操作.将所拜候的文件内容作为输入的号令需求有读的权限,比方号令more、 head、cat等.写权限(w)表示答应指定用户翻开并改正文件,比方号令cp、vi、mv等.履行权限(x)答应指定用户将该文件作为一个程序履行.可以利用“ls -l”查看一个文件的具体属性.
# ls -l /etc/passwd
-rw-r--r-- 1 root root 1606 Aug 25 20:10 /etc/passwd
关于目录,读权限(r)可以列出存储在该目录下的文件,即读目录内容列表.这一权限答应Shell利用文件扩大名字符列出相匹配的文件名.写权限(w)表示答应从目录中删除或增添新的文件,普通只有目录主才有写权限.履行权限(x)答应在目录中查找,并能用cd号令将工作目录改到该目录.利用“ls - ld”号令可以查看一个目录的具体属性.
# ls -ld /var
drwxr-xr-x 14 root root 360 Aug 25 20:30 /var
2、用户和账号管理
Linux是一个多用户系统,因此对用户的管理是系统管理的基本构成部份.安装Linux的用户极大概就是该系统的管理员,也就是权限最高的root.通过对用户的管理,分清了用户之间的责、权、利,保证了系统安全.关于若何增添和删除一个用户等通例的管理,这里就不再赘述了,下面重点介绍一下同用户管理关系密切的几个配置文件.
1. /etc/passwd文件
用“ls -l”号令可以看到该文件属主是root用户,只有root用户能对该文件举行写操作,别的用户只能举行读的操作.
/etc/passwd文件当中以行为单位,每行是一个记录保存一个用户的信息,参数之间用冒号离隔,用cat可以查看其内容.
# cat /etc/passwd
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
cyrus:x:96:12:User for cyrus-imapd:/usr/lib/cyrus:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
dhcpd:x:102:65534:DHCP server daemon:/var/lib/dhcp:/bin/false
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
gdm:x:50:106:Gnome Display Manager daemon:/var/lib/gdm:/bin/false
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
notes:x:500:500::/home/notes:/bin/bash
....................
上面代码
◆ 第一列是用户名;
◆ 第二列是用户的密码;
◆ 第三列是用户的数字ID,即用户的UID;
◆ 第四列是用户的主组的ID,即用户的GID;
◆ 第五列是用户的全名,大概是注释;
◆ 第六列是用户主目录的位置,这个目录普通位于/home目录下, 目录名与用户ID 相同;第七列是用户的默许掌握台Shell.
注意,在上面的文件当中,全部用户的Password列是一个“x”,但这并非说用户的密码是x .这是因为早期的Unix系统密码是以一个强度对比弱的加密手段将密码加密后, 以文本的情势存储在这个文件中.目前已经很少有人再这样做了.Linux系统采纳的办理的办法是,在/etc/passwd文件中存放密码的位置只是存放一个“x”,而经过加密的密码存放于/etc/shadow文件中.这项技术通过将用户信息与密码数据别离而提高了安全性.并且采取了强度更高的加密算法来保存密码.一个映像密码条目的样比方下所示:
# cat /etc/shadow
at:!:15200:0:99999:7:::
bin:*:15200::::::
cyrus:!:15200:0:99999:7:::
daemon:*:15200::::::
dhcpd:!:15200:0:99999:7:::
ftp:*:15200::::::
.......
news:*:15200::::::
nobody:*:15200::::::
ntp:!:15200:0:99999:7:::
postfix:!:15200:0:99999:7:::
root:$2a$05$KXPwlTHjhgw4w0nY07zHx.6RlOpdmudzlRh6LfUp2tvjwyGglHP5y:15200::::::
sshd:!:15200:0:99999:7:::
2./etc/shadow 文件
/etc/shadow的格局与/etc/passwd近似,由若干个字段构成,字段之间用“:” 离隔,这些字段格局以下:登录名:加密口令:最后一次改正时间:最小时间隔断:最大时间隔断:告诫时间;不活动时间:失效时间:标志每个字段含义以下:
◆登录名是与/etc/passwd文件中的登录名相一致的用户账号.
◆ 口令字段存放的是加密后的用户口令字.假如为空,则对利用户没有口令,登录时不需求口令;
◆ 最后一次改正时间表示的是从某个时刻起,到用户最后一次改正口令时的天数.时间起点对差别的系统大概不一样.
◆ 最小时间隔断指的是两次改正口令之间所需的最小天数.
◆ 最大时间隔断指的是口令保持有效的最大天数.
◆告诫时间字段表示的是从系统开始告诫用户到用户密码正式失效之间的天数.
◆ 不活动时间表示的是用户没有登录活动但账号仍能保持有效的最大天数.
◆ 失效时间字段给出的是一个绝对的天数,假如利用了这个字段,那么就给出呼应账号的生存期.期满后,该账号就不再是一个合理的账号,也就不能再用来登录了.
3.系统审计
Linux的日记文件用来记录整个操作系统利用情况,他们是黑客攻击的重点目标,所以作为一个Linux网络系统管理员要充分用好以下几个日记文件.
◆ /var/log/lastlog文件
记录最后进入系统的用户信息,包含登录的时间、登录能否成功等信息.这样用户登录后只要用lastlog号令查看一下/var/log/lastlog文件中记录的所用账号的最后登录时间,再与自己的用机记录比较一下便可以发现该账号能否被黑客盗用.
可以用以下号令查看其空间占用情形
#du -h /var/log/lastlog
有时刻需求清空,利用以下号令
#cat /dev/null >; /var/log/lastlog
◆ /var/log/secure文件
记录系统自开通以来全部用户的登录时间和地址,可以给系统管理员供应更多的参考. www.110hack.com
◆ /var/log/wtmp文件
记录当前和历史上登录到系统的用户的登录时间、地址和注销时间等信息.用last号令可以查看,若想排除系统登录信息,只需删除这个文件,系统会生成新的登录信息.
用以下号令查看
#last -f /var/log/wtmp
以上几个文件都是由系统的klogd和syslogd保护进程进程记录的.普通klogd用来记录系统内核所产生的日记信息,也就是工作在系统内核态的进程所产生的日子记录; 而syslogd用来记录工作在用户态的进程的日记信息,这些程序包含用户进程、网络服务器进程和大都的系统保护进程.因此,关于管理人员而言,通过及时查抄syslogd记录的信息可以发现绝大大都的系统非常情形.
下面介绍一下syslogd进程的记录格局和配置办法.syslogd负责发送、记录系统内核及工具所产生的信息.整个机制由系统调用syslog()、系统保护进程syslogd,以及配置文件/etc/syslog.conf共同构成.当系统内核及工具产生信息时,通过调用syslog(),把信息送往syslogd,它再按照/etc/syslog.conf中的配置要求,、将这些信息辨别做以下处理:
◆ 记录到系统日记中;
◆ 输出到系统掌握台上;
◆ 转发给指定的用户;
◆ 通过网络转发给别的主机上的syslogd.
通过配置syslog.conf,可以机动地对信息的发送和保存举行掌握.
sys1ogd进程在系统启动时由/etc/rc.d/rc2.d/S12syslog
启动.假如需求手工启动或终止syslogd,可以利用下面号令:
# /etc/rc.d/init.d/syslog start | stop
# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secu
以上是“Linux系统安全加固[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |