我有两台服务器。我们称它们为EC2 A和EC2B。
EC2 A = main server with PHP code
EC2 B = server with ONLY MySQL database. Right now, EC2 A is connecting to EC2 B.
我可以使用哪种安全组来保护我的EC2 A服务器(仅用于网站访问)和EC2 B(仅用于MySQL访问)的安全?
这是我为两台EC2服务器拥有的安全组:
HTTP 80
Custom TCP Rule 8080
SSH 22
SMTP 25
Custom TCP Rule 20-21
Custom TCP Rule 1024-1048
IMAP 143
MYSQL/Aurora 3306
HTTPS 443
这是我如何连接到PHP PDO中的数据库。
define ("DB_HOST", "ec2-**-***-*-***.us-west-1.compute.amazonaws.com");
define ("DB_USER", "dbuser");
define ("DB_PASS",'dbpassword');
define ("DB_NAME","dbname");
try {
$dsn = "mysql:dbname=".DB_NAME.";host=".DB_HOST;
$dbh = new PDO($dsn, DB_USER, DB_PASS);
return $dbh;
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
我可以对EC2 A或EC2 B做些什么使它们更安全?我是否需要更改使其更安全或更快速?
最佳答案
为了保护连接,您可以在安全组的MySQL规则中指定源(即EC2 A),即只有EC2 A可以通过端口3306连接到EC2 B.