【星海随笔】高级系统编辑
限制篇
对子用户进行限制
visudo
%sudo ALL=(ALL:ALL) ALL
subuser ALL=(ALL) NOPASSWD: ALL, !/sbin/reboot, !/usr/sbin/reboot
subuser ALL=(ALL) NOPASSWD: ALL, !/sbin/shutdown, !/usr/sbin/shutdown
放开sudo -i
的root 用户转换。
ubuntu ALL=(ALL) NOPASSWD:ALL
限制子用户权限
subuser ALL=(ALL) NOPASSWD: ALL, !/sbin/reboot, !/usr/sbin/reboot, !/usr/sbin/visudo, !/usr/sbin/useradd,!/usr/sbin/userdel
ssh权限限制【防止暴力破解】
sudo apt install fail2ban
启动服务
sudo systemctl start fail2ban
设置开机启动
sudo systemctl enable fail2ban
查看状态
sudo systemctl status fail2ban
修改配置和重新加载配置。配置文件是/etc/fail2ban/jail.conf
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
fail2ban会先加载jail.conf,然后再加载jail.local,当两者存在相同的配置时,jail.local的优先级会更高。
配置文件里的配置项都有清楚的英文说明,这里我们说下几个常用的配置项:
ignoreip:忽略的IP,不会被封禁
bantime:封禁时长,单位为秒
maxretry:允许的最大尝试失败次数;
findtime:时间窗口,和maxretry配合
logpath:监控的日志路径
当根据需求修改完配置后,直接重启服务,即会加载最新配置文件
sudo systemctl restart fail2ban
在配置文件中 jail.local 中进行配置。
[sshd]# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
./paths-common.conf:21:syslog_authpriv = /var/log/auth.log
./paths-common.conf:33:sshd_log = %(syslog_authpriv)s
./jail.conf:286:logpath = %(sshd_log)s
用户篇
sudo adduser opsuser
如果需要执行管理员权限,可以将其添加到sudo组。这样,该用户就可以使用sudo命令来提升权限。
sudo usermod -aG sudo opsuser