是https加密我的ec2服务器所必需的域名吗?

时间:2017-12-06 10:48:14

标签: security encryption amazon-ec2 mule keystore

这个问题基于this stackoverflow问题,关于如何进一步保护我与公众的联系。
我的最终目标是让一个本机应用程序向我的aws EC2服务器发出请求。我显然希望用户登录凭据能够安全地从应用程序传输到我的服务器。现在我发送带有http授权标题的凭证"基本用户名:密码"。据我所知,这可以截获。

我可以通过创建的弹性IP来访问我的AWS EC2服务器。我使用的是自签名认证,这是不考虑和安全的#34;通过浏览器。为了获得安全的证书,我需要将其与域连接,而不是ip。

通过获取域名将我的后端服务器公开给公众似乎是不合逻辑的。我相当肯定我误解了整件事。我想要的只是向我的服务器发出安全请求。

编辑:我的请求被阻止,就像我链接的问题一样,我需要在浏览器中批准认证,之后我可以访问。我无法在应用程序安装的每个区域中执行此操作。

关于我的后端的信息:

AWS EC2 Micro
Windows Server 2016
Mulesoft 3.9.0CE listening to 0.0.0.0(all)

密钥库包含一个包含我的ec2:

的SAN
keytool -genkeypair -keystore keystore.jks   -dname "CN=localhost, 
OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown"  -keypass password  
-storepass password  -keyalg RSA  -sigalg SHA1withRSA  -keysize 2048  -alias 
mule  -ext SAN=DNS:publicAWS-DNS,IP:elasticIP -validity 9999

我的流量是否已加密,但尚未考虑"安全"通过浏览器?这可以吗? 创建jks时是否需要使用SAN指定IP?

谢谢

1 个答案:

答案 0 :(得分:0)

为保护应用程序,您需要实现多个级别的安全性。

  • 加密从浏览器客户端到ec2实例的通信,您需要使用由证书颁发机构签名的SSL证书(您可以从亚马逊获得免费证书)以避免人员受到中间攻击。
  • 实施身份验证(使用用户名和密码)进行访问控制(谁可以访问您的系统)。
  • 实施授权(谁可以做什么)。

注意:要附加由Amazon Certificate Authority颁发的免费SSL证书,您需要使用应用程序负载均衡器(ALB),其中证书附加到ALB,然后将ALB连接到EC2实例。

  

后端需要域名吗?

虽然它不是强制性的,但这是必要的,因为如果您使用自签名证书作为EC2实例的IP地址,浏览器将要求谨慎行事。