温馨提示×

ubuntu如何保护sqladmin安全

小樊
64
2026-09-09 17:53:59
栏目: 云计算

在 Ubuntu 上保护 sqladmin(或类似数据库管理账号 / 管理面板) 的安全,通常从系统层、数据库层、网络层、应用层四个方面入手。下面以 MySQL / MariaDB 的 sqladmin 用户 以及 常见 sqladmin 管理页面(如 phpMyAdmin) 为例说明。


一、系统层安全

1. 使用普通用户 + sudo

  • 不要直接用 root 登录
  • 创建专用运维用户:
adduser dbadmin
usermod -aG sudo dbadmin

2. 禁止 root 远程登录

sudo passwd -l root

或修改 SSH 配置:

sudo nano /etc/ssh/sshd_config
PermitRootLogin no
sudo systemctl restart ssh

3. 使用 SSH 密钥登录

ssh-keygen
ssh-copy-id dbadmin@server_ip

并禁用密码登录:

PasswordAuthentication no

二、数据库层安全(重点)

1. 限制 sqladmin 登录来源

在 MySQL 中:

CREATE USER 'sqladmin'@'127.0.0.1' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'127.0.0.1';

✅ 禁止 'sqladmin'@'%'

2. 强密码策略

ALTER USER 'sqladmin'@'127.0.0.1'
IDENTIFIED BY 'Yf8@kL#9qP!2';

3. 禁用远程数据库端口

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1
sudo systemctl restart mysql

4. 定期审计权限

SHOW GRANTS FOR 'sqladmin'@'127.0.0.1';

三、网络层安全

1. 使用 UFW 防火墙

sudo ufw enable
sudo ufw allow 22
sudo ufw deny 3306

2. 如需远程管理 → 走 SSH 隧道

ssh -L 3306:127.0.0.1:3306 dbadmin@server_ip

四、sqladmin 管理页面安全(如 phpMyAdmin)

1. 修改访问路径

sudo mv /usr/share/phpmyadmin /usr/share/secret-sqladmin

2. 限制 IP 访问(Nginx 示例)

location /secret-sqladmin {
    allow 1.2.3.4;
    deny all;
}

3. 加 Basic Auth

sudo apt install apache2-utils
htpasswd -c /etc/nginx/sqladmin.htpasswd admin

4. 启用 HTTPS

使用 Let’s Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

五、日志与监控

1. 开启 MySQL 日志

SET GLOBAL general_log = 'ON';

2. 监控异常登录

sudo tail -f /var/log/mysql/error.log

3. 使用 fail2ban

sudo apt install fail2ban

六、最小权限原则(最重要)

✅ sqladmin 不应:

  • 对外网开放
  • 使用弱密码
  • 拥有不必要的权限
  • 长期在线

如果你能说明:

  • 用的是 MySQL / PostgreSQL / SQL Server
  • sqladmin 是 数据库用户 还是 Web 管理面板
  • 是否有公网 IP

我可以给你一套更精确的安全方案。

0 踩