디자인 결정사항#

사용자가 잘못된 비밀번호를 입력했을 때 Mattermost가 계정 존재 여부를 공개하는 이유는 무엇인가요?#

Mattermost의 핵심 디자인 원칙은 “빠르고, 명확하고, 관대한” 것이며, 사용자에게 비밀번호 입력에 실수가 있었다고 알려주는 것은 사용자 이익을 우선시하는 우리의 원칙을 위한 것입니다.

사용자 이름-비밀번호 인증을 사용할 때, 특히 AD/LDAP와 함께 사용할 때, 사용자 이름이 이메일 주소, Mattermost 사용자 이름, AD/LDAP 사용자 이름 및 ID, 또는 기타 AD/LDAP 속성일 가능성이 있으며, 우리의 디자인 원칙은 최종 사용자가 로그인 오류가 잘못된 비밀번호 때문인지 잘못된 이메일/사용자 이름 때문인지 이해하는 데 도움을 주는 것을 목적으로 합니다.

우리는 이 디자인이 생산성을 높이고, 사용자 채택을 가속화하며, 헬프데스크 티켓과 지원 비용을 줄인다고 믿습니다 - 그리고 이러한 이점이 트레이드오프를 상쇄한다고 생각합니다.

이 디자인의 트레이드오프는 물리적 보안이 적용되지 않고, 네트워크 보안이 적용되지 않는 경우(즉, VPN이 없거나 프라이빗 네트워크 내에 악의적인 사용자가 있는 경우), 그리고 사용자 이름-비밀번호 인증이 사용되는 경우, 공격자가 Mattermost의 API 속도 제한 설정 에 정의된 초당 최대 요청 수까지 시스템에 HTTP 요청을 보내 이메일 주소나 사용자 이름을 열거할 수 있다는 것입니다.

이러한 구성으로 배포를 선택하는 조직의 경우, 다음 완화 조치를 고려해 주세요:

  1. 사용자 이름-비밀번호 대신 Mattermost Enterprise Edition에서 OneLogin, Okta 또는 ADFS와 같은 Single Sign-On(SSO) 공급자를 사용하거나, Mattermost Team Edition에서 사용 가능한 오픈 소스 GitLab SSO 옵션을 사용하세요.

  2. 권장 설치 지침에 따라 VPN 클라이언트를 사용하여 배포에 네트워크 보안을 적용하세요.

  3. 배포에 도달하는 악의적인 행동을 감지하고 격리하기 위해 프록시 서버에서 모니터링과 경고를 활성화하세요.

무엇보다도 Mattermost Security Bulletin 에 구독하고 권장되는 보안 패치를 적용하세요.