共计 2132 个字符,预计需要花费 6 分钟才能阅读完成。
本文起源:about.gitlab.com
作者:Ayoub Fandi
译者:极狐(GitLab) 市场部内容团队
“系统安全水平取决于零碎最单薄的环节” 是一句十分易懂的谚语,好比平安防护的木桶效应。
如果攻击者找到了入侵办法,就会利用平安配置文件中的任何破绽。「强化」,即敞开未应用性能,并把对平安有影响的设置进行调整的过程,对于限度攻击面并缩小潜在攻打向量是十分重要的。
「强化」能够确保应用程序(比方极狐 GitLab)尽可能的平安。指标很简略:保留高效工作所需性能的同时,将危险最小化。
领导准则
以下列举的平安流动须要和其中的一项或者多项联合应用。能够尝试组合尽可能多的办法。
分层平安,纵深进攻
分层平安背地的逻辑很简略:尽可能尝试将多种平安办法联合起来。例如,有两种形式实现平安,则应该实现两种,而非只实现一种。
举个例子,如果想保障服务拜访平安,可将简单明码、硬件拜访令牌及多因素认证联合起来。这种办法也被称为 纵深进攻。
窃密 ≠ 平安
“如果某些货色被暗藏,那么它会变得更平安”的想法,在现如今的信息安全世界里,是行不通的。
以后攻击者的扫描能力足够弱小,可能冲破紧密的平安防控。任何人都很容易对系统的凋谢端口进行扫描,例如将 SSH 的 22 端口批改为其余端口,诸如 Nmap 之类的网络工具就能够扫描进去。
缩小攻击面
极狐 GitLab/GitLab 蕴含泛滥组件、服务及依赖,提供弱小的产品性能。但 领有的组件越多,攻击者的攻打入口就越多 。所以牢记一个法令: 禁用运行应用程序不须要的服务。如果有未应用性能,禁用相干服务将缩小潜在攻击面,更加平安。
7 步保障私有化部署实例平安
让咱们通过简略 7 步,疾速强化私有化部署实例。这些速效措施是保障平安的重要开始。额定细节及进一步领导,可参考官网文档。
第一步:开启多因素认证
管理员 → 设置 → 通用 → 登陆限度
确保勾选双重认证(Two-Factor authentication,2FA)选项。双因素宽限期的默认值是 48h,将其调整为一个更低的值,比方 8h。
确认勾选管理员模式。具备管理员拜访权限的用户,将须要额定的认证操作来执行治理工作。启用 2FA 后,将须要用户进行额定的 2FA 认证操作。
第二步:增强额定的注册查看
管理员 → 设置 → 通用 → 注册限度
确保勾选启用注册性能。
在电子邮件确认设置下,确认开启高级设置。这将要求用户在容许拜访其帐户之前,在注册过程中验证其电子邮件地址。
如果强制执行其余身份验证技术,则 12 个字符的最小明码长度(字符数)默认设置是比拟适合的。可用的明码复杂度选项包含需蕴含数字、大小写字母及特殊字符。是否启用明码复杂度性能,取决于你公司外部的明码规范。
如果所有用户邮箱地址都位于繁多域名(比方 example.com ) 上面,可在注册限度里,将其增加到容许域名一栏中。这将阻止非此域名下的邮箱进行注册。
第三步:限度群组和我的项目可见性
管理员 → 设置 → 通用 → 可见性和访问控制
对于新创建的我的项目和群组,其默认我的项目可见性和群组可见性都应该设置为 公有。只有被赋予特定拜访权限的用户,能力拜访特定资源。如有必要或在创立新我的项目或组时,能够对此进行调整。
这可能确保默认模式平安,避免信息意外透露。
第四步:强化 SSH 设置
管理员 → 设置 → 通用 → 可见性和访问控制
通常,在启用 Git 拜访协定中抉择 Both SSH and HTTP(S)。如果用户不必其中某一个 Git 协定,将其设置为 Only SSH 或者 Only HTTP(S)。
这能够通过限度未应用协定来限度危害可能性,缩小攻击面。对于 SSH key 的类型,举荐应用的算法有:
- ED25519;
- RSA;
- ECDSA。
当配置默认类型及 SSH key 长度时,请记住上述列表。
第五步:审核账户和限度设置
管理员 → 设置 → 通用 → 账户和限度设置
这部分容许限度附件、推送、导出、导入及仓库的大小。对于特定大小(MB)能够依据公司外部策略来设置并审核。
用户会话时长(分钟)及 SSH key 和所有拜访令牌时长(天)也反对配置,以确保时长与公司外部策略相一致并满足平安最佳实际。
第六步:保障 CI 密钥
管理员 → 设置 → CI
明码、令牌、密钥及其他须要任何爱护级别爱护的敏感信息,都不应该以纯文本模式存储。相同,应该施行 加密容器技术(密钥管理器),比方 GCP Secret Manager 及 HashiCorp Vault,许多极狐 GitLab 性能都能够利用 Vault。
对于内部沟通,需确保 CI/CD 流程中任何内部连贯都应用加密通道。强烈推荐应用 TLS 1.2 及以上版本,且在可能的状况下应用 mTLS。
第七步:爱护所有分支的流水线
管理员 → 设置 → CI
流水线是工作的一部分,它分阶段执行步骤,代表用户自动化执行工作,是 CI/CD 的外围组成部分。默认状况下,只有默认分支会取得受爱护的流水线。遵循这些简略步骤,对其余分支配置同等级别的安全措施,将大大强化你的流水线。
一旦流水线运行起来,代码就会被部署到一个环境上。要限度与该环境的交互,爱护它免受未经受权的用户的影响,可将要害环境设为“受爱护”。
本文从不同维度论述了如何强化加固私有化部署极狐 GitLab/GitLab 实例。如果想要学习更多对于极狐 GitLab/GitLab 是如何保障平安的,可查阅平安文档,心愿可能对你有帮忙。