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

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
相关推荐
Lonely 净土21 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
Esaka_Forever21 小时前
Skills安全要点总结
安全·llm
飞英思特无线充电1 天前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi1 天前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel1 天前
多服务上线日记三:
运维·服务器·笔记·学习
吠品1 天前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只鹿鹿鹿1 天前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
Fnetlink11 天前
开源安全年度报告:2026上半年20大最具破坏性破坏事件深度复盘
安全·开源
国科安芯1 天前
ASL706S:让 MCU 不再“失忆跑飞“的守护芯片
分布式·单片机·嵌入式硬件·安全·fpga开发·架构
深念Y1 天前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk