安全运维,等保测试常见解决问题。

1. 未配置口令复杂度策略。

bash 复制代码
# 配置密码安全策略 
# vi /etc/pam.d/system-auth
# local_users_only 只允许本机用户。
# retry =3         最多重复尝试3次。
# minlen=12        最小长度为12个字符。
# dcredit=-1       至少需要1个数字字符。
# ucredit=-1       至少需要1个大写字母。
# lcredit=-1       至少需要1个小写字母。
# ocredit=-1       至少需要1个特殊字符。
# difok=7          新口令与旧口令至少有7个字符不同。

# enforce_for_root 对root用户也强制执行这些规则。
password  requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root

2. 配置登录失败处理策略及登录连接超时策略。

bash 复制代码
#vi /etc/pam.d/sshd
auth required pam_faillock.so preauth silent deny=5 unlock_time=900
account required pam_faillock.so

#vi /etc/ssh/sshd_config 
# 服务器向客户端发送消息的间隔时间(秒),即30分钟。
ClientAliveInterval 1800
# 如果客户端在 ClientAliveInterval 时间内没有响应,服务器将断开连接。
ClientAliveCountMax 0

3. 未严格限制系统默认账户root的访问权限。

bash 复制代码
# 禁用root账户sshd远程登录
# vi /etc/ssh/sshd_config
PermitRootLogin no
PermitRootLogin yes

# 配置sqyr账户可以使用sudo来执行超管权限
# sudo visudo
sqyr ALL=(ALL) ALL

4. 未严格限制终端登录地址范围。

bash 复制代码
# 配置sshd允许内网ip为[222.19.190.1-222.19.190.255]范围内可访问
# vi /etc/hosts.allow
sshd: 222.19.190.0/24

# 配置sshd除了222.19.190.1~255内网ip可访问; 其他都拒绝
# vi /etc/hosts.deny
sshd: ALL

5. 未对及时清除会话信息。

bash 复制代码
# vi /etc/profile
# set system environment
export HISTSIZE=0
export HISTFILESIZE=0
export HISTFILE=/dev/null
#source /etc/profile

5. MYSQL未配置口令复杂度策略。

bash 复制代码
# vi /etc/my.cnf
# 设置密码安全相关
# 设置密码策略等级STRONG
validate_password_policy=STRONG
# 设置密码最小长度14
validate_password_length=14
# 设置密码中至少需要大写字母和小写字母的数量
validate_password_mixed_case_count=1
# 设置密码中至少需要数字的数量
validate_password_number_count=1
# 设置密码中至少需要特殊字符的数量
validate_password_special_char_count=1
# 设置密码定期更换周期365天
default_password_lifetime=365

6. MYSQL未配置登录失败处理策略及登录连接超时策略。

bash 复制代码
# 复制链接控制插件;[插件位置在安装/lib64/mysql/plugin目录]
[root@localhost plugin]# cp /lib64/mysql/plugin/connection_control.so /home/sqyr/local/mysql-5.7.43/install/data/mysql/lib64/mysql/plugin/
# 登录账户
[root@localhost plugin]# mysql -u root -p
# 执行安装插件
install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';
FLUSH PRIVILEGES;
show plugins;
exit;

# 编辑mysql配置文件,添加配置参数
[root@localhost plugin]# vi /etc/my.cnf
# 允许帐户进行的连续失败尝试5次
connection-control-failed-connections-threshold=5 
# 最小连接延迟[超过失败次数后;等待链接时长为1分钟]
connection-control-min-connection-delay=60000
# 重新启动
[root@localhost plugin]# systemctl restart mysqld 
# 登录后直接查看配置信息
show variables like '%connection_control%';
connection_control_failed_connections_threshold	5
connection_control_max_connection_delay	2147483647
connection_control_min_connection_delay	60000

7. MYSQL未严格限制系统默认账户root的访问权限。

bash 复制代码
[root@localhost ~]# mysql -u root -p
#收回root用户远程登录权限
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'root'@'%';
#只允许访问用户数据库ubox
GRANT ALL PRIVILEGES ON ubox.* TO 'root'@'%';
FLUSH PRIVILEGES;

8. MYSQL未开启日志功能,未对重要的用户行为和重要安全事件进行审计。

bash 复制代码
# 控制binlog日志文件保留时间,超过时间会删除
expire_logs_days=7
# 配置日志格式
log_timestamps=system
# 一般有两种形式,FILE和TABLE,默认FILE; TABLE时mysql库的slow_log表中
log_output=FILE,TABLE

# 开启慢日志查询
slow_query_log=ON
# 配置慢日志询阈值为3秒
long_query_time=3
# 配置慢日志文件
slow_query_log_file=/home/sqyr/local/mysql-5.7.43/install/data/mysql/data/mysql-slow.log

# 开启审计日志
general_log=ON
# 配置审计日志文件
general_log_file=/home/sqyr/local/mysql-5.7.43/install/data/mysql/data/mysql-general.log
# 配置错误日志文件
log-error=/home/sqyr/local/mysql-5.7.43/install/data/mysql/mysql-error.log
相关推荐
冰淇淋百宝箱1 小时前
AI 安全时代:SDL与大模型结合的“王炸组合”——技术落地与实战指南
人工智能·安全
网络安全(king)1 小时前
网络安全知识:网络安全网格架构
安全·web安全·架构
anddddoooo1 小时前
域内证书维权
服务器·网络·网络协议·安全·网络安全·https·ssl
Dyan_csdn1 小时前
【Python项目】基于Python的Web漏洞挖掘系统
网络·python·安全·web安全
lllsure2 小时前
Linux 实用指令
linux·物联网
努力的小T2 小时前
使用 Docker 部署 Apache Spark 集群教程
linux·运维·服务器·docker·容器·spark·云计算
Nerd Nirvana2 小时前
OpenSSL crt & key (生成一套用于TLS双向认证的证书密钥)
linux·ssl·shell·认证·加密·tls·oepnssl
letisgo53 小时前
记录一次部署PC端网址全过程
linux·阿里云·服务器运维
枫叶落雨2223 小时前
08-Elasticsearch
运维·jenkins
猫猫的小茶馆3 小时前
【网络编程】UDP协议
linux·服务器·网络·网络协议·ubuntu·udp