分享好友 最新动态首页 最新动态分类 切换频道
Linux下的Root权限控制
2024-12-27 02:18

(注:引用自 http://www.linuxeden.com/html/security/20081009/61807.html
Linux是当前比较流行的网络服务器操作系统,它继承了UNIX系统安全、稳定、高效等优点。在Linux系统中Root拥有最高权限,正因如此攻击者往往以获取Root权限为目标。作为管理员如何有效地对Root进行有效管理呢?本文将从权限控制的角度,提供几个安全技巧。

  演示环境

  Red Hat Enterprise Linux 5

  1、远程登录

  我们知道在RHEL系统中,默认是允许Root用户直接远程登录的。假若攻击者获取了Root的密码,然后进行远程登录,那整个服务器就沦陷了。因此,我们要做好Root的权限限制,拒绝其远程登录。这样,就算攻击者获取了Root密码,也不能通过远程登录控制服务器。限制Root远程登录的方法有很多种,笔者向大家推荐两种。

  (1)SSH限制

  我们知道SSH是Linux系统中用于远程维护管理的一个服务,类似于Windows系统中的Telnet或者远程桌面3389。通过SSH限制Root远程登录,我们需要做的就是修改SSH的配置文件。找/etc/ssh/sshd_config文件,在其中添加PermitRootLogin no。需要注意的是Linux系统是大小写敏感的,不要输错。输入完毕后,保存并退出,然后输入命令service sshd restart重启SSH服务使修改生效。这样当通过Root远程连接Linux服务器时,就会拒绝连接。(图1)

  (2)PAM认证

  我们还可以使用PAM认证模块来拒绝Root用户直接登录系统,可通过下面的操作来实现。打开/etc/pam.d/sshd文件,在第一行加入auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshduser onerr=succeed这条语句。其含义是,在登录时认证帐户和密码是否有效,只有认证通过才能登录系统,否则结束认证拒绝登录。它的认证模块是/lib/security/pam_listfile.so,认证的用户是用户(user),当然也可以是组(group),认证的方式是拒绝(deny),认证文件是/etc/sshduser,文件名及目录随意,如果认证成功就返回(succeed)。(图2)

  然后我们创建一个认证文件,可以在终端中运行命令echo "root" > /etc/sshduser来创建,当然我们也可以使用vi打开sshduser文件来加入用户。需要说明的是,当有多个用户时,每个用户占用一行。添加完成后,再使用Root直接登录服务器就可以看到登录被拒绝了。(图3)

  2、su限制

  我们知道在Linux系统中有个su命令,利用该命令只要知道Root用户的密码,默认情况下任何人都可以切换到Root用户中进行操作。例如,一个属于users组的普通用户gslw可以通过su命令切换到Root用户中。(图4)

  因此,我们需要对SU进行限制,只允许特定组的用户才能SU到Root用户。使用的方法还是通过PAM认证模块来实现。我们先前控制ssh服务,是使用/etc/pam.d/sshd文件,当然控制用户使用su命令就需要对

  /etc/pam.d/su文件进行修改。直接打开该文件进行修改,或者在终端命令窗口输入命令vi /etc/pam.d/su,然后去掉其中#auth required pam_wheel.so use_uid的注释即可。(图5)

  其含义是,使用pam_wheel.so文件来检查当前用户的UID,如果不是whell组的用户就直接拒绝。现在我们通过gslw用户登录系统,然后su到Root可以看到被拒绝。当然,要使其可以su到Root需要将其加入了wheel组才可以。(图6)

  3、Root分权

  大家知道,由于Root具有最高的权限,经常用root用户来管理系统,会给系统带来一定的安全隐患。比如,一条无意识输入的破坏性的命令有可能会给系统带来毁灭性的打击。另外,如果系统被植入了嗅探工具,如果用root登录会造成root口令被窃取。因此我们要消减Root的权限,可以让其它用户来完成Root的一些工作,避免过多地使用Root用户。

  如何为Root分权,要根据服务器的性质来确定。比如一个Linux平台的apache服务器,作为管理员经常使用的命令应该是诸如/usr/local/apache2/bin/apachect1 start/stop/restart这样的是启动/重启/停止服务器的命令。我们可以为此创建一个用户gslw来管理apache服务器,我们知道普通用户是没有权限来启动apache服务器的。这里要用到sudo命令,通过它为gslw用户加入扩展权限使其可以管理apache服务器。

  利用Vi或者直接进入/etc/pam.d打开sudo文件,然后在其中添加一行gslw ALL=(ALL) /usr/local/apache2/bin/apachectl命令就可以了。该命令分成四个字段,依次为用户名、作用对象、以谁的身份运行以及运行的命令。当然,我们也可以加入gslw localhost=(root) /usr/local/apache2/bin/apachectl start,这样过滤更严格一些。最后保存退出后,使用gslw用户登录系统就可以运行/usr/local/apache2/bin/apachectl start命令了。上面只是举例,大家可以根据自己的需要在sudo文件中添加相应的命令行。不过,需要说明的是命令一定要严格过滤,不要赋权过大。(图7)

  总结:Linux下的权限控制是非常严格的,但也非常灵活,我们可以根据自己的安全需求进行布防。当然,关于Root权限的控制策略和方法还有很多,希望本文提供的思路对大家有所帮助。

最新文章
蛙漫网页漫画在线登录页面免费漫画入口
姑姑:我是医生!我告诉你,这不是病,是报应的时辰到了,那些讨债鬼们,到了他们跟我算总账的时候了。每当夜深人静时,那只猫头鹰在树上哇哇叫的时候,他们就来了。他们浑身是血,哇哇号哭着,跟那些缺腿少爪的青蛙混在一起。他们的哭声与
统计学习导论 基于R应用 pdf epub mobi txt 电子书 下载 2024
  统计学习是一套以复杂数据建模和数据理解为目的的工具集,是近期才发展起来的统计学的一个新领域。本书出自统计学习领域声名显赫的几位专家,结合R语言介绍了分析大数据必不可少的工具,提供一些重要的建模和预测技术,并借助丰富的实
配置typora图片上传服务器
EasyTyporaEasyTypora是一个为Typora添加私用化图床的实用小工具,要使用本项目,你需要有自己的一台云服务器~本项目永久地址:通过这个项目你能得到什么?在2021年,配合Typora使用,即使不买图床,也能获得极致的Markdown写作体验。学会
新闻广告投放费用贵吗?这样投放更省钱!
新闻广告投放费用贵吗?这样投放更省钱!新闻广告投放费用贵吗?这样投放更省钱!标题:新闻广告投放费用贵吗?这样投放更省钱!在现代信息的时代,新闻广告作为一种有效的宣传手段,被众多企业视为提升品牌知名度、扩大市场份额的重要途径
网站发布排名优化,提升网站在搜索引擎中的可见性与权威度,网站发布排名优化方案
网站发布排名优化方案旨在提升网站在搜索引擎中的可见性与权威度。通过优化网站内容、建立高质量外部链接、提升网站速度、增强用户体验以及定期更新网站信息,可以有效提高网站在搜索引擎中的排名。还需关注竞争对手的动态,及时调整优化策
非华为电脑管家 V11.1.6.30 汉客儿版免费软件全功能绿色商业破解版注册码下载
非华为电脑管家 V11.1.6.30 汉客儿版免费软件宁缺见识多(见多识广)果实累累毋滥32. 在我们的城市里,夏季上演得太长,秋色就不免出场得晚些。但秋实永远不会被混淆的——这坚硬明朗的金属季。让我们从微凉的松风中去任取,让我们从新刈的
苹果采集插件全套教程-苹果cmsV10采集插件
最近几年随着互联网时代的发展,做电影网站的站长越来越多了,加入此行列的人也是与日俱增!但是很多站长都是跟风来做电影站的,怎么做一点思路都没有。电影资源都不知道怎么来的。今天就教大家怎么做好电影站,文章有点长请大家耐心观看,
【纵深推进“三抓三促”行动】庄浪:解难题办实事暖人心
  原标题:【纵深推进“三抓三促”行动】庄浪:解难题办实事暖人心  新甘肃·甘肃日报记者 田丽媛  窗外,雪花飞舞;室内,温暖如春。  “今年暖气真暖和!”说起今冬供暖,家住庄浪县朝阳社区水利小区的李明月老人感慨地说。  
相关文章
推荐文章
发表评论
0评