探讨系统管理员日常事务工作中的安全问题(下)

8.增加,删除,移走用户

(1)增加用户
增加用户有三个过程:
. 在/etc/passwd文件中写入新用户的入口项.
. 为新登录用户建立一个HOME目录.
. 在/etc/group中为新用户增加一个入口项.

在/etc/passwd文件中写入新的入口项时,口令部分可先设置为NOLOGIN,以免有人做为此新用户登录.在修改文件前,应mkdir /etc/ptmp,以免他人同时修改此文件.新用户一般独立为一个新组,GID号与UID号相同(除非他要加入目前已存在的一个新组),UID号必须和其他人不同,HOME目录一般设置在/usr或/home目录下建立一个以用户登录名为名称的目录做为其主目录.

(2)删除用户

删除用户与加用户的工作正好相反,首先在/etc/passwd和/etc/group文件中删除用户的入口项,然后删除用户的HOME目录和所有文件.rm -r /usr/login">name 删除整个目录树.如果用户在/usr/spool/cron/crontabs中有crontab文件,也应当删除.

(3)将用户移到另一个系统

这是一个复杂的问题,不只是拷贝用户的文件和用户在/etc/passwd文件中的入口项.首先一个问题是用户的UID和GID可能已经用于另一个系统,若是出现这种情况,必须给要移的用户分配另外的UID和GID,如果改变了用户的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/SGID程序属于另一个用户.在这种情况下,如果用cpio或tar命令将用户的目录结构拷贝到本系统,SUID/SGID程序也将会拷贝到本系统而没有任何警告信息.应当在允许用户使用新系统以前先删除这种文件的SUID/SGID许可.总之,始终坚持检查所移用户的文件总是更安全些.也可以用su命令进入用户的户头,再拷贝用户文件,这样文件的所有者就是该用户,而不是root.

9.加限制的环境

(1)加限制的shell(rsh)

该shell几乎与普通的shell相同,但是该shell的设计能限制一个用户的能力,不允许用户有某些标准shell所允许的行为:

. 不能改变工作目录(cd).
. 不能改变PATH或SHELL shell变量.
. 不能使用含有"/"的命令名.
. 不能重定向输出(>和>>).
. 不能用exec执行程序.

用户在登录时,招待.profile文件后系统就强加上了这些限制,如果用在.profile文件正被解释时按了BREAK键或DELETE键,该用户将被注销.这些简单的限制,使用写受限制用户的.profile文件的系统管理员可以对用户能使用什么命令,进行完全的控制.应当注意:系统V加限制的shell实际上不是很安全,在敌对的用户时不要用.系统V版本2以后的版本中加限制的shell更安全些.但若允许受限制的用户使用某些命令(如env,cp,ln),用户将能逃避加限制的shell,进入非限制的shell.

(2)用chroot()限制用户

如果的确想限制一个用户,可用chroot()子程序为用户建立一个完全隔离的环境,改变了进程对根目录的概念,因此可用于将一个用户封在整个文件系统的某一层目录结构中,使用户无法用cd命令转出该层目录结构,不能存取文件系统中其余部分的任何文件.这种限制方式比加限制的shell好得多.用户使用的命令应由系统管理员在新的root目录中建立一个bin目录,并建立用户可用命令的链到系统的/bin目录中相应命令文件上(若在不同的文件系统则应拷贝命令文件).还应建立新的passwd文件,保留系统登录户头(为了使ls -l正确地报告与受限制的子文件系统中的文件相关的正确登录名)和用户帐户,但系统帐户的口令改为NOLOGIN以使受限制的用户不能取得系统登录的真实口令,使"破密"程序的任何企图成为泡影.utmp文件是who所需要的,该文件含有系统中已登录用户的列表.新的/etc/profile文件也不是建链文件,以便受限制的用户可以执行不同的启动命令./dev目录中的终端设备文件被链接到新的/dev目录下,因为命令who产生输出时要查看这些文件.在系统V及以后的UNIX版本中,login命令有chroot()的功能.如果口令文件中用户入口项的登录shell域(最后一个域)是*,login将调用chroot()把用户的根目录设置成为口令文件中用户入口项登录目录域指定的目录.然后再调用exec()执行login,新的login将在新子系统文件中执行该用户的登录.

chroot()并不是把root封锁在一个子文件系统中,所以给受限制用户用的命令时应加以考虑,具有root的SUID许可的程序可能会给予用户root的能力.应当将这种可能减低到最小程度,交给用户使用的命令应当取自清除了SUID陷井的系统命令.链接文件可减少磁盘占用区,但要记住,当与敌对用户打交道时链接到chroot目录结构(尤其是命令)的系统文件是很危险的.

如果建立一个像这样的限制环境,应确保对安装到新的/bin的每条命令都做过测试,有些程序可能有系统管理员未曾想到的出乎意料的执行结果.为了使这些命令能运行,还得在加限制的子文件系统中加服务目录或文件:/tmp,
/etc/termcap,/usr/lib/terminfo,/dev/mem,/dev/kmem,/dev/swap,用户所登录的/dev中的tty文件以及/unix.有些程序在子文件系统中运行时不会很好,如果将假脱机程序和网络命令拷贝到加限制的子文件系统中,并放在为两条命令专建的目录层结构下,它们可能也运行不了.

时间: 2024-12-31 05:18:32

探讨系统管理员日常事务工作中的安全问题(下)的相关文章

探讨系统管理员日常事务工作中的安全问题(上)

