等保测评Centos和Ubuntu服务器整改全流程

一、运维背景

运维的项目要过三级等保,需对现有服务器进行整改。
Tips:在对配置文件进行修改前请务必备份;修改后验证不要在当前终端验证,请重开一个新终端验证!!!
整改环境:Centos7.6、Ubuntu16.04

二、Centos7.6整改项目

1、账号口令过期时间及复杂度

  1. 备份配置文件
cp /etc/login.defs /etc/login.defs.bak
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
  1. 更改口令过期时间
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后该参数不生效
  1. 更改口令复杂度
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		# 特殊字符个数

2、连接超时及登录失败次数锁定

  1. 备份配置文件
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/profile /etc/profile.bak
  1. 登录失败次数锁定
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用户锁定后解锁要等待的时间
  1. 连接超时时间
vim /etc/profile
export TMOUT=300	#没有就添加一行,300s超时
source /etc/profile	#使配置生效。如果执行该命令报如下错误,其实已经成功退出当前终端即可
“-bash: TMOUT: readonly variable”

3、三权分立

以下账户权限可根据实际需求进行调整

a) 系统管理员

  1. 创建用户
useradd sysadmin
passwd sysadmin
  1. 加入wheel用户组,容许使用su
usermod -G wheel sysadmin

请务必另开终端测试sysadmin账号是否能提升至root!!!

vi /etc/pam.d/su
确保“auth required pam_wheel.so use_uid”未被注释,该配置限制su命令仅限wheel用户组使用

b) 审计管理员

  1. 创建用户
useradd shenji
passwd shenji
  1. 配置审计管理员查看权限
vi /etc/sudoers
# 添加一行
shenji     ALL = (root) NOPASSWD: /usr/bin/cat,/usr/bin/less,/usr/bin/more,/usr/bin/tail,/usr/bin/head
  1. 只容许审计管理员访问日志
chown -R shenji:shenji /var/log
chmod 700 /var/log

c) 安全管理员

  1. 创建账号并指定目录
useradd -d /etc anquan
passwd anquan
  1. 配置/etc权限,只容许安全管理员访问
    注意:此命令会导致无法修改密码,将权限更改后可以修改密码
chown -R anquan:anquan /etc
# 查看三个用户是否创建成功
cat /etc/passwd 

4、修改或禁用默认root账号

请根据实际项目需求自行选择修改root用户名或禁用root账号。

a) 修改root账户名

  1. 备份配置文件
cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
  1. 修改passwd和shadow文件
vi /etc/passwd
vi /etc/shadow
# 修改两个配置文件的第一行root为你想修改的名字

等保测评Centos和Ubuntu服务器整改全流程_第1张图片

b) 禁用root账户

本项目一些特殊场景下需要使用root,所以采用禁用root账号的方案

  1. 备份配置文件
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  1. 禁止root本地登录
vi /etc/pam.d/login
# 添加一行
auth required pam_succeed_if.so user != root quiet
  1. 禁止root远程ssh登录
vi /etc/ssh/sshd_config
# 将‘#PermitRootLogin yes’改为
PermitRootLogin no
service sshd restart	#重启SSH服务

5、开启日志审计并保存6个月日志

  1. 开启日志审计功能
systemctl start auditd.service
  1. 修改保存时间
vi /etc/logrotate.conf
# 将‘rotate 4’改为
rotate 25	#保存25周,即175天

二、Ubuntu16.04整改项目

1、三权分立

a) 系统管理员

  1. 创建用户
adduser sysadmin
passwd sysadmin
  1. 容许sysadmin提升root权限
vi /etc/sudoers
# 在‘root  ALL=(ALL)  ALL’下添加一行
sysadmin	ALL=(ALL) ALL
# 该文件为只读模式,使用'x!'强制保存

b) 审计管理员

  1. 创建用户
adduser shenji
passwd ahenji
  1. 配置审计管理员查看权限
vi /etc/sudoers
# 添加一行
shenji     ALL = (root) NOPASSWD: /usr/bin/cat,/usr/bin/less,/usr/bin/more,/usr/bin/tail,/usr/bin/head

c) 安全管理员

  1. 创建用户
adduser anquan
passwd anquan
  1. 配置/etc权限,只容许安全管理员访问
    注意:此命令会导致无法修改密码,将权限更改后可以修改密码
chown -R anquan /etc
# 查看三个用户是否创建成功
cat /etc/passwd 

2、账号口令过期时间及复杂度

  1. 备份配置文件
cp /etc/shadow /etc/shadow.bak
  1. 更改口令过期时间
vi /etc/shadow

例:admin:*:18885:0:99999:7:::
第三个冒号和第四个冒号之间:修改口令所需的最短时间
第四个冒号和第五个冒号之间:口令保持的最大有效时间
  1. 更改口令复杂度
    Ubuntu检测口令复杂度需要安装第三方模块,该模块网上使用说明很多就不赘述了。
apt -y install libpam-pwquality

3、连接超时及登录失败次数锁定

  1. 备份配置文件
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/profile /etc/profile.bak
  1. 登录失败次数锁定
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用户锁定后解锁要等待的时间
  1. 连接超时时间
vim /etc/profile
export TMOUT=300	#没有就添加一行,300s超时
source /etc/profile	#使配置生效

4、修改或禁用默认root账号

请根据实际项目需求自行选择修改root用户名或禁用root账号。

a) 修改root账户名

  1. 备份配置文件
cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
  1. 修改passwd和shadow文件
vi /etc/passwd
vi /etc/shadow
# 修改两个配置文件的第一行root为你想修改的名字

等保测评Centos和Ubuntu服务器整改全流程_第2张图片

b) 禁用root账户

本项目一些特殊场景下需要使用root,所以采用禁用root账号的方案

  1. 备份配置文件
cp /etc/pam.d/login /etc/pam.d/login.bak
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  1. 禁止root远程ssh登录
vi /etc/ssh/sshd_config
# 将‘#PermitRootLogin yes’改为
PermitRootLogin no
/etc/init.d/ssh restart	#重启SSH服务

5、开启日志审计

  1. 备份配置文件
cp /etc/rsyslog.d/50-default.conf /etc/rsyslog.d/50-default.conf.bak
  1. 开启日志审计功能
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
  1. 修改保存时间
vi /etc/logrotate.conf
# 将‘rotate 4’改为
rotate 25	#保存25周,即175天

你可能感兴趣的:(运维经验,服务器,centos,linux,运维,ssh,ubuntu)