阿里云ECS安全组是云服务器的第一道防火墙,配置错误会导致服务器被入侵或业务无法访问。本文从实际使用角度讲清楚安全组怎么配。
## 一、安全组是什么?
安全组是虚拟防火墙,控制进出ECS实例的网络流量。每个实例至少加入一个安全组,规则分两类:
- 入方向:外部访问服务器的规则
- 出方向:服务器访问外部的规则
## 二、基础配置:必开哪些端口?
最小开放原则,只开业务需要的端口:
| 端口 | 用途 | 协议 |
|------|------|------|
| 22 | SSH远程登录 | TCP |
| 80 | HTTP网站 | TCP |
| 443 | HTTPS网站 | TCP |
| 3306 | MySQL数据库 | TCP(仅内网) |
| 6379 | Redis缓存 | TCP(仅内网) |
## 三、新手最容易犯的3个错误
1. **把22端口对0.0.0.0/0开放**
这是最危险的操作。SSH端口必须限制来源IP,或者改端口+用密钥登录。
2. **数据库端口直接对公网开放**
MySQL、Redis、MongoDB绝对不能对公网开放。只允许内网其他服务器访问。
3. **忘了关出方向全放**
默认出方向全放,看起来方便,但服务器被入侵后会变成挖矿肉鸡。建议按需开放出方向。
## 四、生产环境推荐配置
1. 管理端口(22/3389):只允许公司固定IP访问
2. Web端口(80/443):对0.0.0.0/0开放
3. 数据库端口:只允许应用服务器内网IP访问
4. 关闭所有ICMP入方向(防ping扫描)
5. 定期检查安全组规则,清理不用的老规则
## 五、常见问题
**Q: 安全组和防火墙有什么区别?**
A: 安全组是云平台层面的虚拟防火墙,在实例外面;系统内部还有iptables/firewalld。两层都要配。
**Q: 一个实例能挂多个安全组吗?**
A: 可以,最多挂5个。多个安全组的规则是叠加的,取并集。
**Q: 改了安全组不生效怎么办?**
A: 安全组规则是即时生效的。如果不生效,检查是不是系统内部防火墙挡了,或者云服务商有额外的网络ACL。
## 六、南京本地企业建议
很多南京小企业买了阿里云ECS之后,安全组直接全开,服务器上线一周就被挖矿。建议找专业的人做一次安全配置,或者找本地服务商比如亿网科技帮忙检查安全组和服务器基础防护,一年也就几百块,比数据丢了强。
安全无小事,先把22端口的来源IP限制了再说。