运维的项目要过三级等保,需对现有服务器进行整改。
Tips:在对配置文件进行修改前请务必备份;修改后验证不要在当前终端验证,请重开一个新终端验证!!!
整改环境:Centos7.6、Ubuntu16.04
cp /etc/login.defs /etc/login.defs.bak
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
vim /etc/login.defs
PASS_MAX_DAYS 90 # 口令过期时间, 99999:永不过期
PASS_MIN_DAYS 0 # 0可随时修改,非0多少天后才可修改
PASS_WARN_AGE 7 # 口令失效前7天在用户登录时提醒修改密码
PASS_MIN_LEN 8 # 口令最小长度,修改pam_cracklib module后该参数不生效
vim /etc/pam.d/system-auth
password requisite pam_cracklib.so minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1
minlen # 口令最小长度
ucredit # 大写字母个数
lcredit # 小写字母个数
dcredit # 数字个数
ocredit # 特殊字符个数
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/profile /etc/profile.bak
vim /etc/pam.d/login
auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=600
deny # 失败锁定次数
unlock_time # 锁定后解锁要等待的时间
even_deny_root # root用户失败锁定次数同普通用户
root_unlock_time # root用户锁定后解锁要等待的时间
vim /etc/profile
export TMOUT=300 #没有就添加一行,300s超时
source /etc/profile #使配置生效。如果执行该命令报如下错误,其实已经成功退出当前终端即可
“-bash: TMOUT: readonly variable”
以下账户权限可根据实际需求进行调整
useradd sysadmin
passwd sysadmin
usermod -G wheel sysadmin
请务必另开终端测试sysadmin账号是否能提升至root!!!
vi /etc/pam.d/su
确保“auth required pam_wheel.so use_uid”未被注释,该配置限制su命令仅限wheel用户组使用
useradd shenji
passwd shenji
vi /etc/sudoers
# 添加一行
shenji ALL = (root) NOPASSWD: /usr/bin/cat,/usr/bin/less,/usr/bin/more,/usr/bin/tail,/usr/bin/head
chown -R shenji:shenji /var/log
chmod 700 /var/log
useradd -d /etc anquan
passwd anquan
chown -R anquan:anquan /etc
# 查看三个用户是否创建成功
cat /etc/passwd
请根据实际项目需求自行选择修改root用户名或禁用root账号。
cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
vi /etc/passwd
vi /etc/shadow
# 修改两个配置文件的第一行root为你想修改的名字
本项目一些特殊场景下需要使用root,所以采用禁用root账号的方案
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/pam.d/login
# 添加一行
auth required pam_succeed_if.so user != root quiet
vi /etc/ssh/sshd_config
# 将‘#PermitRootLogin yes’改为
PermitRootLogin no
service sshd restart #重启SSH服务
systemctl start auditd.service
vi /etc/logrotate.conf
# 将‘rotate 4’改为
rotate 25 #保存25周,即175天
adduser sysadmin
passwd sysadmin
vi /etc/sudoers
# 在‘root ALL=(ALL) ALL’下添加一行
sysadmin ALL=(ALL) ALL
# 该文件为只读模式,使用'x!'强制保存
adduser shenji
passwd ahenji
vi /etc/sudoers
# 添加一行
shenji ALL = (root) NOPASSWD: /usr/bin/cat,/usr/bin/less,/usr/bin/more,/usr/bin/tail,/usr/bin/head
adduser anquan
passwd anquan
chown -R anquan /etc
# 查看三个用户是否创建成功
cat /etc/passwd
cp /etc/shadow /etc/shadow.bak
vi /etc/shadow
例:admin:*:18885:0:99999:7:::
第三个冒号和第四个冒号之间:修改口令所需的最短时间
第四个冒号和第五个冒号之间:口令保持的最大有效时间
apt -y install libpam-pwquality
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/profile /etc/profile.bak
vim /etc/pam.d/login
auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=600
deny # 失败锁定次数
unlock_time # 锁定后解锁要等待的时间
even_deny_root # root用户失败锁定次数同普通用户
root_unlock_time # root用户锁定后解锁要等待的时间
vim /etc/profile
export TMOUT=300 #没有就添加一行,300s超时
source /etc/profile #使配置生效
请根据实际项目需求自行选择修改root用户名或禁用root账号。
cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
vi /etc/passwd
vi /etc/shadow
# 修改两个配置文件的第一行root为你想修改的名字
本项目一些特殊场景下需要使用root,所以采用禁用root账号的方案
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
# 将‘#PermitRootLogin yes’改为
PermitRootLogin no
/etc/init.d/ssh restart #重启SSH服务
cp /etc/rsyslog.d/50-default.conf /etc/rsyslog.d/50-default.conf.bak
vi /etc/rsyslog.d/50-default.conf
# 添加一段
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
# 重启rsyslog
/etc/init.d/rsyslog restart
# 查看日志
tail -f /var/log/messages
vi /etc/logrotate.conf
# 将‘rotate 4’改为
rotate 25 #保存25周,即175天