一、sudo命令
sudo [參數選項] 命令
參數選項
-l:列出目前用戶可執行與無法執行的指令;
-v:延長密碼有效期限5分鍾;
-u<用戶>:以指定的用戶作為新的身份。若不加上此參數,則預設以root作為新的身份;
-k:結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼;
-b:在后台執行指令;
-h:顯示幫助;
-H:將HOME環境變量設為新身份的HOME環境變量;
-p:改變詢問密碼的提示符號;
-s<shell>:執行指定的shell;
-V :顯示版本信息。
注意:
# 遠程sudo加-t參數
二、sudo配置
# 配置文件位置
/etc/sudoers
root ALL=(ALL) ALL
用戶 機器 角色 命令
# 編輯配置文件
# 1。推薦使用visudo來編輯
# 2。批量管理用
echo "%sa ALL=(ALL) ALL" >> /etc/sudoers
# 檢查配置文件語法
visudo -c
# 檢查配置文件權限
2.1 主機別名
說明:
配置時注意寫法
一般不用主機別名
2.2 用戶別名
2.3 命令別名
2.4 身份別名
Runas_Alias OP = root, vagrant
2.5 使用別名
類似於rbac,用戶別名就是角色,命令別名就是資源權限
# 用戶別名
User_Alias ADMIN = vagrant, yysue
# 命令別名
Cmnd_Alias USERCMD = /sbin/useradd, /bin/passwd
Cmnd_Alias SOFTCMD = /bin/rpm, /usr/bin/yum
# 身份別名
Runas_Alias OP1 = root, vagrant
# 關聯
ADMIN ALL=(OP1) USERCMD, SOFTCMD
三、sudo審計
sudo日志審計:記錄sudo命令的用戶的操作
所謂日志審計,就是記錄所有系統及相關用戶行為的信息,並且可以自動分析、處理、展示
- 通過環境變量命令及rsyslog服務進行全部日志審計(信息太大,不推薦)
- sudo配合rsyslog服務,進行日志審計(審計信息少,效果不錯)
- 在bash解釋器程序里嵌入一個監視器,讓所有被審計的系統用戶使用修改過的增加了監視器的特殊bash程序作為解釋程序
- 齊治的堡壘機:商業產品
- Python開發的開源產品
- jumpserver
- CrazyEye
3.1 配置(CentOS6)
1)檢查是否安裝sudo/rsyslog
# 檢查
rpm -qa sudo rsyslog
# 安裝
yum install sudo rsyslog -y
2)配置/etc/sudoers
# 追加一行配置:日志輸出
echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers
# 驗證
tail -1 /etc/sudoers
grep 'Defaults' /etc/sudoers
# 檢查語法
visudo -c
3)配置/etc/rsyslog.conf(可以不配置)
echo "local2.debug /var/log/sudo.log" >> /etc/rsyslog.conf
通過sudo運行的命令都被記錄到配置的日志文件了
3.2 日志集中管理
rsync+inotify或定時任務+rsync,推到日志管理服務器上, ip_date.sudo.log
rsyslog服務來處理
日志收集解決方案:scribe,Flume,stom,logstash ELK