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

4.作为root运行的程序

在UNIX系统中,有些程序由系统作为root进程运行.这些程序并不总是具有SUID许可,因为其不少程序仅由root运行,">系统管理员需要清楚这些程序做什么,以及这些程序还将运行其它什么程序.

(1)启动系统

当某些UNIX系统(如SCO UNIX/XENIX)启动时,是以被称为单用户的方式运行,在这种方式中普通用户不能登录,唯有的进程是init,swapper,以及一些由系统管理员从控制台运行的进程.UNIX系统的单用户方式启动,使系统管理员能在允许普通用户登录以前,先检查系统操作,确保系统一切正常,当系统处于单用户方式时,控制台作为超级用户,命令揭示是"#",有些UNIX系统不要确认超级用户口令就认可控制台是root,给出#提示符.这就可能成为一个安全问题.

(2)init进程

UNIX系统总是以某种方式或称为某种级运行,系统有若干种运行级,这些运行级由init进程控制.UNIX系统启动时以单用户方式运行,也叫1级或S级.

对于其他用户登录进入系统,UNIX有一种多用户运行方式,也叫2级.init进程控制系统运行级,它读入文件/etc/inittab,该文件详细地规定了哪些进程在哪一级运行.当root敲入init n(数字),系统就进入n级.init读该文件以确定终止哪些进程,启动哪些进程.有效的运行级的数值是从0到6与s.注意:由init建立的进程以UID为0运行(root)从/etc/inittab运行的程序也作为root运行,所以系统管理员要确保自己知道/etc/inittab中的程序做什么工作,确保这些程序以及这些程序所在的目录直到/和/etc/inittab除root外无人可写.

(3)进入多用户

当UNIX系统进入多用户方式时,将寝化一系列事件,接着开始执行gettys,允许其他用户登录进入系统.如果再看看/etc/inittab文件,会看到gettys定义在运行级2,至少三个shell程/etc/brc,/etc/bcheckrc,/etc/rc*也定义在运行级2.这些程序都在gettys启动前运行.这些shell程序作为root运行,也不能仅对root可写还应当检查shell程序运行的命令,因为这些命令也将作为root运行.

(4)shutdown命令

用shutdown命令关系统,shutdown shell程序发送警告通知所有用户离开系统,在"给定的期限时间"到了后,就终止进程,拆卸文件系统,进入单用户方式或关机状态.一旦进入单用户方式,所有的gettys停止运行,用户再不能登录.

进入关机状态后可将系统关电.shutdown仅能由作为root登录的用户从系统控制台上运行.所以任何的shutdown运行的命令仅能对root可写.

(5)系统V的cron程序

cron在UNIX系统是多用户方式时运行,根据规定的时间安排执行指定的命令,每隔一分钟检查一次文件/usr/lib/crontab,寻找是否有应当运行的程序?如果找到要运行的程序,就运行该程序,否则睡眠等待一分钟.实/usr/lib/crontab用于根据全天的规则时间表运行程序,也可在夜晚运行白天不愿运行怕降低其他用户速度的程序.通常由cron运行的程序是如记帐,存文件这样的程序.cron一般在系统进入多用户后由/etc/rc启动,当shutdown运行killall命令时便终止运行.由cron运行的程序作为root,所以应当注意放什么程序在crontab中,还要确保/usr/lib/crontab和该表中列出的任何程序对任何人不可写.如果用户需要由cron执行一个程序,系统管理员可用su命令在crontab表中建立一个入口,使用户的程序不能获得root的权限.

(6)系统V版本2之后的cron程序

在系统V版本2中,cron被修改成允许用户建立自己的crontab入口,/usr/lib/crontab文件不再存在,由目录/usr/spool/cron/crontabs中的文件
代替.这些文件的格式与crontab相同,但每个文件与系统中的一个用户对应,并以某用户的名义由cron运行.如果想限制能建立crontab的用户,可在文件/usr/lib/cron/cron.allow文件中列出允许运行crontab命令的用户.任何未列于该文件的用户不能运行crontab.反之,若更愿意列出不允许运行crontab命令的用户,则可将他们列入/usr/lib/cron/cron.deny文件中,未列于该文件的其他用户将被允许建立crontab.

