阅读量:0
CentOS环境下SQLAdmin安全设置指南
一、系统基础安全加固
- 更新系统与软件
定期执行sudo yum update -y更新CentOS操作系统及已安装的SQLAdmin、数据库(如MySQL/MariaDB)等软件包,及时修复已知安全漏洞。 - 禁用不必要的服务
使用systemctl disable ftp telnet等命令关闭FTP、Telnet等不安全服务,减少潜在攻击面;通过systemctl list-unit-files --state=enabled检查并禁用无用服务。 - 强化账户与口令管理
- 删除默认无用账户(如
adm、lp、sync):sudo userdel adm; - 锁定非必要超级用户:
sudo passwd -l username(仅保留root等必需超级用户); - 设置强密码策略:修改
/etc/login.defs,强制密码长度≥10位、包含大小写字母+数字+特殊字符(如PASS_MIN_LEN 10、PASS_REQUIRE_MIXED_CASE yes); - 检查空口令账户:
sudo awk -F: '($2 == "") {print $1}' /etc/shadow,并为这些账户设置强密码。
- 删除默认无用账户(如
二、SQLAdmin用户与权限管理
- 创建专用SQLAdmin用户
使用sudo adduser sqladmin创建专用管理账户,避免直接使用root账户;设置强密码:sudo passwd sqladmin。 - 配置最小必要权限
- 登录数据库(
mysql -u root -p),仅为sqladmin用户分配其工作所需的最低权限(如仅管理特定数据库mydb):CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'sqladmin'@'localhost'; FLUSH PRIVILEGES; - 禁止授予
ALL PRIVILEGES或GRANT OPTION(除非绝对必要),避免权限滥用。
- 登录数据库(
- 限制用户访问范围
- 将sqladmin用户绑定至
localhost(仅本地访问),若需远程访问,需添加对应IP限制(如'sqladmin'@'192.168.1.100')并配置防火墙允许该IP访问数据库端口(默认3306)。
- 将sqladmin用户绑定至
三、网络安全配置
- 配置防火墙规则
使用firewalld开放数据库端口(3306),并限制访问源IP:若使用sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3306" protocol="tcp" accept' sudo firewall-cmd --reloadiptables,可添加类似规则:sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT。 - 启用SSL/TLS加密
配置数据库连接使用SSL/TLS,防止数据传输被窃听:- 生成SSL证书(如使用
openssl); - 在数据库配置文件(
/etc/my.cnf)中添加:[mysqld] ssl-ca=/path/to/ca.pem ssl-cert=/path/to/server-cert.pem ssl-key=/path/to/server-key.pem - 强制sqladmin用户使用SSL连接:
GRANT ... REQUIRE SSL;。
- 生成SSL证书(如使用
四、审计与监控
- 开启数据库审计日志
在数据库配置文件(/etc/my.cnf)中启用通用查询日志和慢查询日志:重启数据库使配置生效:[mysqld] general_log = 1 general_log_file = /var/log/mysql/general.log slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2sudo systemctl restart mysqld。 - 使用auditd监控系统活动
安装并配置auditd服务,记录sqladmin用户的操作(如登录、数据库修改):添加审计规则(监控sqladmin用户的命令执行):sudo yum install audit -y sudo systemctl start auditd sudo systemctl enable auditd查看审计日志:sudo auditctl -a always,exit -F arch=b64 -S execve -F euid=sqladmin -k sqladmin_commandsausearch -k sqladmin_commands。
五、其他安全措施
- 保护配置文件权限
数据库配置文件(如/etc/my.cnf)包含敏感信息(如数据库密码),需限制访问权限:sudo chown root:sqladmin /etc/my.cnf sudo chmod 640 /etc/my.cnf - 禁用root远程登录
修改SSH配置(/etc/ssh/sshd_config),设置PermitRootLogin no,禁止root用户通过SSH远程登录;使用普通用户登录后再切换至root(su -)。 - 定期备份数据
使用mysqldump定期备份数据库(如每日备份),并将备份文件存储至安全位置(如异地服务器):定期测试备份恢复流程,确保数据可恢复。mysqldump -u sqladmin -p mydb > /backup/mydb_$(date +%F).sql
以上就是关于“centos sqladmin安全设置怎么做”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm