【免费下载链接】goshsFeature-rich single-binary file server for red teamers and developers. HTTP/S · WebDAV · FTP/SFTP · SMB · LDAP/S · NTLM hash capture · DNS/SMTP callbacks · TLS · Auth · Share links. A powerful python3 -m http.server replacement.项目地址https://gitcode.com/gh_mirrors/go/goshs点击查看免费下载goshs 是一个功能丰富的单二进制文件服务器python3 -m http.server的强力替代品支持 HTTP/S、WebDAV、FTP/SFTP、SMB 等多种协议。本指南带你完成 goshs 安全加固的三层配置IP 白名单、客户端证书认证与文件级 ACL.goshs 访问控制让你的文件共享服务既开放又可控。为什么默认配置不够安全goshs 默认监听0.0.0.0:8000且无任何鉴权任何人都能下载、上传、删除文件。生产或团队协作场景下建议按网络层 → 传输层 → 文件层三层叠加防护层级机制参数 / 配置文件网络层IP 白名单--ip-whitelist、--trusted-proxy-whitelist传输层TLS 客户端证书认证--cert-auth需配合-ss等 TLS 选项文件层目录级 ACL每个目录下的.goshs文件一键配置 IP 白名单只允许指定网络访问IP 白名单是最简单粗暴的第一道防线。使用--ip-whitelist短名-ipw传入逗号分隔的 IP 或 CIDR 网段# 仅允许内网 192.168.1.0/24 网段和单台机器 10.0.0.5 访问 goshs --ip-whitelist 192.168.1.0/24,10.0.0.5要点说明不写掩码时IPv4 自动按/32精确单 IP处理IPv6 按/128处理未通过白名单的请求会被直接拒绝默认返回403 Access Denied并在日志中记录[WHITELIST] Access denied for IP: ...白名单中间件逻辑见 httpserver/middleware.goCIDR 解析见 httpserver/whitelist.go。反代场景配置可信代理trusted proxy如果 goshs 部署在 Nginx 等反向代理之后客户端真实 IP 藏在X-Forwarded-For头里。此时需要告诉 goshs 哪些跳数是可信代理goshs --ip-whitelist 192.168.1.0/24 --trusted-proxy-whitelist 172.17.0.1goshs 会从右向左解析X-Forwarded-For链只信任可信代理写入的条目防止伪造 IP 绕过白名单解析逻辑见 httpserver/middleware.go。在配置文件里对应的字段是whitelist与trusted_proxies参考模板 example/goshs.json.example。证书认证用客户端 CA 证书替代密码goshs 支持基于客户端证书的双向 TLS 认证只有持有指定 CA 签发证书的客户端才能完成连接。启动参数为--cert-auth短名-ca传入 CA 根证书路径# 自签名 HTTPS 客户端证书认证 goshs -ss --cert-auth ./ca.crt工作机制goshs 会把该 CA 证书加载为信任池并将 TLS 配置为RequireAndVerifyClientCert——即必须出示证书且必须验证通过实现见 httpserver/helper.go。⚠️ 两个常见坑必须启用 TLS。证书认证依赖 TLS 握手goshs 会在启动时强制检查-ss自签名、-sk/-sc自定义证书、-p12或-slLets Encrypt四选一否则直接报错退出检查逻辑见 sanity/checks.go。传入的是CA 根证书ca.crt不是客户端证书本身。完整配置示例可参考 integration/configs/cert_auth.json{ ssl: true, p12: /certs/goshs.p12, p12_no_pass: true, certificate_auth: /certs/ca.crt }证书认证特别适合内网设备管理、CI 环境等无密码、凭身份证书准入的场景。CLI 命令执行模式--cli和反向 shell catcher 模式下goshs 同样强制要求 basic/cert 认证 TLS。文件级 ACL用 .goshs 文件做目录级访问控制goshs 的文件级 ACL 思路很直白在每个目录里放一个.goshs文件即可单独控制该目录的访问。.goshs是 JSON 格式支持两个字段auth用户名:bcrypt哈希访问该目录需要该凭据Basic Authblock屏蔽列表命中的文件/目录对客户端不存在屏蔽整个目录时名称后加/。第一步生成 bcrypt 密码哈希goshs 内置-H一键哈希工具不要存明文密码goshs -H MySecret123 # 输出形如 $2a$14$... 的哈希第二步在受保护目录创建.goshs{ auth: admin:$2a$14$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, block: [config/, secret.txt] }放在./docs/.goshs则/docs下的资源都需要 Basic Auth 凭据才能访问其中config目录与secret.txt文件对所有人隐身。ACL 的递归合并与失败即拒绝规则理解以下三条规则才能正确部署多层 ACL实现见 httpserver/filebased.go向上递归合并从目标目录一路向上扫描到 web root沿途所有.goshs会合并成有效 ACL——block列表取并集auth由最近的非空值生效。父目录的屏蔽规则会一直约束子目录。失败即拒绝fail-closed任何一个.goshs无法读取或 JSON 解析失败该目录直接整体拒绝访问而不会退化成无保护。.goshs自身永不外泄它包含密码哈希任何协议下都不可见、不可下载上传/创建包含.goshs组件的路径也会被拒绝。FTP/SFTP/SMB 等协议同样受 ACL 约束HTTP 之外的文件协议SFTP、FTP、TFTP、SMB没有逐请求的 HTTP 凭据因此 goshs 对它们的策略更严格凡是受auth保护的目录直接拒绝访问屏蔽列表照常生效目录列表也会过滤掉受保护子目录。协议 ACL 实现见 httpserver/acl_protocol.go。完整组合一条命令搞定三层加固把三层防护叠起来就是一套生产级配置goshs -ss -b user:$2a$14$xxxx... \ --ip-whitelist 192.168.1.0/24,10.0.0.5 \ --trusted-proxy-whitelist 172.17.0.1 \ -d /srv/share再在/srv/share/finance/.goshs中写一条auth规则即得到白名单外连不上、白名单内也要凭据、财务目录要更高级别的凭据。安全加固要点清单 ✅--ip-whitelist限定来源网段反代环境记得配--trusted-proxy-whitelist开启 TLS-ss/ 自定义证书 / Lets Encrypt需要免密准入时叠加--cert-auth敏感目录用.goshs的auth加锁密码务必用goshs -H哈希后存储用block隐藏配置文件与敏感文件目录名后加/整体屏蔽认证失败有内置限速同一 IP 连续 5 次失败会锁定 30 秒见 httpserver/middleware.go不要把配置文件如 goshs.json放进被共享的 web root 内goshs 会主动警告此风险goshs 的参数定义集中在 options/options.go运行配置模板见 example/goshs.json.example。按照本文三层配置完成后你的 goshs 文件服务器在保持单二进制轻量部署的同时就拥有了企业级的访问控制能力。赞分享【免费下载链接】goshsFeature-rich single-binary file server for red teamers and developers. HTTP/S · WebDAV · FTP/SFTP · SMB · LDAP/S · NTLM hash capture · DNS/SMTP callbacks · TLS · Auth · Share links. A powerful python3 -m http.server replacement.项目地址https://gitcode.com/gh_mirrors/go/goshs点击查看免费下载相关推荐Jedis 安全加固清单TLS、ACL 与 Token 认证Microsoft Entra ID完整实践Jedis 安全加固清单TLS、ACL 与 Token 认证Microsoft Entra ID完整实践 Jedis 是 Redis 官方推荐的 Java数据库缓存后端PostgreSQL安全加固终极指南SSL证书、ACL和防火墙配置PostgreSQL安全加固终极指南SSL证书、ACL和防火墙配置 Pigsty作为开箱即用的PostgreSQL发行版提供了企业级的安全防护能力。本指南将数据库运维云原生高可用监控Nginx UI 认证安全配置指南IP 白名单与登录失败封禁IPWhiteList / BanThresholdMinutes / MaxAttemptsNginx UI 认证安全配置指南IP 白名单与登录失败封禁IPWhiteList / BanThresholdMinutes / MaxAttempts后端前端运维认证鉴权上一篇ComfyUI-Manager终极离线安装指南3步掌握本地ZIP包部署技巧下一篇grill-with-docs 完整指南如何一次会话敲定设计把术语与决策沉淀为领域文档创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考