디자인 결정에 관한 질문

잘못된 암호를 입력하면 Mattermost가 계정이 있는지 여부를 공개하는 이유는 무엇인가요?

Mattermost의 핵심 디자인 원칙은 “빠르고 명확하며 용서하는” 것입니다. 사용자에게 암호를 잘못 입력했다고 알려주는 것은 사용자의 이해를 우선시하는 원칙에 따른 것입니다.

특히 AD/LDAP와 함께 사용자 이름-암호 인증을 사용할 때, 이메일 주소, Mattermost 사용자 이름, AD/LDAP 사용자 이름, AD/LDAP ID 또는 다른 AD/LDAP 속성 중 어떤 것이 사용자 이름인지 이해하는 데 사용자들을 돕기 위해 디자인 원칙을 설정했습니다.

우리는 이 디자인이 생산성을 높이고 사용자 채택을 가속화하며 도움 데스크 티켓 및 지원 비용을 줄이는 데 도움이 될 것으로 믿습니다. 이러한 이점들이 제한들을 상쇄한다고 판단합니다.

이 디자인의 제한점은 물리적 보안이 적용되지 않은 경우, 네트워크 보안이 적용되지 않은 경우(즉, VPN이 없거나 사적 네트워크 내에서 악의적 사용자가 있는 경우) 그리고 사용자 이름-암호 인증 방식을 사용하는 경우, 공격자가 Mattermost 시스템에 HTTP 요청을 보내어 이메일 주소나 사용자 이름을 나열할 수 있을 수 있다는 점입니다. 이때 나열할 수 있는 요청의 최대 횟수는 Mattermost의 API 속도 제한 설정 에 정의된 초당 요청 횟수까지입니다.

이러한 구성으로 배포하는 조직을 위해 다음과 같은 완화책을 고려해보시기 바랍니다:

  1. 사용자 이름-암호 대신에 Mattermost 엔터프라이즈 에디션에서 제공하는 OneLogin, Okta 또는 ADFS와 같은 단일 로그온(SSO) 제공업체를 사용하거나 Mattermost 팀 에디션에서 제공하는 오픈 소스 GitLab SSO 옵션을 사용합니다.

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

  3. 프록시 서버에서 모니터링 및 경보 활성화를 통해 배포에 도달하는 악의적인 행위를 감지하고 격리하는 것을 활성화합니다.

모든 조치보다 중요한 것은 Mattermost 보안 공지 를 구독하고 권장되는 보안 패치를 적용하는 것입니다.