我有一个 ec2 实例。它将启动一个 Web 服务器,我的公网 IP 是myip
。
我通过 ssh 进入我的机器。传入和传出规则应该是什么?为什么?我希望只有我的 ip 能够更改服务器上的内容,但任何人都可以在自己的浏览器中查看它。这是使内容“除了myip
”之外只读的方法吗?
我看过了
——“传入”和“传出”流量是什么意思?
-https://help.ubuntu.com/community/UFW
目前我有
传入
- ssh tcp 端口 22,仅限
myip
- http tcp 端口 80,任意位置
- https tcp 端口 443,任意位置
出站
- 所有流量、协议、端口、IP
最后,这是如何在 ec2 实例上设置防火墙的方法吗?还是我应该使用 ufw?它们是同一个想法吗?
答案1
我使用 ssh 登陆我的机器。传入和传出规则应该是什么?为什么?
您无需担心服务器本身的任何规则。无需在本地运行防火墙,如果这样做,只会造成一些混乱。
你想要做的是创建一个安全组为您的实例定义任何规则。这是 Amazon 定义对您的实例的访问的方式。在安全组中,您将定义要允许访问的端口(ssh、http 等),以及每个端口所需的 IP 地址/范围。因此,如果您只想允许来自 IP 地址 1.2.3.4 的 SSH 访问,那么您将向安全组添加一条规则,允许来自 1.2.3.4 的 TCP 端口 22,而不允许其他任何端口 22。
我希望只有我的 IP 能够更改服务器上的内容,但任何人都可以在自己的浏览器中查看它。这是使内容“除了我的 IP 之外都是只读”的方法吗?
假设通过“除 myip 之外的只读”和您上面描述的规则,那么您的安全组应该只允许来自 myip 的端口 22,以及来自任何地方的端口 80 和 443。
最后,这是如何在 ec2 实例上设置防火墙的方法吗?还是我应该使用 ufw?它们是同一个想法吗?
不要使用 ufw 或任何其他基于客户端的防火墙。如果这样做,您最终只需要在两个地方修改规则(实例的安全组和 ufw)。