等保三---服务器安全配置一

541 阅读1分钟

「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」。

用户安全配置

设置组件用户或不需要登陆的用户为nologin

vim /etc/passwd
xxx:x:xx:xx::xxxx:/sbin/nologin

设置用户密码复杂度

找到password requisite 行。根据自身需要设置

vim /etc/pam.d/system-auth 

password    requisite     pam_cracklib.so retry=5  difok=3 minlen=26 ucredit=-1 lcredit=-3 dcredit=-3 ocredit=-3 dictpath=/usr/share/cracklib/pw_dict

选项如下:

  • retry=N:定义登录/修改密码失败时,可以重试的次数
  • minlen=N:新密码的最小长度
  • dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N<0时表示新密码中数字出现最少次数;
  • ucredit=N: 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;
  • lcredit=N: 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;
  • ocredit=N:当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;
  • maxrepeat=N:拒绝包含多于N个相同连续字符的密码。 默认值为0表示禁用此检查
  • maxsequence=N:拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。实例是'12345'或'fedcb'。除非序列只是密码的一小部分,否则大多数此类密码都不会通过简单检查。
  • enforce_for_root: 如果用户更改密码是root,则模块将在失败检查时返回错误。默认情况下,此选项处于关闭状态,只打印有关失败检查的消息,但root仍可以更改密码。不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查

设置用户过期时间和密码长度

设置密码90天过期,密码长度最小16位

vim /etc/login.defs

PASS_MAX_DAYS	90
PASS_MIN_DAYS	90
PASS_MIN_LEN	16
PASS_WARN_AGE	7

设置用户登陆失败处理

密码输入三次600秒内拒绝再次登陆

vim /etc/pam.d/sshd  

#首行增加
auth      required  pam_tally2.so   deny=3  lock_time=600 even_deny_root root_unlock_time=600

查看登录失败的次数:pam_tally2 --user root

解封:pam_tally2 -r -u root

禁用密码登陆

vim /etc/ssh/sshd_config
#将密码认证改为no 然后重启sshd
PasswordAuthentication no

密钥认证

密钥认证类型为RSA ,密钥长度为2048, 设置密钥密码

ssh-keygen -t rsa -b 2048

超时登出时间设置

vim /etc/profile 
#1800刚好是30分钟
export TMOUT=1800

数据库配置

设置密码有效期

90天

show global variables like '%password%';
SET GLOBAL default_password_lifetime = 90;

登陆失败策略

image.png

#sql 交互安装插件
INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';
#查看已安装插件
show plugins;
SELECT PLUGIN_NAME, PLUGIN_LIBRARY, PLUGIN_STATUS, LOAD_OPTION 
    -> FROM INFORMATION_SCHEMA.PLUGINS 
    -> WHERE PLUGIN_LIBRARY = 'CONNECTION_CONTROL.SO';

#设置登陆失败5次,锁定10分钟
show variables like 'connection_control%';
set global connection_control_min_connection_delay=60000;
set global connection_control_max_connection_delay=60000;
set global connection_control_failed_connections_threshold=5;

超时登出时间

30分钟会话登出

show global variables like '%timeout%';
SET  global interactive_timeout=1800;  

root,admin等用户管理

删除或重命名root 和admin用户

用户权限划分

创建审计管理员,系统管理员,安全管理员,audit_user,secure_user,system_user用户,然后分别授于查看审计日志,创建用户和授权用户,以及安全管理员所需的权限