小编its*_*_me的帖子

如何安全地连接应用程序和数据库服务器?

(更新)首先,我在不同的服务器上有我的应用程序和数据库。连接它们很容易,只是我不确定如何保护我的数据库服务器。

这是我已经完成的:

  • mysql_secure_installation安装MySQL之后。所以,所有这些都得到了照顾:

    • 强 64 字符 root 密码
    • 没有匿名用户
    • 仅在本地主机上进行 root 登录
    • 没有测试数据库
  • 用于服务器间通信的非公网(在我的 my.cnf 中,有这样的内容:bind-address = 10.128.2.18,其中 10.128.2.18 是 MySQL 数据库服务器的专用网络 IP 地址)。

  • 数据库的单独用户,不可猜测的用户名和 64 个字符的强密码;用户帐号的IP地址设置为应用服务器的私有IP地址。我用这样的命令创建了用户:

    GRANT ALL ON `app_db`.* TO 'db_user'@'10.128.2.9' IDENTIFIED BY 'password';
    
    Run Code Online (Sandbox Code Playgroud)

    该应用程序是 wordpress,所以我需要GRANT ALL ON避免任何意外问题。

考虑的选项(但未采用):

  • 有人告诉我,SSH 隧道、SSL、OpenVPN、Tinc 和 IPsec等技术通常不使用,因为它们具有性能成本(由于加密、延迟等导致的资源使用)。

那么,我还需要什么,还是我足够好?其他人是怎么做的?请尽可能详细(链接到教程或您建议的内容会很有帮助)。

mysql security php

6
推荐指数
1
解决办法
1万
查看次数

如何转储所有者没有密码的 PostgreSQL 数据库?

首先,我的设置的一些背景:

服务器已禁用根访问。因此,我以(比如说)john也属于该sudo组的身份登录,因此能够运行超级用户命令。

我创建了一个新的无密码用户#1 santa(使用命令sudo adduser --shell /bin/bash --gecos 'Santa Claus' --disabled-password santa)。

然后我将登录会话的所有者更改为santa使用以下命令:sudo su - santa并创建了一个新的 PostgreSQL 数据库 :(createdb myapp_db该数据库是在没有要求我输入密码的情况下创建的)。

现在,给定条件,如何使用命令对数据库myapp_db(其所有者是santa)进行SQL 转储pg_dump

这应该有效,但不是:

john@host:~$ pg_dump myapp_db -U santa -h localhost --no-owner -W > myapp_db_backup.sql
Password: 
Run Code Online (Sandbox Code Playgroud)

当我运行上述命令时,如您所见,它要求我输入“密码”。我应该在这里输入什么密码?创建数据库时我没有输入任何密码,数据库所有者也没有密码santa

因此,我尝试输入johnsudo 用户的密码,但出现此错误:

“致命:用户“圣诞老人”的密码验证失败”


我也试过(也没有用):

john@host:~$ su - santa
santa@host:~$ pg_dump myapp_db -U santa -h localhost --no-owner -W > myapp_db_backup.sql
Password: …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu postgresql-9.1

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×1

php ×1

postgresql ×1

postgresql-9.1 ×1

security ×1

ubuntu ×1