企业生产环境用户权限集中管理方案案例

建立中要添加如下的项目经验:

  1. 在了解公司业务流程后,提出权限整改解决方案,改进公司超级用户Root权限泛滥的问题。
  2. 我首先写好方案后,给老大看,取得老大的支持后,召集大家开会讨论。
  3. 讨论确定可行后,由我负责推进实施
  4. 实施后结果,公司服务器权限管理更加清晰了。
  5. 制定账号权限申请流程以及权限申请表格

1问题现状

当前我们公司服务器上百台,各个服务器上需要管理的人很多(开发+运维+架构+DBA+产品+市场),在大家同时登录Linux服务器的时候,不同职能员工的水平不同,因此导致很不规范,root权限泛滥(几乎大部分人都拥有root权限),经常导致文件莫名奇妙的丢失,老手和新手对服务器的熟知程度不同,这样使得公司服务器安全存在很大的不稳定性,以及操作的安全性。据企业调查,50%的以上的安全问题都来自于内部。而不是外部。为了解决以上问题,单个用户管理权限过大的现状,现提出用户权限集中管理的方案。

2项目需求

我们既希望超级用户root密码掌握在少数或者唯一人的手中,又希望多个系统管理员或者相关权限的的人员,可以完成更多更复杂的与自身职能相关的工作。不至于越权操作导致系统安全隐患。

那么如何解决多个管理员都能解决系统而且又不让超级权限泛滥呢?这就需要sudo管理来代替或者结合su命令来完成这样苛刻且必要的服务器用户管理需求。

3具体实现

针对公司里面不同部门,根据员工的具体工作职能(例如:开发,运维数据库管理员等),分等级、层次的的实现对Linux服务器管理权限的最小化和规范化。这样既减少了运维管理的成本,消除了安全隐患,也提高了工作效率,实现了高质量、快速化的完成项目进度以及日常的系统维护。

4实施方案

说明:实施方案一般由积极主动发现问题的运维人员提出问题的,然后写好方案,再召集大家讨论可行性,最后确定方案,实施部署,最后后期维护总结。

思想:在提出问题之前,一定要想到如何解决,一并发出来解决方案

到此为止:你应该写完权限规划文档了。

4.1信息采集

4,1.1

召集相关部门的领导通过会议讨论或者组织领导沟通确定权限管理方案的可行性。需要支持的人员:运维经理或者总监,CTO的支持、各部门领导的支持。我们作为运维人员,拿着老师这样类型的方案,给大家讲解这个文档。通过会议的形式做演讲,慷慨激昂的演说,取得老大们的认可。才是项目可以实施的前提。当然,如果不实施,你也得到了锻炼,老大对你积极主动的思想网站架构问题也是另眼看待的。

4.1.2

确定方案的可行性以后,会议负责汇总,提交、审核所有相关人员对Linux服务器的权限需要问题。

取得老大们的支持以后,通过发邮件或者联系相关人员取得需要的相关员工权限。比如说:请各部门经理整理归类本部门需要登录的Linux的权限人员名单、职位、以及负责的业务及权限。如果说不清楚权限细节,就说负责的业务细节。这样运维人员就可以确定需要是什么权限了。

4.1.3

按照需求执行Linux命令程序以及公司业务服务来规划权限和人员对应配置。

主要是运维人员根据上面搜集的人员名单,需要的业务以及权角色,对应账号的配置权限,实际上就是sudo配置文件。

4.1.4

权限方案一旦实施以后,所有员工必须通过《员工Linux服务器管理权限申请表》来申请对应的权限,确定审批流程,规范化管理。这里实施后,把住权限申请流程很重要,否则大家不听话,方案实施也会泡汤的。

4.1.5

写操作说明,对各部门人员进行操作讲解,sudu执行命令,设计的PATH变量问题。运维提前处理好。

信息采集的结果如下:

某部门IDC权限细化方案:

目前IDC系统账号所有的权限都是超级权限,在安全方面存在着隐患,本着“给用户尽可能少的权限但仍允许他们完成任务”的宗旨,如今对常用命令进行分类细化:

权限对照表格:


PROCESSES


/bin/kill, /usr/bin/kill, /usr/bin/killall, /usr/bin/pkill, /bin/netstat, /bin/ps


FCMD_0


