部分等保测评修改项

目录

部分日志审计类

用简单的centos自带audit模块

数据库审计(只测试过mariadb,mysql的审计功能企业版才有)

部分身份鉴别类

密码长度生命周期设置

 密码复杂程度策略

 登录超时设置

设置bash命令保留的历史条数为10条:

部分sshd设置

 数据库密码策略(复杂度,有效期等)

入侵防护类


部分日志审计类

用简单的centos自带audit模块

service auditd restart

有些版本需要用service命令才能重启auditd

# 监测系统调用

# 监测系统调用
# 增加规则,记录所有用户的操作
auditctl -S execve -a exit,always
# 删除规则
auditctl -d  exit,always -S execve
# 查看所有规则
auditctl -l
# 审计日志中会显示用户操作记录
tailf /var/log/audit/audit.log
# 增加所有对此log文件只有追加权限
chattr +a /var/log/audit/audit.log

# 也可以用修改配置文件的方法/etc/audit/auditd.conf,加入上面那行-S execve -a exit,always

# 监测文件修改

# 监测文件修改
auditctl -w /etc/passwd -p rwxa

# -w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd
# -p : 指定触发审计的文件/目录的访问权限
# rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)

数据库审计(只测试过mariadb,mysql的审计功能企业版才有)

-- 查看插件安装目录
show global variables like 'plugin_dir';
-- 下载对应数据库版本的压缩包找到里面的server_audit.so放置到插件安装目录
-- 在mysql命令行中,安装插件
install plugin server_audit soname 'server_audit.so';
-- 查看插件是否安装
show plugins;
-- 查看日志审计变量
show variables like '%audit%';
-- 修改以下内容
set global server_audit_file_path='/data/mysql/log/server_audit.log';
set global server_audit_logging=on;
-- 设置日志的轮询大小
set global server_audit_file_rotate_size=524288000;
set global server_audit_file_rotations=0;

变量说明:
server_audit_logging = ON                 #开启日志记录,默认是关闭
server_audit = FORCE_PLUS_PERMANENT        #防止插件被卸载
server_audit_file_path = server_audit.log     #定义审计日志文件名
server_audit_file_rotate_now = OFF         #是否强制切割审计日志
server_audit_file_rotate_size = 1073741824   #定义切割审计日志的文件大小1073741824=1GB
server_audit_file_rotations = 0              #定义审计日志的轮询个数,0为不轮询
uninstall plugin plugin_name;    #卸载对应插件

部分身份鉴别类

密码长度生命周期设置

# 密码长度复杂度要求设置:
# /etc/login.defs

MAIL_DIR	/var/spool/mail
# 密码最大有效期
PASS_MAX_DAYS	90
# 两次修改密码的最小间隔
PASS_MIN_DAYS	0
# 密码长度限制
PASS_MIN_LEN	9
# 距离过期前多少天开始提示
PASS_WARN_AGE	7
...

 密码复杂程度策略

# 密码复杂策略
# /etc/security/pwquality.conf

# -1表示必须含有1个该类型
# 密码最小长度
minlen = 9
# 包含数字个数
dcredit = -1
# 包含大写字母个数
ucredit = -1
# 包含小写字母个数
lcredit = -1
# 包含特殊字符个数
ocredit = -1


如果想让上述密码策略同样适用于root用户,那么就需要编辑文件
vim /etc/pam.d/system-auth文件,找到 password requisite pam_pwquality.so 这一行,添加如下语句
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 enforce_for_root

登录失败锁定:
设定用户登录超时退出,普通用户登录失败超过5次锁定1800s.

tty该项设置需要慎重
tty登录限制,普通用户登录失败5次后锁定300s,root锁定1800s
        echo " auth        required    pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=1800" >>/etc/pam.d/login
 
ssh登录限制,普通用户登录失败5次后锁定300s,root锁定1800s
        echo " auth        required    pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=1800" >>/etc/pam.d/sshd
如果被锁定可以进单用户模式直接进行注释抢救

 登录超时设置

# 登录超时设置:
/etc/profile 中新增一行TMOUT=600
source /etc/profile

设置bash命令保留的历史条数为10条:

/etc/profile 中HISTSIZE改成10或者直接在文件追加

部分sshd设置

SSH安全性设置:
内置一个普通用户user,该用户的口令与root口令不一样
       useradd user
  passwd user
禁止SSH root登录 /etc/ssh/sshd_config
        PermitRootLogin no     
修改ssh的端口
        Port 50060
禁止SSH空密码登录
        PermitEmptyPasswords no       
设置ssh连接超时退出
ClientAliveInterval 60 每隔60秒向客户端发送一个“空包”,以保持于客户端的连接
ClientAliveCountMax 10 总共发送10次“空包”,之后断开它们之间的连接

 数据库密码策略(复杂度,有效期等)

# mariadb的密码复杂度检查插件名为simple_password_check和mysql不一样
install plugin simple_password_check soname 'simple_password_check.so';

set global simple_password_check_minimal_length=8;
set global simple_password_check_other_characters=1;
set global simple_password_check_letters_same_case=1;
set global simple_password_check_digits=1;
 
配置文件设置方式
vim /etc/my.cnf.d/server.cnf  
#配置文件添加如下参数
[mysqld]
#加载密码复杂度审计插件
plugin-load=simple_password_check.so
#密码长度,默认8位
simple_password_check_minimal_length=8
#特殊符号,1代表至少1位
simple_password_check_other_characters=1
#字母数,1代表至少1位
simple_password_check_letters_same_case=1
#数字数,1代表至少1位
simple_password_check_digits=1

# mariadb没有下面这些选项
# 默认密码过期时间 单位天 每过180天就要修改密码
# default_password_lifetime=180
# 最大错误登录次数
# max_password_errors=5

 
 
 
#sql语句设置用户密码过期时间
##密码有效期设置 sql语句
create user 'test'@'localhosts' identified by '123QWe!@#'  password expire interval 30 day;     #30天过期
create user 'test'@'localhost' password expire never;                                           #永不过期
alter user 'test'@'localhost' password expire interval 120 DAY;                                 #修改为120天过期
alter user 'test'@'localhost' password expire never;
Mysql部分的密码复杂度插件
-- 安装插件
INSTALL PLUGIN validate_password SONAME 'validate_password.so';

入侵防护类

修改hosts.deny,hosts.allow文件对接入终端进行限制

云产品可以使用安全组进行防护

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值