최소 권한 원칙이란 무엇인가요?
최소 권한 원칙은 모든 사용자, 프로세스, 시스템이 승인된 기능을 수행하는 데 필요한 최소 수준의 접근 권한만을, 최소한의 시간 동안 부여받아야 한다는 보안 개념이다.
최소 권한은 정보 보안의 기초 원칙 중 하나다. 어떤 주체도 꼭 필요한 것 이상의 접근 권한을 갖지 않도록 보장함으로써 사고, 오류, 악의적 행동으로 인한 피해를 제한한다. 최소 권한을 가진 계정이 침해되면 공격자는 최소한의 접근 권한만 얻는다.
자격 증명 공유에 최소 권한을 적용한다는 것은 누가 접근 권한을 가져야 하는지뿐 아니라 얼마나 오래, 몇 번이나 접근해야 하는지도 고려하는 것을 의미한다. 일회성 마이그레이션을 위해 데이터베이스 패스워드가 필요한 계약자에게 Slack 채널에 무기한 남아 있는 자격 증명을 주어서는 안 된다. 배포를 위해 프로덕션 API 키가 필요한 엔지니어가 몇 주 후에 이메일 스레드에서 이를 검색할 수 있어서도 안 된다.
최소 권한은 시스템 자체에도 적용된다. 저장하는 비밀을 읽을 필요가 없는 비밀 공유 서버는 읽는 능력을 가져서는 안 된다. 암호화된 데이터를 저장하는 데이터베이스는 복호화 키를 보유해서는 안 된다. 최소 권한을 고려하여 시스템을 설계하면 모든 계층에서 공격 표면이 줄어든다.
Vaulted가 최소 권한 원칙을 사용하는 방법
Vaulted는 시스템 수준과 사용자 수준 모두에서 최소 권한을 구현한다. 서버 자체가 최소 권한으로 운영된다. 암호화된 데이터를 저장하고 전달하지만 암호화 키를 결코 보유하지 않기 때문에 복호화 능력이 없다. 사용자에게는 구성 가능한 조회 횟수 제한(최소 단일 조회)과 만료 기간이 공유된 자격 증명을 필요한 기간에만 접근 가능하도록 보장한다. 조회 후 비밀이 자기 소멸하여 접근이 완전히 제거된다.