Linux企业生产环境用户权限集中管理项目方案案例
企業(yè)生產(chǎn)環(huán)境用戶權限集中管理項目方案案例:
1?問題現(xiàn)狀
當前我們公司里服務器上百臺,各個服務器上的管理人員很多(開發(fā)+運維+架構+DBA+產(chǎn)品+市場),在大家登錄使用Linux服務器時,不同職能的員工水平不同,因此導致操作很不規(guī)范,root權限泛濫(幾個所有員工都有root權限),經(jīng)常導致文件等莫名其妙的丟失,老手和新手員工對服務器的熟知度不同,這樣使得公司服務器安全存在很大的不穩(wěn)定性、及操作安全隱患,據(jù)調(diào)查企業(yè)服務器環(huán)境,50%以上的安全問題都來源于內(nèi)部,而不是外部。為了解決以上問題,單個用戶管理權限過大現(xiàn)狀,現(xiàn)提出針對Linux服務器用戶權限集中管理的解決方案。
2?項目需求
我們希望超級用戶root密碼掌握在少數(shù)或唯一的管理員手中,又希望多個系統(tǒng)管理員或相關有權限的員工,能夠完成更多更復雜的自身職能相關的工作,又不至于越權操作導致系統(tǒng)出現(xiàn)安全隱患。
最小化:1)安裝軟件最小化
2)目錄文件權限最小化
3)用戶權限最小化
那么,如何解決多個系統(tǒng)管理員都能管理系統(tǒng)而又不讓超級權限泛濫呢?這就需要sudo管理來替代或者結合su命令來完成這樣的苛刻且必要的企業(yè)服務器用戶管理需求。
3?具體實現(xiàn)
???針對公司不同部門,根據(jù)員工的具體工作職能(例如:開發(fā),運維,數(shù)據(jù)庫管理員)等級、分層次的實現(xiàn)對linux服務器的權限最小化、規(guī)范化。這樣即減少了運維管理成本,消除了安全隱患,又提高了工作效率,實現(xiàn)了高質(zhì)量的、快速化的完成項目進度,以及日常系統(tǒng)維護。
4?實施方案
???說明:實施方案一般都是由積極主動發(fā)現(xiàn)問題的運維員工提出的問題,然后寫好方案,在召集大家討論可行性,最后確定方案,實施部署,最后后期總結維護。
思想:在提出問題之前,一定要想到如何解決,一并發(fā)出來解決方案。
4.1?信息采集(含整個方案流程)
??1.1?召集相關各部門領導通過會議討論或是與各組領導溝通權限管理方案的可行性。需要支持的人員:運維經(jīng)理或者總監(jiān)、CTO支持、各個部門組的領導。我們做運維人員,拿著類似老師這個項目方案,給大家講解這個文檔,通過會議形式做演講,慷慨激昻的演說,取得大佬們的支持和認可,才是項目能夠得以最終實施的前提,當然,即使不實施,那么,你的能力也得到了鍛煉,老大對你的積極主動思考網(wǎng)站架構問題也會另眼看待的。
??1.2確定方案可行性后,會議負責人匯總、提交、審核所有相關員工對linx服務器的權限需求。
取得大佬們的支持后,通過發(fā)郵件或者相關人員取得需要的相關員工權限信息。比如說,請各個部門經(jīng)理整理歸類部門需要登錄Linxu權限的人員名單、職位、及負責的業(yè)務及權限,如果說不清楚權限細節(jié),就說負責的業(yè)務細節(jié),這樣運維人員就可以確定需要啥權限了。
?1.3?按照需要執(zhí)行的linux命令程序及公司業(yè)務服務來規(guī)劃權限和人員對應配置。主要是運維人員根據(jù)上面手機的人員名單,需要的業(yè)務及權限角色,對應帳號配置權限,實際就是配置sudo配置文件。
?1.4?權限方案一旦實施后,所有員工必須通過《員工Linux服務器管理權限申請表》來申請對應的權限,確定審批流程,規(guī)范化管理。這里實施后把為權限申請流程很重要,否則,大家不聽話,方案實施完也會泡湯的。
?1.5?寫操作說明,對各部門人員進行操作講解。sudo執(zhí)行命令后,涉及到path變量問題,運維提前處理好。
4.2收集員工職能和對應權限
??此過程是召集大家開會確定,或者請各領導安排人員進行統(tǒng)計匯總,員工及對應的職責,交給運維人員,由運維人員優(yōu)化職位所對應的系統(tǒng)權限。
命令用全路徑,命令與命令之間用逗號隔開。
?
/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,/bin/netstat,/sbin/route
?
/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/etc/rc.d/init.d/network,/bin/nice,/bin/kill,/usr/bin/killall,/bin/rpm,/usr/bin/yum,/sbin/fdisk,/sbin/parted,/sbin/partprobe,/bin/mount,/bin/umount
?
初級開發(fā):/usr/bin/tail /app/log*,/bin/grep /app/log*,/bin/cat,/bin/ls
高級開發(fā):/sbin/service,/sbin/chkconfig,/bin/tail /app/log*,/bin/grep /app/log*,/bin/cat,/bin/ls,/bin/sh ?~/scripts/deploy.sh
???開發(fā)經(jīng)理:
?ALL,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,!/usr/sbin/visudo,!/bin/vi,
!/usr/sbin/vim
?
?
ALL,/usr/bin/passwd [A-Za-z]* , !/usr/bin/passwd?root , !/usr/sbin/visudo, !/usr/bin/vim,
!/bin/vi, !/bin/su , !/user/bin/sudo
?
/sbin/route,/sbin/ifconfig,/bin/ping,/sbin/dhclient,/usr/bin/net,/sbin/iptables,/usr/bin/rfcomm,/usr/bin/wvdial,/sbin/iwconfig,/sbin/mii-tool,/bin/cat,/var/log/*
5 ?模擬創(chuàng)建用戶角色
建立3個初級運維,一個高級運維,一個網(wǎng)絡工程師,一個運維經(jīng)理,密碼統(tǒng)一為111111。
批量創(chuàng)建用戶
?
?建立5個開發(fā)人員,屬于phpers組
?
?
##Cmnd_Alias by sdr##2018
| Cmnd_Alias | CY_CMD_1=/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,/bin/netstat,/sbin/route |
| Cmnd_Alias | GY_CMD_1=/usr/bin/free,/usr/bin/iostat,/usr/bin/top,/bin/hostname,/sbin/ifconfig,/bin/netstat,/sbin/route,/sbin/iptables,/etc/init.d/network,/bin/nice,/bin/kill,/usr/bin/killall,/bin/rpm,/usr/bin/yum,/sbin/fdisk,/sbin/sfdiak,/sbin/parted,/sbin/partprobe,/bin/mount,/bin/umount |
| Cmnd_Alias | CK_CMD_1=/usr/bin/tail /app/log*,/bin/grep /app/log*,/bin/cat,/bin/ls |
| Cmnd_Alias | GK_CMD_1=/sbin/service,/sbin/chkconfig,/bin/tail /app/log*,/bin/grep /app/log*,/bin/cat,/bin/ls,/bin/sh ?~/scripts/deploy.sh ? |
| Cmnd_Alias | GW_CMD_1=/sbin/route,/sbin/ifconfig,/bin/ping,/sbin/dhclient,/usr/bin/net,/sbin/iptables,/usr/bin/rfcom,/usr/bin/wvdial,/sbin/iwconfig,/sbin/mii-tool,/bin/cat /var/log/* |
通過visudo編輯/etc/sudoers,添加如下內(nèi)容:
換行用“\”
##User_Alias by sdr##2018 ???(用戶別名首字母大寫)
User_Alias CHUJIADMINS =chuji001,chuji002,chuji003
User_Alias GWNETADMINS = net001
User_Alias CHUJI_KAIFA = %phpers ??(phpers組)
?
##Runas_Alias by sdr ##2018
Runas_Alias OP=root ??(用root的角色去做)
?
#pri config
senior001 ALL=(OP) GY_CMD_1
manager001 ALL=(ALL) NOPASSWD:ALL
kaifamanager001 ALL=(ALL) ALL,/usr/bin/passwd[A-Za-z]*,!/usr/bin/passwd root,!/usr/sbin/visudo,!/bin/vi,!/usr/sbin/vim
seniorphpers ALL=(OP) GK_CMD_1
CHUJIADMINS ALL=(OP) CY_CMD_1
GWNETADMINS ALL=(OP) GW_CMD_1
CHUJI_KAIFA ALL=(OP) CK_CMD_1
#注意:
1)別名首字母要大寫
2)路徑要全路徑
3)用“\”換行
6?實戰(zhàn)調(diào)試測試
?
?
?
7?成功后發(fā)郵件周知所有人權限配置生效,并附帶操作說明
有必要的話,培訓講解
?
8 ?制定權限申請流程及申請表
見單獨文檔
9?后期維護:不是特別緊急的需求,一律走申請流程
服務器多了,可以通過分發(fā)軟件批量分發(fā)/etc/sudoers(注意權限和語法檢查)。
除了權限上的控制,在賬戶有效時間上也進行了限制,
讓線上用戶的權限為永久權限可以使用以下方式進行時間上的控制,這樣才能讓安全最大化:
提示:授權ALL在進行排除時會讓我們防不勝防,這種先開后關的策略并不是好的策略
10 ?sudo配置注意事項:
?
轉載于:https://www.cnblogs.com/wutao1935/p/10042370.html
總結
以上是生活随笔為你收集整理的Linux企业生产环境用户权限集中管理项目方案案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端 在浏览器端存储数据
- 下一篇: [UE4]RetainerBox,控制U