一.mysql数据库
1.身份鉴别
用户名、口令复杂度、定期更换
#登录
mysql -uroot -p
#版本查看
select veriosn();
#用户和口令查看
select user,host from mysql.user;
select user,host,authentication_string from mysql.user;
#口令复杂度查看
show variables like 'validate_password%';
#口令有效期查看
show variables like '%password_lifetime%';
#整改
#安装密码插件,口令复杂度
install plugin validate_password soname 'validate_password.so';
#口令有效期整改 一般不改
set global default_password_lifetime=180;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
登录失败控制和连接超时
#登录失败次数,默认失败3次,锁定时间逐渐增加
show variables like '%failed_conn%';
#非交互超时断开时间,默认28800s=8h
show variables like 'wait_timeout';
#交互超时断开时间,默认28800s=8h
show variables like 'interactive_timeout';
#整改 登录失败控制插件
install plugin connection_control soname 'connection_control.so';
install plugin connection_control_failed_login_attempts soname 'connection_control.so';
#超时时间,180s=3min
set global wait_timeout=180;
set global interactive_timeout=180;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
远程管理开启ssl
2.访问控制
账号和权限查看
3.安全审计
4.入侵防范
登录地址限制和版本
二.oracle数据库
用户名、口令复杂度、定期更换
#登录
sqlplus / as sysdba
#版本查看
lsnrctl -v #登录前
select * from v$version; #登录后
#用户和状态
select user,account_status from dba_users;
#口令复杂度、有效期、登录失败次数、失败超时查看
select * from dba_profiles where profile='DEFAULT' and resource_type='PASSWORD';
#查看下面两个参数
PASSWORD_LIFE_TIME:密码有效期 默认180天
PASSWORD_VERIFY_FUNCTION:密码复杂度校验,默认NULL
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
登录失败控制和连接超时
#登录失败次数,锁定时间
select * from dba_profiles where profile='DEFAULT' and resource_type='PASSWORD';
#查看下面两个参数
FAILED_LOGIN_ATTEMPTS:最大登录次数,默认10次
PASSWORD_LOCK_TIME:超过最大登录次数,账户锁定天数,默认1分钟
#登录连接超时,UNLIMITTED未限制
select * from dba_profiles where profile='DEFAULT' and resource_name='IDLE_TIME';
#整改
#对所有用户生效
#设置用户登录失败次数为3次
alter profile default limit FAILED_LOGIN_ATTEMPTS 3;
#锁定5天
alter profile default limit PASSWORD_LOCK_TIME 5;
#连接超时 30分钟
alter profile default limit IDLE_TIME 30;
#自定义模版和添加用户
#创建profile
create profile limit_login_profile limit
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 5
IDLE_TIME 30;
#添加用户到模板
alter user username profile limit_login_profile;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
远程管理开启加密
2.访问控制
账号和权限查看
3.安全审计
4.入侵防范
登录地址限制和版本
三.postgresql数据库
1.身份鉴别
用户名、口令复杂度、定期更换
#登录
sudo -u postgres psql
#或
su - postgres
psql
#版本查看
#登录前
pg_ctl --version
#登录后
select version();
#用户和口令查看
\du
select * from pg_user;
select * from pg_shadow;
#口令复杂度 原生不支持 看是否启用passwordcheck模块
show shared_preload_libraries;
或
grep "passwordcheck" postgresql.conf
#口令有效期查看 默认不限制
select * from pg_user;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
登录失败控制和连接超时
远程管理开启加密
2.访问控制
账号和权限查看
3.安全审计
4.入侵防范
登录地址限制和版本
四.redis数据库
1.身份鉴别
用户名、口令复杂度、定期更换
#登录
redis-cli
auth
#版本查看
#登录前
redis-server -v
#登录后
info
#用户和口令查看
acl list
#口令查看和复杂度 复杂度原生不支持 可以看密码设置
grep "pass" redis.conf
#口令有效期查看 原生不支持
#整改
#未授权认证 命令行
config set requirepass "passwd"
#未授权认证 配置文件
sed -i '/requirepass/i requirepass "passwd"' redis.conf
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
登录失败控制和连接超时
远程管理开启加密
2.访问控制
账号和权限查看
3.安全审计
4.入侵防范
登录地址限制和版本