Linux 服务器运维中如何设置数据库访问的黑白名单?

润信云 技术支持

Linux 服务器运维中设置数据库访问黑白名单的方法

在 Linux 服务器的运维工作中,设置数据库访问的黑白名单是一项至关重要的安全措施,它能够有效控制哪些 IP 地址可以访问数据库,哪些则被拒之门外,从而增强数据库的安全性,防止未经授权的访问和潜在的攻击。以下将详细介绍在常见数据库(以 MySQL 为例)中设置黑白名单的实现方法。

一、MySQL 数据库访问黑白名单原理

MySQL 本身并没有直接的黑白名单机制,但我们可以通过其用户权限管理和防火墙的配合来实现类似功能。用户权限管理用于控制特定用户从特定 IP 地址对数据库的访问级别,而防火墙则可以进一步从网络层面限制 IP 对 MySQL 服务端口(默认 3306)的访问。

二、通过 MySQL 用户权限设置黑白名单

1. 创建或修改用户并限制 IP 访问

例如,要创建一个只允许从特定 IP(如 192.168.1.100)访问的用户,可以使用以下命令:

CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'192.168.1.100';
FLUSH PRIVILEGES;

这里 username 是用户名,password 是密码,database_name 是要授权访问的数据库名。如果要修改已有用户的 IP 访问限制,可以使用 GRANT 命令重新授权。

2. 拒绝特定 IP 访问

对于黑名单中的 IP,我们可以通过不创建对应的授权用户来间接拒绝访问。或者,若已有该 IP 对应的用户,可以使用 REVOKE 命令收回权限:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'192.168.1.200';
FLUSH PRIVILEGES;

这将取消 192.168.1.200 上的 username 用户对指定数据库的所有访问权限。

三、通过防火墙设置黑白名单

在 Linux 系统中,常用的防火墙工具如 iptablesfirewalld 可以用来设置网络访问规则。

1. 使用 iptables

允许白名单 IP 访问

iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT

上述命令允许来自 192.168.1.100 的 TCP 流量访问 3306 端口(MySQL 端口)。

拒绝黑名单 IP 访问

iptables -A INPUT -p tcp -s 192.168.1.200 --dport 3306 -j DROP

此命令会丢弃来自 192.168.1.200 对 3306 端口的 TCP 访问请求。

2. 使用 firewalld

允许白名单 IP 访问

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'
firewall-cmd --reload

拒绝黑名单 IP 访问

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.200" port protocol="tcp" port="3306" reject'
firewall-cmd --reload

通过以上 MySQL 用户权限管理和防火墙规则的设置相结合的方式,我们可以较为完善地在 Linux 服务器上实现数据库访问的黑白名单功能,有效保障数据库的安全,防止非法的访问行为。在实际运维中,应根据具体的安全需求和网络环境灵活调整黑白名单的设置。

本文链接:https://blog.runxinyun.com/post/804.html 转载需授权!

分享到:
版权声明
网站名称: 润信云资讯网
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮件:7104314@qq.com
网站部分内容来源于网络,版权争议与本站无关。请在下载后的24小时内从您的设备中彻底删除上述内容。
如无特别声明本文即为原创文章仅代表个人观点,版权归《润信云资讯网》所有,欢迎转载,转载请保留原文链接。
0 8

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。