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

Ubuntu数据库安全加固指南(全面保护MySQL与PostgreSQL的实用教程)

在当今网络环境中,数据库安全至关重要。作为广泛使用的Linux发行版,Ubuntu常被部署为数据库服务器。然而,若未进行适当的安全加固,数据库极易成为攻击目标。本文将手把手教你如何对运行在Ubuntu系统上的数据库(如MySQL和PostgreSQL)进行安全加固,即使你是Linux新手也能轻松上手。

Ubuntu数据库安全加固指南(全面保护MySQL与PostgreSQL的实用教程) Ubuntu数据库安全加固 MySQL安全配置 PostgreSQL权限管理 Linux系统安全 第1张

一、基础系统安全设置

在配置数据库前,先确保Ubuntu系统本身是安全的:

  • 保持系统更新:定期运行 sudo apt update && sudo apt upgrade -y
  • 禁用不必要的服务(如telnet、ftp)
  • 配置防火墙(UFW)限制访问端口

例如,仅允许特定IP访问数据库端口(MySQL默认3306,PostgreSQL默认5432):

# 启用UFW并仅允许本地和指定IP访问MySQLsudo ufw enablesudo ufw allow from 192.168.1.0/24 to any port 3306sudo ufw deny 3306# 对PostgreSQL同理sudo ufw allow from 192.168.1.0/24 to any port 5432sudo ufw deny 5432

二、MySQL安全加固步骤

如果你使用的是MySQL,请按以下步骤操作:

1. 运行安全脚本

MySQL自带安全脚本,可自动完成多项基础加固:

sudo mysql_secure_installation

该脚本会引导你完成以下操作:

  • 设置root密码
  • 移除匿名用户
  • 禁止root远程登录
  • 删除测试数据库
  • 重载权限表

2. 创建专用数据库用户

避免使用root账户连接应用,应创建最小权限用户:

-- 登录MySQLmysql -u root -p-- 创建用户并授权(仅限本地访问)CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'StrongP@ss123!';GRANT SELECT, INSERT, UPDATE, DELETE ON myapp_db.* TO 'app_user'@'localhost';FLUSH PRIVILEGES;

三、PostgreSQL安全加固步骤

对于PostgreSQL用户,安全配置略有不同:

1. 修改默认认证方式

编辑PostgreSQL的客户端认证配置文件:

sudo nano /etc/postgresql/14/main/pg_hba.conf

将默认的 peertrust 改为 md5(密码认证)或更安全的 scram-sha-256

# TYPE  DATABASE        USER            ADDRESS                 METHODlocal   all             all                                     scram-sha-256host    all             all             127.0.0.1/32            scram-sha-256host    all             all             192.168.1.0/24          scram-sha-256

保存后重启服务:

sudo systemctl restart postgresql

2. 设置强密码并限制权限

-- 切换到postgres用户sudo -u postgres psql-- 修改postgres用户密码\password postgres-- 创建应用用户CREATE USER app_user WITH PASSWORD 'StrongP@ss123!';CREATE DATABASE myapp_db OWNER app_user;-- 退出\q

四、通用安全建议

无论使用哪种数据库,都应遵循以下Linux系统安全最佳实践:

  • 定期备份:使用 mysqldumppg_dump 定期备份,并加密存储
  • 启用日志审计:记录所有登录和查询行为,便于事后追踪
  • 最小权限原则:每个用户只拥有完成任务所需的最低权限
  • 禁用远程root登录:防止高危账户被暴力破解

结语

通过以上步骤,你可以显著提升Ubuntu上数据库的安全性。记住,Ubuntu数据库安全加固不是一次性任务,而是一个持续的过程。定期审查配置、更新补丁、监控异常行为,才能构建真正可靠的数据库环境。

希望本教程能帮助你掌握MySQL安全配置PostgreSQL权限管理的核心技巧。安全无小事,从今天开始加固你的数据库吧!