Rust 프로젝트의 다중 인증
Rust 인프라 팀은 여러 시스템에 대한 접근을 보호하기 위해 다중 인증을 도입하고 있으며, 특히 Rust의 핵심 인프라로 간주되는 서비스에는 더 엄격한 규칙을 적용합니다.
다중 인증과 보증 수준
Rust 인프라 팀은 NIST의 인증 보증 수준(Authentication Assurance Levels)을 사용하여 각 MFA 방식이 제공하는 보안 수준에 따라 점수를 매깁니다. 이에 따라 다음 방식을 안전하고 승인된 MFA 방식으로 간주합니다(선호 순서대로):
- FIDO2 / Webauthn과 호환되는 하드웨어 보안 키(예: YubiKey): AAL-3
- Webauthn 패스키를 지원하는 하드웨어(예: Apple TouchId): AAL-2
- TOTP 앱(예: Google Authenticator): AAL-2
MFA와 핵심 인프라 접근
원칙적으로, 핵심 인프라로 간주되는 서비스가 여러 MFA 방식을 지원하는 경우 특권 또는 관리자 접근 권한을 가진 프로젝트 구성원은 해당 서비스 제공자가 지원하는 가장 안전한 MFA 방식을 반드시 사용해야 합니다. 즉, 가능한 경우 항상 하드웨어 보안 키를 사용해야 하며, 하드웨어 키를 사용할 수 없는 경우에는 패스키나 TOTP 앱을 사용해야 합니다.
이러한 서비스에는 다음이 포함됩니다:
- Google Workspace 및 GCP(
rust-lang.org) - AWS(AWS SSO 세션을 통한 접근)
- Azure
- Github
- Datadog
- Fastly
- Heroku
- 1password
Rust 인프라 팀은 테스트를 거쳐 승인된 AAL-3 기기로 Yubico YubiKey 5 시리즈를 공식 지원합니다. 프로젝트 구성원은 원한다면 다른 제조사의 하드웨어 키를 사용해도 되지만, 이 경우 Rust 인프라 팀은 버그나 호환성 문제에 대한 지원을 제공할 수 없습니다.
또한 서비스가 안전한 MFA 방식과 기기를 여러 개 지원하는 경우, 추가하는 MFA 기기나 방식이 같은 AAL에 속한다면 프로젝트 구성원은 예비용으로 MFA 방식을 하나 이상 추가로 설정하는 것이 좋습니다. 예를 들어 heroku 계정에 MFA를 설정할 때 예비용으로 YubiKey(AAL-3)를 하나 더 설정할 수는 있지만, 같은 목적으로 1password를 TOTP(AAL-2)로 설정해서는 안 됩니다. 이렇게 하면 보안이 저하될 수 있기 때문이며, 특히 관리 작업 중에 TOTP 백업이 공격 경로에 노출될 수 있는 방식으로 설정되어 있다면 더욱 그렇습니다.
마지막으로, 핵심 인프라 접근 권한을 가진 프로젝트 구성원이 MFA에 사용하던 하드웨어 기기를 잃은 경우(예: 노트북을 도난당했거나 YubiKey를 분실한 경우) 이 사실을 Rust 인프라 팀에 알려야 하며, 해당 기기는 허용된 MFA 기기/방식으로 등록되어 있던 모든 시스템에서 반드시 즉시 등록 해제되어야 합니다.
Yubico 하드웨어 키 지원
Rust 재단은 Yubico Secure it Forward 프로그램의 일환으로 핵심 인프라 접근 권한을 가진 Rust 프로젝트 구성원에게 YubiKey를 제공합니다. 이러한 지원 대상에 해당하며 권장 YubiKey를 무료로 받고 싶다면 Zulip의 T-infra(인프라 팀)에 연락하십시오.
다음 팀의 구성원이 지원 대상입니다:
infracrates.iodocs.rsreleasetriagebotbors