当前位置:首页 > Centos > 正文

CentOS数据库安全加固(全面指南:保护你的MySQL数据库免受攻击)

在当今的网络环境中,数据库安全已成为系统管理员和开发人员不可忽视的重要任务。特别是运行在 CentOS 系统上的数据库(如 MySQL 或 MariaDB),若未进行适当的安全加固,极易成为黑客攻击的目标。本文将手把手教你如何对 CentOS 上的数据库进行安全加固,即使是初学者也能轻松上手。

CentOS数据库安全加固(全面指南:保护你的MySQL数据库免受攻击) CentOS数据库安全加固 MySQL安全配置 CentOS系统安全 Linux数据库防护 第1张

一、更新系统与数据库软件

首先,确保你的 CentOS 系统和数据库软件是最新版本,以修复已知漏洞。

# 更新系统sudo yum update -y# 如果使用的是 MySQLsudo yum install mysql-server -y# 如果使用的是 MariaDB(CentOS 默认)sudo yum install mariadb-server -y# 启动并设置开机自启sudo systemctl start mariadbsudo systemctl enable mariadb

二、运行安全初始化脚本

MariaDB/MySQL 提供了一个安全脚本,可以自动完成多项基础安全设置。

sudo mysql_secure_installation

执行后,按提示操作:

  • 设置 root 密码(建议使用强密码)
  • 移除匿名用户(回答 Y)
  • 禁止 root 远程登录(除非必要,否则选 Y)
  • 删除测试数据库(选 Y)
  • 重新加载权限表(选 Y)

三、创建专用数据库用户

不要在应用程序中使用 root 用户连接数据库。应为每个应用创建独立用户,并仅授予所需权限。

-- 登录数据库mysql -u root -p-- 创建新用户(替换 your_app 和 strong_password)CREATE USER 'your_app'@'localhost' IDENTIFIED BY 'strong_password';-- 授予特定数据库权限GRANT SELECT, INSERT, UPDATE, DELETE ON your_database.* TO 'your_app'@'localhost';-- 刷新权限FLUSH PRIVILEGES;-- 退出EXIT;

四、配置防火墙限制访问

使用 firewalld 限制只有可信 IP 可访问数据库端口(默认 3306)。

# 允许本地访问(通常足够)sudo firewall-cmd --permanent --remove-service=mysql# 如果必须远程访问,只允许特定IP(例如 192.168.1.100)sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'# 重载防火墙sudo firewall-cmd --reload

五、启用日志审计(可选但推荐)

开启慢查询日志和错误日志有助于监控异常行为。

编辑配置文件:

sudo vi /etc/my.cnf

在 [mysqld] 部分添加:

[mysqld]log-error=/var/log/mariadb/mariadb.logslow_query_log=1slow_query_log_file=/var/log/mariadb/slow.loglong_query_time=2

重启服务生效:

sudo systemctl restart mariadb

总结

通过以上步骤,你可以显著提升 CentOS数据库安全加固 的水平。记住,安全不是一次性任务,而是一个持续过程。定期更新、审计日志、最小权限原则是保障 Linux数据库防护 的核心。无论是个人项目还是企业环境,良好的 MySQL安全配置CentOS系统安全 实践都能有效抵御大多数常见攻击。

安全无小事,从今天开始加固你的数据库吧!