基本概念
- Sing-box:通常部署在企业网络边缘,作为流量清洗和防火墙设备,用于过滤、监控和限制网络流量。
- 规则:Sing-box 的核心功能是基于预定义的规则来处理流量,规则可以是过滤规则(阻止或允许特定流量)、监控规则(记录流量)、限制规则(限制流量的速率或次数)等。
规则配置步骤
访问控制
-
IP 和域名过滤:
- 配置允许的 IP 地址或域名,阻止未授权的访问。
- 示例:只允许公司内部 IP 或特定业务伙伴的 IP 访问外部服务。
-
用户身份验证:
- 配置基于角色的访问控制(RBAC),确保只有授权用户或用户组可以访问特定资源。
- 示例:限制员工访问敏感网站或服务。
应用层协议规则
-
阻止恶意攻击:
- 配置规则来识别并阻止常见的攻击,如 SQL 注入、XSS、CSRF、缓冲区溢出等。
- 示例:禁止某些特定的 HTTP 请求方法或路径。
-
限制请求频率:
- 防止攻击者通过高频率请求耗尽资源。
- 示例:限制每个 IP 每小时的 HTTP 请求次数不超过 100 次。
速率限制
-
网络流量监控:
- 配置速率限制规则,防止 DDoS 或高频率攻击。
- 示例:限制某个端口的流量不超过 100 Mbps。
-
IP 统限:
- 对单个 IP 地址设置流量限制,防止 IP adresSpoofing。
- 示例:每个 IP 每天的总流量不超过 1GB。
协议规则
-
特定协议控制:
- 配置规则针对特定协议或端口,限制或允许特定流量。
- 示例:只允许 HTTPS 流量通过,阻止 HTTP。
-
端口过滤:
- 配置允许的端口列表,阻止未授权的端口访问。
- 示例:只允许 80、443、8443 等端口。
安全日志和监控
-
日志记录:
- 配置日志规则,记录所有被修改的流量(如被阻止的请求)。
- 示例:记录所有被拒绝的 HTTP 请求,供后续分析。
-
异常检测:
- 配置规则检测异常流量,触发警报或自动应对措施。
- 示例:检测异常的 login 请求次数,可能是 brute force 攻击。
用户访问控制
- 限制访问范围:
- 确保用户只能访问其分配的子网或资源。
- 示例:限制员工访问公司内部网络,禁止访问外部不明 IP。
自定义规则
- 脚本规则:
- 使用自定义脚本或正则表达式匹配复杂的流量模式。
- 示例:检测并阻止特定格式的日志文件下载。
常见规则示例
示例 1:阻止恶意攻击
- 规则类型:过滤规则
- 描述:阻止所有包含 “/etc/passwd” 的请求,因为这可能是被注入的敏感文件。
- 配置:
- 匹配 URL 或文件路径:
/etc/passwd - 操作:阻止
- 匹配 URL 或文件路径:
示例 2:限制访问次数
- 规则类型:速率限制规则
- 描述:每个 IP 每小时只能访问网站 100 次。
- 配置:
- IP 地址:(所有 IP)
- 速率限制:100 次/小时
示例 3:限制带宽
- 规则类型:流量限制规则
- 描述:每个用户每天的下载速度不超过 5MB。
- 配置:
- 用户群体:所有用户
- 速率限制:5MB/day
注意事项
- 避免过度限制:确保规则不会过度限制正常业务流量,影响用户体验。
- 测试和优化:在上线前测试规则,确保规则有效且不会引入新的问题。
- 及时更新:随着网络环境和威胁的变化,定期更新规则。
- 监控和日志:确保日志记录详细,方便后续分析和故障排除。
通过合理配置 Sing-box 规则,可以有效提升网络安全性,防止未经授权的访问和攻击,同时保障业务的正常运行。