本文从http://www.aliyun.com/zixun/aggregation/13879.html">系统管理员的角度讨论安全问题.系统管理员是管理系统的人:启动系统,停止系统运行,安装新软件,增加新用户,删除老用户,以及完成保持系统发展和运行的日常事务工作. 1.安全管理 安全管理主要分为四个方面: (1)防止未授权存取:这是计算机安全最重要的问题:未被使用系统的人进入系统.用户意识,良好的口令管理(由系统管理员和用户双方配合),登录活动记录和报告,用户和网络活动的周期检查,这些

探讨系统管理员日常事务工作中的安全问题(中)

4.作为root运行的程序 在UNIX系统中,有些程序由系统作为root进程运行.这些程序并不总是具有SUID许可,因为其不少程序仅由root运行,http://www.aliyun.com/zixun/aggregation/13879.html">系统管理员需要清楚这些程序做什么,以及这些程序还将运行其它什么程序. (1)启动系统 当某些UNIX系统(如SCO UNIX/XENIX)启动时,是以被称为单用户的方式运行,在这种方式中普通用户不能登录,唯有的进程是init,swapper,

描述数字的神奇力量:数字在实际工作中的魔力

文章描述:数字的魔力.   用数字说话 首先,在描述数字的神奇力量之前,先举一个贴近我们生活的实例.大家还记得刚毕业时,汗流浃背的穿插在招聘现场投递简历的情景么?相信每一个毕业生都经历过那紧张又焦虑的时刻.那时手头那张薄薄的简历是我们的决胜的筹码,于是写简历自然成了一个技术活,令人痛苦却又不得不认真对待.那么如何简洁明了,却又不遗漏任何一个闪光点的在简历里传递给招聘者所有有价值的信息呢?让我们来看看数字的力量: 可见,试着将一些信息转化为数字呈现能更清晰直观的表达出重点."我学习成绩很优秀&qu

分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据

原文:分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前有一段经历 在月初的时候这个数据库曾经置疑过,启动不起来 Could not redo log record (163041:116859:5), for transaction ID (0:-1175226963), on

PostgreSQL服务器管理:日常数据库维护工作

本文档为PostgreSQL 9.6.0文档,本转载已得到原译者彭煜玮授权. 1. 日常清理 PostgreSQL数据库要求周期性的清理维护.对于很多安装,让自动清理守护进程来执行清理已经足够,如Section 24.1.6所述.你可能需要调整其中描述的自动清理参数来获得最佳结果.某些数据库管理员会希望使用手动管理的VACUUM命令来对后台进程的活动进行补充或者替换,这通常使用cron或任务计划程序脚本来执行.要正确地设置手动管理的清理,最重要的是理解接下来几小节中讨论的问题.依赖自动清理的管理

用户研究设计:实际工作中总结用户访谈经验心得

文章描述:最近做了一些项目的用户访谈,总结出些许经验心得,这里先就一些访谈过程的关键点作为一个开头,后续再来补充其他技巧等方面,大家也可以共同补充,同时欢迎大家拍砖. 最近做了一些项目的用户访谈,总结出些许经验心得,这里先就一些访谈过程的关键点作为一个开头,后续再来补充其他技巧等方面,大家也可以共同补充,同时欢迎大家拍砖. 1.明确用研目的 研究目的是做用户研究首要需明确的问题.产品的需求是否可以通过用研来解决,如果可以解决,采用哪种方法,是定量还是定性,定性是座谈会还是用户访谈等等,这都要根据

探讨ASP.NET 2.0中的Web控件改进技术

asp.net|web|控件 ASP.NET 2.0并没有抛弃1.1版本中的任何现有控件,而是增加了一组新的控件;同时还引入了若干新的控件开发技术.本系列文章将对这些内容展开全面探讨. 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩;但是,你是否了解到有关定制Web控件开发方面的重大变化?这正是我在本文中所想讨论的.如果你已经从事于控件开发,那么,我想本文所描述的ASP.NET 2.0中的新的改进特征会立即应用于

工作中比较重要的经验分享-2016-bypkm

工作中总有一些经验能让人记忆深刻,能让人终生受用,相比技术而言,经验是宝贵的.无价的.在我的博客中,主要是技术类的博文,那些东西是相对死板的,价值也相对低廉.今天就记录一下我在工作中一次比较重要的经验吧. 事情发生得也比较奇葩,相信有一些人知道向日葵开机棒这个东西,没错,这个东西就是经验发生的最初原因,待我一一道来,可能还要配些图文说明,才能说得清.有一段时间内,公司要求每个人都要做到节能,就是人离关灯.关电脑.关空调,关灯关空调这个都没问题,关电脑不太现实,因为那时候线上环境系统不成熟,随时可

深度学习框架中的魔鬼:探究人工智能系统中的安全问题

ISC 2017中国互联网安全大会举办了人工智能安全论坛. 我们把论坛总结成为一系列文章,本文为系列中的第一篇. 深度学习引领着新一轮的人工智能浪潮,受到工业界以及全社会的广泛关注. 虽然大家对人工智能有很多美好的憧憬,但是现实是残酷的 - 随着一批深度学习应用逐渐开始变成现实,安全问题也渐渐显现出来. 人工智能应用面临来自多个方面的威胁:包括深度学习框架中的软件实现漏洞.对抗机器学习的恶意样本生成.训练数据的污染等等.这些威胁可能导致人工智能所驱动的识别系统出现混乱,形成漏判或者误判,甚至导致