4. 配置 MySQL

4.1. 保护 MySQL

因为您正在使用 MySQL 来验证用户身份,所以您需要限制对 3306 端口的网络访问。

最简单的方法是将 MySQL 仅绑定到环回接口 127.0.0.1。这确保了没有人可以通过网络连接到您的 MySQL 守护进程。

编辑/etc/init.d/mysql.server并按如下方式更改第 107 行

原始行

$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file&

更改行

$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \
--bind-address=127.0.0.1&

通过执行命令/etc/init.d/mysql.server start重启您的 MySQL 守护进程

为了确保配置更改成功,执行 netstat -an|grep LISTEN。输出应类似于这样

bond:~ # netstat -an|grep LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

4.2. 设置 rinetd

只有当您在邮件服务器以外的主机上运行 MySQL 服务器时,此步骤才是必要的。这允许您从另一台主机安全连接,因为只允许从预定义的 IP 地址访问。

使用的示例来自服务 MySQL 数据库的主机的角度。假设您的邮件服务器的 IP 是 192.168.0.100,而 MySQL 主机的 IP 是 192.168.0.200

编辑/etc/rinetd.conf并添加

192.168.0.200 3306 127.0.0.1 3306
allow 192.168.0.100

这意味着:MySQL 主机正在 192.168.0.200 的 3306 端口上监听。如果 192.168.0.100 尝试连接,它将被转发到 127.0.0.1:3306。所有其他主机都将被拒绝。