> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/welcome/cn/elastic-compute/security/security-group.md).

# 安全组

虚拟防火墙用于控制弹性算力实例的入站和出站流量，以提高安全性。虚拟防火墙提供状态包检测 (SPI) 和包过滤功能。您可以使用虚拟防火墙及其规则在云中定义安全域。

## **限制** <a href="#limits" id="limits"></a>

<table><thead><tr><th width="641">项目</th><th>限制</th></tr></thead><tbody><tr><td>每个账户最多安全组数量</td><td>100</td></tr><tr><td>单个实例最多可部署的安全组数量</td><td>1</td></tr><tr><td>单个安全组中最多规则数量</td><td>250</td></tr></tbody></table>

{% hint style="danger" %}
**Bypass 模式的弹性 IP 不支持虚拟防火墙（安全组）。** 经由 Bypass 模式弹性 IP 进出实例的流量，不受虚拟防火墙规则过滤。若实例使用 Bypass 模式弹性 IP，必须在操作系统内自行运行防火墙。详见[弹性 IP：普通模式 EIP 与 Bypass EIP](/welcome/cn/elastic-compute/networking/standard-vs-bypass-eip.md)。
{% endhint %}

## **实用建议** <a href="#practical-suggestions" id="practical-suggestions"></a>

* 如果您不创建虚拟防火墙，系统会为您的实例应用一个默认虚拟防火墙，该防火墙允许到 TCP 端口 22（Linux）、TCP 端口 3389（Windows）和 ICMP 协议的入站连接，以及允许所有流量的出站连接以实现远程登录。
* 您可以添加规则以允许特定目标或源在特定端口上的访问。
* 添加虚拟防火墙规则时遵循最小授权原则。例如，要允许 Linux 实例的端口 22 连接，建议您添加一条规则，仅允许来自特定 IP 地址的访问，而不是所有 IP 地址 (`0.0.0.0/0`)。
* 确保每个虚拟防火墙具有简单明了的规则。单个实例可以加入多个虚拟防火墙，单个虚拟防火墙可以有多个规则。如果一个实例应用了大量规则，管理会变得复杂，可能会引入未预见的风险。
* 将具有不同用途的实例加入不同的虚拟防火墙，并分别维护应用于这些实例的虚拟防火墙规则。例如，您可以将接受互联网访问的实例加入一个虚拟防火墙。然后，在此虚拟防火墙中，添加规则以允许仅用于提供外部服务的端口（如端口 80 和 443）的入站访问。同时，为了确保这些可通过互联网访问的实例不提供其他服务（如 MySQL 和 Redis），建议您在无法从互联网访问的实例上部署内部服务，并将这些实例加入另一个虚拟防火墙。
* 不要修改生产环境中使用的虚拟防火墙。对虚拟防火墙的所有更改都会自动应用于该虚拟防火墙内的实例。在更改虚拟防火墙之前，您可以在测试环境中克隆、修改和调试它，以确保更改不会中断相关实例之间的通信。
* 为虚拟防火墙指定可识别的名称和描述，以便于搜索和管理。
