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

在配置数据库前,先确保Ubuntu系统本身是安全的:
sudo apt update && sudo apt upgrade -y例如,仅允许特定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自带安全脚本,可自动完成多项基础加固:
sudo mysql_secure_installation该脚本会引导你完成以下操作:
避免使用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的客户端认证配置文件:
sudo nano /etc/postgresql/14/main/pg_hba.conf将默认的 peer 或 trust 改为 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-- 切换到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系统安全最佳实践:
mysqldump 或 pg_dump 定期备份,并加密存储通过以上步骤,你可以显著提升Ubuntu上数据库的安全性。记住,Ubuntu数据库安全加固不是一次性任务,而是一个持续的过程。定期审查配置、更新补丁、监控异常行为,才能构建真正可靠的数据库环境。
希望本教程能帮助你掌握MySQL安全配置和PostgreSQL权限管理的核心技巧。安全无小事,从今天开始加固你的数据库吧!
本文由主机测评网于2025-12-04发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122972.html