/sbin/reboot, /sbin/shutdown, /sbin/init 0, /sbin/init 6


FCMD_1


/bin/su - adsystem,/bin/su - audit,/bin/su - huapi, /bin/su - searchcenter, /bin/su - swebNg


FCMD_2


/server/script/rhy/shangxian, /server/script/rhy/shangxian/haShangxian/shangxian,


FCMD_3


/bin/cat,/bin/ls


拥有权限


简要说明


普通开发权限


NOPASSWD:FCMD_1,FCMD_3,PROCESSES


无需密码切换到分用户杀死进程重启服务,查看等权限


开发sudo权限


NOPASSWD:!/bin/sudo su - root,FCMD_0


除了可以切到root,苏可以执行除重启机器外的所有权限


运维上线权


NOPASSWD:FCMD_1,FCMD_2,FCMD_3,PROCESSCE


无密码切换到分用户,切换到负载均衡,重启服务


运维超级权


NOPASSWD:ALL


所有权限


分用户权限


NOPASSWD:PROCESSER,

/run/apache/bin/apachectl -k start


分用户杀死和启动进程

做了如下的测试结果:

创建了三个普通分用户t1,t2,t3, shell脚本如下:

#create three user t1 t2 and t3

for u in t1 t2 t3

do

useradd $u

echo "123"|passwd --stdin $u

done

创建了四个权限测试用户,为普通开发权限、开发sudo权限,运维上线权限,运维超级权限

#create develope users and operators as test

for name in ordinary_develop sudo_develop ordinary_operator root_operator

do

useradd $name;

echo "123"|passwd --stdin $name;

done

先在文本文件中编辑visodu的设置:

#set command by option

Cmnd_Alias PROCESSER = /usr/sbin/useradd,/usr/sbin/userdel

Cmnd_Alias FCMD_0 = /sbin/reboot, /sbin/shutdown, /sbin/init 0, /sbin/init 6

Cmnd_Alias FCMD_1 = /bin/su - t1, /bin/su - t2, /bin/su - t3

Cmnd_Alias FCMD_2 = /server/script/rhy/shangxian, /server/script/rhy/shangxian/haShangxian/shangxiain

Cmnd_Alias FCMD_3 = /bin/cat, /bin/ls

#show HOST

#Host_Alias     SERVICE = smtp, smtp2, moban

#set users

User_Alias ORDINARY_DEVELOP = ordinary_develop

User_Alias SUDO_DEVELOP = sudo_develop

User_Alias ORDINARY_USERS = t1, t2, t3

User_Alias ORDINARY_OPERATOR = ordinary_operator

User_Alias ROOT_OPERATOR = root_operator

#Runas_Alias OP = root

#set authority

ORDINARY_DEVELOP        SERVICE=(OP)    NOPASSWD:FCMD_1,FCMD_3,PROCESSER

SUDO_DEVELOP    SERVICE=(OP)    NOPASSWD:!/bin/sudo su - root,!/bin/sudo su -,FCMD_0

ORDINARY_OPERATOR       SERVICE=(OP)    NOPASSWD:FCMD_1,FCMD_2,FCMD_3,PROCESSER

ROOT_OPERATOR   SERVICE=(OP)    NOPASSWD:ALL

ORDINARY_USERS  SERVICE=(OP)    NOPASSWD:PROCESSER, /run/apache/bin/apachectl -k start

再使用visodu进行编辑配置

登录sudo_develop测试权限:

测试结果很不错,很好的控制住了用户的权限。

时间: 2024-10-26 01:07:46

企业生产环境用户权限集中管理方案案例的相关文章

(转)企业生产环境用户权限集中管理方案案例

https://wenku.baidu.com/view/0acd163d4a73f242336c1eb91a37f111f1850d94.html http://blog.51cto.com/youngboy/1660551 https://www.cnblogs.com/redball/articles/6992236.html 企业生产环境用户权限集中管理方案案例 1问题现状 当前我们公司服务器上百台,各个服务器上需要管理的人很多(开发+运维+架构+DBA+产品+市场),在大家同时登录Li

企业生产环境用户权限集中管理项目方案案例

