一、简介
普通用户通过堡垒机登录linux服务器,不允许使用root用户登录堡垒机;
普通用户登录后,限制普通用户使用一些命令,如禁止使用某些命令,仅允许使用部分命令等;
普通用户不知道root密码,普通用户不能修改root密码;
二、sudoers配置
0.添加一个测试用户
#添加用户
useradd alibaby
#设置密码
passwd alibaby
#或非交互设置用户密码
#方式1
echo '123456' | passwd --stdin alibaby
#方式2
echo alibaby:123456 | chpasswd
1.sudo简介
#不需要root密码;不是root用户,还是普通用户;授权命令才有root权限;
#配置sudo权限后,普通用户可以以root权限执行命令
#用法 命令前加sudo
sudo 命令
#打开配置文件 添加到配置文件的最后几行就可以,无需重启服务,直接可以使用
visudo==vi /etc/sudoers
2.命令和名称
#sudoers 文件中的命令限制是基于命令的绝对路径进行的
#查看命令的绝对路径,切换到需要sudo的用户后,如查看rm passwd chmod的绝对路径
which rm passwd chmod
3.选项的处理
#sudoers 文件中的命令限制语法并不直接支持限制带有选项的命令。
#这意味着,如果你仅限制 rm 命令本身,那么带有 -rf 选项的 rm 命令仍然可以执行。
#可以限制 不带参数的命令
alibaby ALL = (ALL) NOPASSWD: ALL, !/bin/rm
#无法限制 带参数的命令
alibaby ALL = (ALL) NOPASSWD: ALL, !/bin/rm -rf
4.配置文件---常见配置
#备份原始文件
cp /etc/sudoers /etc/sudoers.bak
#注释alibaby用户的配置,若存在
sed -i "s/alibaby/#alibaby/g" /etc/sudoers
#授予所有权限 需要密码
alibaby ALL=(ALL) ALL
#授予所有权限 无需密码
alibaby ALL=(ALL) NOPASSWD: ALL
#仅授予部分命令 逗号空格隔开
alibaby ALL=(ALL) NOPASSWD: /bin/tail,/bin/ls
#不允许执行的命令 逗号感叹号空格隔开
alibaby ALL=(ALL) NOPASSWD: ALL,! /bin/passwd,! /bin/chmod
#黑名单方式 除了拒绝的,其他的都允许
alibaby ALL=(ALL) NOPASSWD: ALL,! /bin/passwd,! /bin/chmod,! /bin/rm
#白名单方式 除了允许的,其他的都拒绝
alibaby ALL=(ALL) NOPASSWD: /bin/tail,/bin/ls,/usr/sbin/ss,/usr/bin/cd
#精细化授权 开发使用 仅授予需要的命令
alibaby ALL=(ALL) NOPASSWD: /bin/grep, /bin/ls, /bin/vim, /bin/cd, /bin/cat, /bin/more, /bin/less, /bin/tail, /usr/sbin/ss, /bin/sed, /bin/awk
#粗放授权 运维使用 授予所有
alibaby ALL=(ALL) NOPASSWD: ALL
#查看普通用户的权限
sudo -l
5.部分细节
#带选项的无法禁止 无法禁止chmod 777
alibaby ALL=(ALL) NOPASSWD: ALL,! /bin/chmod 777
#无法禁止普通用户直接使用su - root切换到root用户
#可以禁止使用sudo su - root切换
alibaby ALL=(ALL) NOPASSWD: ALL,! /bin/su
#可以对所有用户禁止使用su命令
mv /usr/bin/su /usr/bin/su.bak
#可以阻止普通用户切换到普通用户 不再一个wheel组中的,不能su - 切换
#添加pam_wheel.so模块
echo "auth optional pam_wheel.so use_uid" >>/etc/pam.d/su
#将想要禁止使用su的用户添加到wheel组中
usermod -aG wheel alibaby
三、堡垒机部署
0.jumpserver官方地址 在线安装使用文档 软件包下载地址 资源要求 4核16G
1.单机部署
#解压
cd /opt
tar -xf jumpserver-offline-installer-v3.10.13-amd64.tar.gz
cd jumpserver-offline-installer-v3.10.13-amd64
# 安装 一路回车
./jmsctl.sh install
# 启动
./jmsctl.sh start
#Web 访问
http://192.168.77.133:80
默认用户: admin 默认密码: admin
# 停止
./jmsctl.sh down
# 卸载
./jmsctl.sh uninstall
浏览器访问 http://192.168.77.133:80 admin/admin
2.添加用户 堡垒机系统管理用户
3.添加被管理的资产 资产管理---创建
4.堡垒机管理用户与资产绑定 权限管理---资产授权
5.使用新建的堡垒机管理账号登录堡垒机远程管理资产
6.运维安全之堡垒机管理账号登录时间限制 权限管理---用户登录
7.运维安全之命令权限管控 权限管理---命令过滤
注意:先创建命令组---使用正则---后创建命令过滤(即命令组与资产和用户的关联)
测试效果 符合预期
rm -f 可以执行 rm -rf 无法执行
chmod 755 可以执行 chmod 777无法执行