암호화 옵션
Entry, Professional, Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
Mattermost는 전송 중 암호화(encryption-in-transit)와 저장 데이터 암호화(encryption-at-rest) 기능을 제공합니다. 이 페이지에서는 적절한 암호화 보안을 설정하는 방법을 안내합니다.
GDPR에서 암호화를 요구하지는 않지만, 데이터 유출에 대비한 추가 보호 장치로 사용할 수 있습니다.
전송 중 암호화
Mattermost는 Mattermost 클라이언트 애플리케이션과 Mattermost 서버 사이의 모든 데이터 전송에 대해 2048비트 RSA를 사용하는 AES-256을 포함한 TLS 암호화를 지원합니다. Mattermost 서버에서 직접 TLS를 설정하거나, NGINX 같은 프록시를 설치하고 그 프록시에서 TLS를 설정할 수 있습니다. 자세한 내용은 구성 가이드를 참고하세요.
Active Directory/LDAP 연결은 TLS 또는 stunnel로 선택적으로 보호할 수 있습니다.
통화 연결은 다음을 조합해 보호합니다.
- TLS: 기존 WebSocket 채널을 사용해 시그널링 경로를 보호합니다.
- DTLS v1.2(필수): 최초 키 교환에 사용합니다.
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256및TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA알고리즘을 지원합니다. - SRTP(필수): 모든 미디어 패킷(음성 또는 화면 공유가 담긴 패킷)을 암호화하는 데 사용합니다.
AEAD_AES_128_GCM및AES128_CM_HMAC_SHA1_80알고리즘을 지원합니다.
Gossip 암호화
고가용성 모드에서 Mattermost는 gossip 프로토콜을 사용할 때 클러스터 데이터의 전송 중 암호화를 지원합니다. 이 프로토콜은 코넬 대학교 연구진이 개발한 SWIM 프로토콜에 정리된 원리를 기반으로 합니다. gossip 프로토콜은 분산 시스템에서 노드들이 무작위로 정보를 교환해 네트워크 전반의 데이터 일관성을 보장하는 통신 방식입니다. 탈중앙화되어 있고 확장성과 장애 내성이 뛰어나 노드 수가 많은 시스템에 적합합니다. 정보는 사회적 소문이 퍼지는 방식과 비슷하게 전파되며, 노드들이 주기적으로 무작위 피어에게 업데이트를 "전달"하면서 네트워크가 일관된 상태로 수렴합니다. 분산 데이터베이스, 블록체인 네트워크, 피어 투 피어 시스템에서 널리 사용되며 구현이 단순하고 노드 장애에 강합니다. 다만 대규모 네트워크에서는 중복 전송과 전파 지연이 발생할 수 있습니다.
Mattermost v10.11부터 신규 배포에서는 gossip 암호화가 기본으로 활성화되며, 기존 배포는 현재 구성을 그대로 유지합니다.
암호화는 기본적으로 AES-256을 사용하며 설정으로 변경할 수 없습니다. 다만 Systems 테이블의 ClusterEncryptionKey 행에 값을 직접 설정할 수는 있습니다. 키는 base64로 변환한 바이트 배열입니다. 길이를 16, 24, 32바이트로 지정하면 각각 AES-128, AES-192, AES-256이 선택됩니다.
저장 데이터 암호화
메시지에 대한 저장 데이터 암호화는 Mattermost 데이터베이스에 적용하는 하드웨어 및 소프트웨어 디스크 암호화 솔루션을 통해 제공됩니다. 이 데이터베이스는 인프라 내의 별도 서버에 위치합니다. 최종 사용자 검색과 메시지 기록의 컴플라이언스 보고를 지원하기 위해, Mattermost는 데이터베이스 내부 암호화는 제공하지 않습니다.
데이터베이스와 파일 저장소 모두 소프트웨어 또는 하드웨어 디스크 암호화 솔루션으로 보호할 수 있습니다. LUKS(Linux), BitLocker(Windows) 같은 전체 디스크 암호화 방식이나 Transparent Data Encryption(TDE) 같은 데이터베이스 전용 솔루션을 사용할 수 있습니다. 외부 암호화 저장 시스템과의 연동도 지원합니다.
또한 로컬/네트워크 저장소나 S3 호환 저장소로 사용하는 서버에 하드웨어 및 소프트웨어 디스크 암호화 솔루션을 적용하면, 저장된 파일에 대해서도 저장 데이터 암호화를 사용할 수 있습니다.
데이터베이스
디스크 수준의 암호화 옵션에 대한 자세한 내용은 PostgreSQL 데이터베이스 문서를 참고하세요.
파일 저장소
로컬 저장소, NFS, S3 호환 저장소의 경우, 서버에 적용한 하드웨어 및 소프트웨어 디스크 암호화 솔루션을 통해 저장된 파일에 대한 저장 데이터 암호화를 사용할 수 있습니다.
Amazon의 독자 S3 시스템에서는 Mattermost의 Amazon S3 관리형 키를 사용하는 서버 측 암호화를 통해 저장 데이터 암호화를 사용할 수 있습니다.
SAML 암호화 지원
Mattermost는 SAML에 대해 다음 암호화 방식을 지원합니다.
- aes128-gcm
- aes192-gcm
- aes256-gcm
- aes128-cbc
- aes256-cbc