如何用用户账户来保证Linux系统安全?

日期: 2010-06-17 来源:TechTarget中国

  本文主要总结了一些比较实用的用户账户安全技巧。虽然很简单,但是在工作中非常实用,可称得上简单而不简约。

  技巧一

  建立不允许登录系统的服务账号。

  以搭建服务器操作为例,前一段时间我用Linux搭建了mail服务器,系统账号即邮件账号。也就是说你要给你的同事开一个zhangsan@linux.com的邮件账号,你只要在你搭建的邮件服务器上建立zhangsan这个用户即可。但是问题来了,张三这个人既可以使用系统提供的邮件服务同时又能登录这台服务器,这样增加了系统安全风险。那么如何才能使得邮件用户既可以正常使用邮件账户但又不可以登录系统呢?下面我们就来探讨一下!

  第一种情况:张三这个账号还没有建立,对于这种情况是一件非常好办的事情,我们只要再给张三建立邮件账号的时候加一个参数-s /sbin/nologin就可以解决。

  例如:#  useradd -s /sbin/nologin zhangsan

  使用上例建立的张三用户只能使用邮件服务,如果他想用此账户登录系统那是不可能了。

  第二种情况:张三这个账号已经建立,且已经使用。对于这种情况可能稍微麻烦一点,但是也不是很难。

  首先我们修改账号属性,编辑/etc/passwd文件,找到zhangsan 用户名开头的那一行,修改shell参数为/sbin/nologin.

  # vi /etc/passwd

  Zhangsan:x:501:501::/home/zhangsan:/sbin/nologin

  下划线标注的部分即为该用户更改后的shell参数。

  其次更改完nologin参数后使用pwconv命令进行密码同步,然后用passwd命令设置张三的密码。

  #pwconv

  #passwd popuser

  通过以上两种情况我们就避免了服务使用对系统存在的潜在威胁。

  技巧二

  查看系统登录用户信息

  多用户多进程的Linux系统有可能同时或者分时的被用户使用,那么我们如何查看哪些用户在使用系统,又有哪些用户登录过系统呢?我们使用who命令和last命令就可以查看这些用户。

  1、‘who’命令,查看当前系统中登录的用户。

  # who

  2、‘last’命令,查看最近系统使用者登录的时间。

  # last

  技巧三

  删除不必要的系统默认账号

  默认安装完Linux系统会产生许多默认账号和组。由于这些账号和组是默认且公开的,所以存在很大的安全隐患。如果确实不需要这些账号和组,我们可以把他们删除掉。

  我们使用‘userdel’命令进行用户删除

  例如:

  # userdel adm

  # userdel lp

  # userdel sync

  # userdel shutdown

  # userdel halt

  # userdel news

  # userdel uucp

  # userdel poerator

  # userdel games        ( 如果没安装X-window服务器,可以删除这个用户)

  # userdel gopher

  # userdel ftp          (如果没有安装匿名ftp服务器,可以删除这个用户)

  我们使用‘groupdel’命令进行组删除

  例如:

  #groupdel adm

  #groupdel lp

  #groupdel news

  #groupdel uucp

  #groupdel games        (如果没安装X-window服务器,可以删除这个组)

  #groupdel dip

  #groupdel pppusers

  #groupdel popusers     (如果没有安装匿名ftp服务器,可以删除这个组)

  #groupdel slipusers

  技巧四

  设置账号相关配置文件的不可改变位

  长期使用linux的朋友可能多不可改变位相对比较熟悉,但是对于刚刚接触linux的朋友也许有点儿陌生。不可改变位可以用来保护文件,使其不被意外地删除重写,也可以防止有些人创建这个文件的符号连接。其实在我的通俗理解就相当于windows下的只读文件。删除/etc/passwd、/etc/shadow、/etc/group或/etc/gshadow等文件都是黑客的攻击方法。

  我们可以使用下列命令给文件设置不可改变位:

  # chattr +i /etc/passwd

  # chattr +i /etc/shadow

  # chattr +i /etc/group

  # chattr +i /etc/gshadow

  如果将来要在这些文件里增加和删除用户,必须先清除这些文件的不可改变位,否则你将对这些文件无法修改。

  技巧五

  防止任何人使用su命令成为root用户

  大家在使用普通用户操作linux的时候,有时候为了某种需要直接使用su命令就可以切换到root用户,这样就增加了安全的隐患。如果你不想让其他人使用su命令成为root或者只让某些用户有权使用su命令,只要你在/etc/pam.d/su文件中加入下面两行。我的建议是你尽量限制用户通过su命令成为root。

  第一步编辑su文件(vi /etc/pam.d/su),在文件的头部加入下面两行:

  auth sufficient /lib/security/pam_rootok.so debug

  auth required /lib/security/pam_wheel.so group=wheel

  加入这两行后,“/etc/pam.d/su”文件变为,如下图

  这两行的意思是只有wheel组的用户才能用su命令成为root。在这里请你注意,wheel组是系统中用于这个目的的特殊帐号,不能使用其他名字的组或组名。

  例如让levinboy用户成为wheel组的用户成员:

  #usermod -G10 levinboy

  G是表示用户所在的其他组。10是wheel组的ID值,levinboy是加入到wheel组的用户。用同样的命令可以让其他的用户使用su命令成为root。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