如何通过CentOS SQLAdmin权限管理优化数据库安全与效率?

更新于
2026-08-15 00:18:39
8阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

使用者痛点:因为数据量爆发式增长,公司面临数据库安全漏洞频发、访问控制混乱、性能瓶颈等问题。说起来,CentOS作为主流Linux程序。其SQLAdmin权限管理成为保障主要数据资产安全与效率的关键环节。

一、安装并配置数据库服务器

痛点分析:新手常因配置错误导致服务无法启动或安全漏洞。

如何通过CentOS SQLAdmin权限管理优化数据库安全与效率?

1.1 安装MySQL

sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

1.2 安装PostgreSQL

sudo yum install postgresql-server
sudo systemctl start postgresql
sudo systemctl enable postgresql

二、创建数据库和使用者

痛点分析:"超级管理员"泛滥、权限过度授予导致内部攻击风险。

2.1 MySQL创建方案

CREATE DATABASE mydatabase;CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';GRANT SELECT,INSERT ON mydatabase.* TO 'myuser'@'localhost';FLUSH PRIVILEGES;

2.2 PostgreSQL创建方案

CREATE DATABASE mydatabase;
CREATE ROLE developer LOGIN PASSWORD 'devpass';GRANT CONNECT ON DATABASE mydatabase TO developer;说起来,GRANT USAGE ON SCHEMA public TO developer;老实说,GRANT SELECT ON ALL TABLES IN SCHEMA public TO developer;

三、配置防火墙

痛点分析:默认开放端口可能引发DDoS攻击或非法入侵。

# 仅允许内网IP段访问
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp --add-source=192.168.0.0/16
sudo firewall-cmd --reload
# 开放公网时必须加密传输
SET GLOBAL require_secure_transport = ON;ALTER USER 'root'@'%' REQUIRE X509 SUBJECT '/CN=client/'
AND ISSUER '/CN=CA/' AND AFTER DATE 'YYYY-MM-DD HH:MI:SS';FLUSH PRIVILEGES;

# 修改pghba.conf文件添加: host all all 0.0.0.0/0 md5 encryptconnection=true

ssl = on sslcertfile = '/etc/pgsql/server.crt' sslkeyfile = '/etc/pgsql/server.key' sslcafile = '/etc/pgsql/root.crt'

sudo firewall-cmd --permanent --zone=public \ --add-port=5432/tcp \ --add-rich-rule='rule family="ipv4" source address="trustediprange" accept' sudo firewall-cmd --reload bash

# 先检查当前策略模块是否存在: ls -la /etc/selinux/modules/active/modules/mysql*

audit2allow -M mysqlcustom -i /var/log/audit/audit.log | grep mysqldt

semodule -i mysql_custom pp

setsebool -P httpdcannetworkconnectdb on # 对Web应用的特殊授权 restorecon -Rv /var/lib/mysql # 恢复文件上下文标签

chcon -Rt mysqldbt /mnt/mysqldata/ mountoptions='nodev。nosuid,noexec,ro,userxattr,attrimmutable,selinux' echo "$mountoptions">> /etc/fstab

bash

标签:CentOS

使用者痛点:因为数据量爆发式增长,公司面临数据库安全漏洞频发、访问控制混乱、性能瓶颈等问题。说起来,CentOS作为主流Linux程序。其SQLAdmin权限管理成为保障主要数据资产安全与效率的关键环节。

一、安装并配置数据库服务器

痛点分析:新手常因配置错误导致服务无法启动或安全漏洞。

如何通过CentOS SQLAdmin权限管理优化数据库安全与效率?

1.1 安装MySQL

sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

1.2 安装PostgreSQL

sudo yum install postgresql-server
sudo systemctl start postgresql
sudo systemctl enable postgresql

二、创建数据库和使用者

痛点分析:"超级管理员"泛滥、权限过度授予导致内部攻击风险。

2.1 MySQL创建方案

CREATE DATABASE mydatabase;CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';GRANT SELECT,INSERT ON mydatabase.* TO 'myuser'@'localhost';FLUSH PRIVILEGES;

2.2 PostgreSQL创建方案

CREATE DATABASE mydatabase;
CREATE ROLE developer LOGIN PASSWORD 'devpass';GRANT CONNECT ON DATABASE mydatabase TO developer;说起来,GRANT USAGE ON SCHEMA public TO developer;老实说,GRANT SELECT ON ALL TABLES IN SCHEMA public TO developer;

三、配置防火墙

痛点分析:默认开放端口可能引发DDoS攻击或非法入侵。

# 仅允许内网IP段访问
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp --add-source=192.168.0.0/16
sudo firewall-cmd --reload
# 开放公网时必须加密传输
SET GLOBAL require_secure_transport = ON;ALTER USER 'root'@'%' REQUIRE X509 SUBJECT '/CN=client/'
AND ISSUER '/CN=CA/' AND AFTER DATE 'YYYY-MM-DD HH:MI:SS';FLUSH PRIVILEGES;

# 修改pghba.conf文件添加: host all all 0.0.0.0/0 md5 encryptconnection=true

ssl = on sslcertfile = '/etc/pgsql/server.crt' sslkeyfile = '/etc/pgsql/server.key' sslcafile = '/etc/pgsql/root.crt'

sudo firewall-cmd --permanent --zone=public \ --add-port=5432/tcp \ --add-rich-rule='rule family="ipv4" source address="trustediprange" accept' sudo firewall-cmd --reload bash

# 先检查当前策略模块是否存在: ls -la /etc/selinux/modules/active/modules/mysql*

audit2allow -M mysqlcustom -i /var/log/audit/audit.log | grep mysqldt

semodule -i mysql_custom pp

setsebool -P httpdcannetworkconnectdb on # 对Web应用的特殊授权 restorecon -Rv /var/lib/mysql # 恢复文件上下文标签

chcon -Rt mysqldbt /mnt/mysqldata/ mountoptions='nodev。nosuid,noexec,ro,userxattr,attrimmutable,selinux' echo "$mountoptions">> /etc/fstab

bash

标签:CentOS