新闻资讯
领先云端方案商,专注云桌面、云手机研发,凭核心虚拟化技术与云端算力,
打造安全高效数字化平台,提供全周期支持。
分类
相关文章
热门标签

安全加固指南mac如何设置服务器 防止未授权访问与暴力破解攻击

2026年6月16日

1. 概述:为何在Mac上也要做服务器加固

1. Mac也可作为生产或开发服务器,存在SSH、HTTP等服务暴露风险。
2. 未授权访问与暴力破解是最常见的入侵方式,自动化脚本每天扫描端口。
3. 加固目标包括认证方式、端口策略、速率限制与封禁策略。
4. 同时配合CDN和上游防护能显著降低DDoS与探测攻击影响。
5. 本文给出命令、pf规则、Fail2Ban配置与真实流量数据对比示例。
6. 适用于macOS 12/13/14及搭配Homebrew的环境。

2. SSH加固:配置与具体命令

1. 关闭密码登录:编辑 /etc/ssh/sshd_config,设置 PasswordAuthentication no;重启SSH。
2. 更改默认端口:将 Port 22 改为 Port 2222,并在防火墙同步放行。
3. 禁止root登录:设置 PermitRootLogin no,降低被暴力破解的风险。
4. 限制允许用户:Use AllowUsers admin user2 指定允许登录的账号。
5. 生成安全密钥:ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519,使用公钥认证。
6. 在Mac上启停SSH命令:sudo systemsetup -setremotelogin on/off。

3. macOS pf 防火墙与速率限制规则

1. macOS使用pf作为包过滤器,配置文件位于 /etc/pf.conf 或自定义文件。
2. 示例规则:使用 max-src-conn-rate 限制同源连接速率,防止暴力短时间并发。
3. 简单pf片段:table <bad> persist; block in quick from <bad> to any; pass in proto tcp to any port 2222 keep state (max-src-conn 5, max-src-conn-rate 5/30).
4. 激活规则:sudo pfctl -f /etc/pf.conf && sudo pfctl -e。
5. 可配合日常脚本将可疑IP写入pf table并持久化封禁。
6. 对HTTP可使用连接数与速率限制减轻应用层压力。

4. 自动封禁工具:Fail2Ban 与 SSHGuard 在Mac上的应用

1. 使用Homebrew安装:brew install fail2ban 或 brew install sshguard(取决于偏好)。
2. Fail2Ban配置示例:/usr/local/etc/fail2ban/jail.local 中启用 sshd,设置 bantime = 86400, maxretry = 5, findtime = 600。
3. 示例 jail.local 内容:[sshd] enabled = true port = 2222 filter = sshd maxretry = 5 bantime = 86400 findtime = 600。
4. 启动并设为开机服务:brew services start fail2ban。
5. SSHGuard适合高并发环境,轻量拦截并调用pf进行封禁。
6. 定期审计被封IP列表,避免误封并导出为黑名单共享。

5. 密钥管理与多因素认证(MFA)

1. 强制使用公钥认证,禁用密码后可阻止绝大多数脚本暴力尝试。
2. 使用高强度密钥:推荐 ed25519,参数示例:ssh-keygen -t ed25519 -a 100。
3. 配置SSH只允许来自特定来源的Key:authorized_keys 可添加 from="203.0.113.0/24" 限制来源。
4. 启用基于硬件的二次认证:YubiKey/U2F 可结合 pam_u2f 实现登录第二因素。
5. 定期更换密钥与禁用不再使用的账号,结合审计日志核查不正常登录。
6. 对重要服务使用证书认证或ssh CA签发短期证书。

6. CDN、DDoS防御与上游策略

1. 对外服务建议放在CDN(如Cloudflare)后端,仅暴露必要端口并隐藏真实IP。
2. CDN可吸收大量DDoS流量并提供WAF、速率限制、地理封禁等功能。
3. 在DNS级别使用隐藏A记录并仅向可信节点暴露真实服务器IP。
4. 设置HTTP速率限制、机器人校验与验证码降低爬虫与暴力攻击效率。
5. 与云厂商合作使用黑洞路由或速率滤波在网络层面缓解攻击。
6. 定期演练恢复与流量突发策略,保持监控报警畅通。

7. 真实案例与服务器配置示例(含数据对比)

1. 案例说明:某开发团队将mac mini作为Code-Server节点暴露公网,初期被脚本扫描频繁暴力破解。
2. 初始每天失败登录尝试约 1200 次,短时间内造成日志快速增长与CPU波动。
3. 采取措施:更改SSH端口至2222、启用pf规则、部署Fail2Ban并仅允许公钥登录。
4. 采取后统计:失败尝试下降至约 12 次/天,被封IP累计152个。
5. 下表为典型单节点配置与防护前后对比数据示例。

服务器配置 防护前 防护后
主机 Mac mini (M1) / macOS 13.4 -- --
CPU / 内存 8-core / 16GB 高负载波动 稳定
SSH端口 2222 22 被扫描 仅2222暴露
失败登录次数/日 -- 1200 12
被封IP数 -- 0 152

来源:安全加固指南mac如何设置服务器 防止未授权访问与暴力破解攻击