注意:若两个文件都存在,系统将使用cron.allow,忽略cron.deny.如果两个文件都不存在,则只有root可运行crontab.所以,若要允许系统中的所有用户都可运行crontab命令,应当建立一个空的cron.deny文件,如果cron.allow也存在,则删除该文件.这个版本的cron命令的安全程度比前一个高,因为用户只能看自己的crontab,系统管理员也不必担心其他用户的程序是否会作为root运行,由于允许每个系统登录用户有自己的crontab,也简化了对程序必须由cron运行,但不必作为root运行的系统程序的处理.必须确保root的crontab文件仅对root可写,并且该文件所在的目录及所有的父目录也仅对root可写.

(7)/etc/profile

每当用户(包括root在内)登录时,由shell执行/etc/profile文件,应确保这个文件以及从这个文件运行的程序和命令都仅对root可写.

时间: 2024-10-03 18:54:24

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

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

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

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

8.增加,删除,移走用户 (1)增加用户增加用户有三个过程:. 在/etc/passwd文件中写入新用户的入口项.. 为新登录用户建立一个HOME目录.. 在/etc/group中为新用户增加一个入口项. 在/etc/passwd文件中写入新的入口项时,口令部分可先设置为NOLOGIN,以免有人做为此新用户登录.在修改文件前,应mkdir /etc/ptmp,以免他人同时修改此文件.新用户一般独立为一个新组,GID号与UID号相同(除非他要加入目前已存在的一个新组),UID号必须和其他人不同,H

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

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

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

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

中国电信从易信公司成立之际即不参与日常运营工作

摘要: 针对中国电信撤出易信运营的消息,易信昨天回应表示,中国电信从易信公司成立之际即不参与日常运营工作,一直以来都是控股不控权.中国电信方面亦表示,对易信的支持没有变化 针对"中国电信撤出易信运营"的消息,易信昨天回应表示,"中国电信从易信公司成立之际即不参与日常运营工作",一直以来都是"控股不控权".中国电信方面亦表示,对易信的支持没有变化. 易信称运营归网易负责 据媒体报道,易信公司原CEO张政.副总经理高智敏已先后离职,两人均来自中国电信

浅谈网站日常维护工作哪些是关键

对于网站维护者而言平时需做哪些事,相信广大的站长朋友们都十分的清楚,但哪些工作才是日常网站维护工作当中最为关键的呢?下面A5站长网SEO诊断优化团队就来和广大的站长朋友们浅谈下究竟网站日常维护工作哪些才是关键? 稳定新鲜的内容更新 内容这项工作永远都会是网站维护者工作的重点所在,无论是什么类型的网站,网站都需要更新内容,没有内容的支撑,网站就别提发展,想要网站有生机,就要每天有规律的写些新鲜的内容,进行网站更新,网站只有有新内容的增加,才能吸引搜索引擎蜘蛛和用户的访问,否则,搜索引擎蜘蛛每次来你

在Excel工作表单元格中自动输入数据

为了快速输入数据,您可以让 Microsoft Office Excel 自动重复数据,或者自动填充数据. 自动重复列中已输入的项目 如果在单元格中键入的前几个字符与该列中已有的项相匹配,Excel 会自动输入其余的字符.但 Excel 只能自动完成包含文字或文字与数字的组合的项.只包含数字.日期或时间的项不能自动完成. 请执行下列操作之一: ·要接受建议的项,请按 Enter.自动完成的项完全采用已有项的大小写格式. ·如果不想采用自动提供的字符,请继续键入. ·如果要删除自动提供的字符,请按

工作-html 怎么刷新就执行 inc文件中的asp中的function 方法

问题描述 html 怎么刷新就执行 inc文件中的asp中的function 方法 用html做的静态页面,别人给我的只有在后台保存成功之后页面才刷新. 但是现在我想每次访问.页面上的内容就随机出现. 原理我懂. 但是我没接触过asp 不会写. 哪位大神教教我 .关系到小弟的工作问题. 急急急!!!!! 解决方案 最简单的是放一个框架网页 <frame src="xxx.asp" /> 解决方案二: http://www.w3school.com.cn/jquery/aja

求救 --如何把 vs2005 中使用 sql2000 中的事务 ?

问题描述 大家好!在vs2005中使用sql2000中的事务(tran)?我想在表中,先添加几条数据,如果满足条件,则执行(commit)不满足,则用(rollback),不执行. 解决方案 解决方案二:还有一点在不同的方法中判断使用解决方案三:System.Data.SqlClient.SqlTransactiontran=newSystem.Data.SqlClient.SqlTransaction(conn);tran.Commit();tran.RollBack();你东西你什么地方不明