服务器用户权限管理改造方案与实施项目步骤: 1.在了解公司业务流程后,提出权限整改解决方案改进公司超级权限root泛滥在现状 2.我首先撰写了方案后,给老大看,取得老大的支持后,召集大家开会讨论 3.讨论确定可行后,由我负责推进实施 4.实施后结果,公司的服务器权限管理更加清晰了(总结维护) 5.制定了账号权限申请流程及权限申请表格 问题现状: 当前我们公司里服务器上百台,各个服务器上的管理人员很多(开发+运维+架构+DBA+产品+市场),在大家登陆使用Linux服务器时,不同职能的员工水平不同

企业生产环境用户权限集中管理项目方案

携程事故,是偶然还是必然?老板,你公司的服务器权限需要重规划了!! 当前问题: 进入公司以后,发现一个比较严重的问题,那就是服务器上的管理人员太多,其中包括开发.运维.架构.DBA.产品.市场,在大家登陆使用Linux服务器的时候,不同岗位的员工水准不同,因此导致操作很不规范,基本上都是在使用root权限,导致的问题是:有时候文件莫名的丢失,以及服务器的安全存在很大的不稳定性和操作安全隐患,还查不出是谁干的,据调查企业服务器环境,50%的安全事故来源于内部,也就是员工的误操作导致.携程就是一个很

理解Docker(6):若干企业生产环境中的容器网络方案

本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 Docker 在早期只有单机上的网络解决方案,在 1.19 版本引入了原生的 overlay 网络解决方案,但是它的性能损耗较大,可能无法适应一些生产环

企业生产环境不同业务的Linux分区方案

企业生产环境不同业务的Linux分区方案 1.常规分区 /boot   100M swap    内存的1.5倍(若内存大于16G,swap分配8-16G即可) /           剩余所有硬盘空间 2.DB及存储(有大量的重要数据) /boot   100M swap    内存的1.5倍(若内存大于16G,swap分配8-16G即可) /           50-200G /data    剩余所有硬盘空间 注:一般有重要数据的业务,要尽可能的把数据所在的分区单独分出来. 3.门户网站

企业生产环境不同业务,系统分区建议(自定义分区布局)

Linux系统对分区的要求 1.最少要有/分区 2.swap(交换分区)的作用:虚拟化内存,swap区分的大小=105*物理内存容量(mem<8G) 3.建议设置独立的/boot分区 #linux引导分区,存放系统引导文件,如果linux内核等,所有文件大小一般只有十几M,因此,该分区设置100-200M 企业生产环境不同业务linux系统分区建议(自定义分区布局) 1.常规分区方案 /分区:剩余硬盘大小 swap分区:内存的1.5倍(mem>8G) /boot分区:100M 2.DB及存储

企业生产环境NFS客户端挂载建议(八)

企业生产环境NFS客户端挂载建议: 一.把NFS rpc服务的启动命令和挂载命令均放到/etc/rc.local,然后通过nagios监控软件监控开机后的挂载情况.如: [[email protected] ~]# cat /etc/rc.local #!/bin/sh # # Thisscript will be executed *after* all the other init scripts. # You canput your own initialization stuff in 

企业生产环境数据库备份锁表问题

在MySQL数据库场景,使用mysqldump命令备份时,我们会遇到一个锁表的问题?如果进行锁表了,在备份期间用户就无法访问数,若是备份时长几个小时,那么就表示几个小时内,用户都无法访问数据,会对业务造成很大影响:如果不锁表,又会导致备份的数据不一致,因为在备份的过程中,有可能会有数据写入,这样无法保证备份后的备份文件中的数据是你想要的某个时间点的数据. 如何解决锁表问题?关于MySQL备份时,是否需要锁表,这要根据公司的业务场景进行分析.案例1:某金融咨询公司,公司客户都是以select为主,

Linux系统对分区的基本要求及企业生产场景中的分区方案

Linux系统对分区的基本要求 1.   最少要有一个根(/)分区,用来存放系统文件及程序,其大小至少在5GB\以上. 2.   要有一个swap(交换)分区,它的作用相当于Windows系统里的虚拟内存,swap分区的大小一般为物理内存容量的1.5倍(内存<8GB).但当系统物理内存大于8GB时,swap分区配置(8-16GB)即可,太大无用,浪费磁盘空间.swap分区不是必须的,但是大多数据情况还是设置比较好,个别企业的数据库应用场景不分swap分区. 3.   /boot分区,这是Linu