개요
일반적인 스타트업은 성공 가능성을 빠르게 검증하는 것을 최우선으로 삼곤 한다. 이 과정에서 보안적인 측면은 종종 후순위로 밀리는데, 이는 나중에 큰 문제를 초래하게 될 수 있다. 만약, 서비스 중인 비즈니스에서 Access Key가 노출되어 중요한 데이터가 외부에 공개되거나, 사용자 정보가 탈취당하는 상황이 발생한다면 어떻게 해야할까? 단순히 AWS 고객센터에 메일을 전달하고 답변을 기다리는 것만으로는 충분하지 않을 것이다. 이러한 긴급한 상황에서는 명확한 대응 정책이 필요하게 된다.
이런 문제를 예방하고 효과적으로 관리하기 위해서는 ISMS와 같은 인증을 통한 체계적인 정보보호 관리가 필요하게 된다. 이번 게시글에서는 정보보호 관리 체계인 ISMS에 대한 기본 개념과 클라우드 인프라 관점에서 필요한 요구사항들을 정리해보고자 한다.
ISMS
ISMS(Information Security Management System)는 정보보호를 위한 일련의 조치와 활동이 인증기준에 적합함을 인터넷진흥원 또는 인증기관이 증명하는
제도이다.
ISMS, 즉 정보보호 관리 체계는 개발 환경에서 접근 권한을 제한하고, 중요한 데이터를 암호화하거나, 장애 대응 프로세스를 수립하는 등 정보 보안 위험을 관리하기 위한 정책과 절차, 기술적 수단을 체계적으로 조합한 관리 체계이다.
한걸음 더. ISMS-P
ISMS-P(Personal information & Information Security Management System)는 정보보호 및 개인정보보호를 위한 일련의
조치와 활동이 인증기준에 적합함을 인터넷진흥원 또는 인증기관이 증명하는 제도이다.
ISMS에서는 정보보호를 중점적으로 검증을 진행하였다면, ISMS-P는 개인정보보호에 대한 부분을 중점적으로 검증하는 관리 체계이다. ISMS-P는 사용자 데이터를 안전하게 저장하고 처리하기 위해 어떤 암호화 기술을 사용하는지, 사용자 데이터 접근 시 어떤 보안 프로토콜을 따라야 하는지 등 구체적인 보안 지침을 제공한다.
왜 ISMS 인증을 받아야하는가?
ISMS 인증은 조직이 국가 표준에 따라 정보 보안 관리 체계를 적절히 운영하고 있음을 외부에게 인증하는 과정 중 하나이다. 해당 인증으로 인해 조직은 정보 보안 관련 위험을 체계적으로 관리하고 있으며, 지속적으로 개선하고 있음을 외부에 공표하는 것과 동일한 역할을 하게 된다.
ISMS 인증을 위한 인프라 요구사항
ISMS 인증을 받기 위해서는 정보보호와 관련된 수많은 요구사항이 존재할 것이다. 하지만, 이번 게시글에서는 사내 인프라 관리자 또는 DevOps 개발자를 기준으로 설명할 것이며, AWS 클라우드 인프라를 이용하여 ISMS를 받고자 할 때 주목해야할 요구사항들을 살펴볼 것이다.
정보보안 거버넌스 및 정책 수립
일반적인 사내 인프라는 온프레미스 또는 클라우드 환경으로 구현할 것이다. 해당 인프라에서 정보 보안 정책을 어떻게 수립하는지에 따라 우리는 인프라의 구성요소와 대응 방안을 명확하게 알 수 있을것이다. 즉, 명확한 정보보안 거버넌스와 정책을 수립하게 되었을 때, 더욱 안전한 인프라라는 것을 인지할 수 있게 될 것이다.
해당 정책을 수립할 때에는 수집하는 데이터를 어떻게 보호할 것인지, 개발자 또는 외부 사용자가 사내 인프라를 어떻게 접근하는지, 재해가 발생할 때, 어떻게 복구할 것인지에 대한 정책이 명확하게 수립되어야 한다.
그렇게 되었을 때, 서비스에서 문제가 발생하더라도 가이드라인을 통해 해결 방안을 따를 수 있게 될 것이다.
인프라 리소스 관리 정책 수립
AWS 클라우드 인프라 내에서 리소스 관리 정책은 소유권과 책임에 초점을 맞춰야할 것이다. 예를 들어, 조직의 서비스를 이용하는 사용자의 정보와 EC2 서버의 콘솔에서 출력되는 데이터는 동일한 책임을 가지지 않을 것이다. 이러한 차이를 명확하게 구분하는 것이 리소스 관리에 핵심이다.
또한, AWS 리소스에 태깅 정책을 도입한다면 리소스의 소유권을 명확하게 분류할 수 있을 것이다. 이로인해, 모니터링 기능을 구현할 때에도 분류된 소유권에 따라 리소스 상태를 실시간으로 파악할 수 있을 것이다.
이처럼, 인프라에서 관리되는 여러 리소스들에 명확한 소유권과 책임을 부여하는 정책을 부여한다면, 리소스의 효율적인 활용과 더불어 보안 유지에도 강점을 가질 수 있게 될 것이다.
접근 제어 정책 수립
인프라를 관리하는 모든 개발자들은 동일한 권한을 가질 순 없다. 사내에서 A, B팀이 존재한다고 가정하였을 때, A 팀은 A 팀의 리소스만 관리해야할 것이고, B 팀은 B 팀의 리소스만 관리해야할 것이다. 이처럼 인프라 리소스를 사용하기 위한 접근 제어 정책을 수립해야할 것이다.
접근 제어 정책을 수립해야할 때 고려해야 하는 것은 “최소한”의 권한을 부여해야한다는 것이다. 일반적으로 팀 내에서 인프라 관리자가 아닌 일반 개발자 또한 특정 인프라 리소스에 대한 정보를 조회하기 위한 작업을 수행할 것이다. 그렇다면 해당 개발자에게는 어떤 권한을 줘야하는 것일까? 바로 “팀 내 소속된 특정 인프라 리소스의 READ 권한”만 할당해야하는 것이다.
또한, 해당 접근 제어 정책은 사내 개발자에게만 종속되는 것이 아닌, 외부 시스템이 접근할 수 있는 인프라 리소스에 대한 접근 제어 정책도 함께 수립되어야할 것이다.
이처럼, 인프라 리소스에 대한 접근 제어 정책을 수립할 때에는 최소한의 권한을 부여해야하며, 잘못된 접근 제어 정책을 수립하게 되었을 경우 많은 문제가 발생한다는 것을 인지해야할 것이다.
데이터 암호화 정책 수립
인프라를 아무리 안전하게 관리한다 하더라도, 인프라 내 데이터는 언제나 보안 위험에 노출될 수 있다. 데이터 탈취 사고가 발생했을 때, 암호화된 데이터는 외부에서 읽을 수 없게 보호될 것이다. 이는 데이터 암호화 정책이 필수적인 요구사항이라는 것을 의미하게 된다.
또한, 해당 데이터 암호화 정책은 관리중인 데이터 뿐만 아니라, 내부 또는 외부로 전송되는 데이터 또한 암호화를 하여 해당 데이터를 보호해야할 것이다. 일반적으로 AWS 클라우드 인프라를 구성하게 된다면, KMS와 같은 서비스를 이용하여 데이터를 암호화하여 보호한다거나, SSL/TLS와 같은 기술을 이용하여 전송되는 데이터를 암호화하여 관리할 수 있을 것이다.
이처럼, 인프라에서 발생 또는 전달되는 모든 데이터에 대한 암호화 정책을 수립한다면 잘못된 보안 관리로 인해 발생하는 문제에 대한 해결방안이 될 것이다.
운영 보안 정책 수립
우리는 인프라를 구축하고 난 이후에는 주로 EC2, EKS 같은 서비스의 직접적인 문제에만 신경을 썼을 것이다. 그러나, 정보 보호 관점에서는 예상치 못한 인프라 리소스의 동작을 감지하고 대응하는 것이 필수적이다.
만약, AWS Access Key가 외부에 노출되어 악의적인 행위로 이어지는 경우를 가정해보자. 대부분 해당 피해를 인지하는 시점은 요금이 발생하거나, 엄청난 시간이 지난 이후에 우연히 발견하게 될 것이다. 이를 방지하기 위해서는 로그를 관리하거나 모니터링 시스템을 도입하여 잠재적인 보안 위협을 조기에 식별하고 대응할 수 있는 운연 보안 정책이 필요하게 된 것이다.
운영 보안 정책은 위와 같이 인프라에서 발생되는 보안 사고를 어떻게 식별하고 대응할 것인지에 대한 명확한 지침을 수립하는 것이다.
장애 대응 프로세스 수립
보안 사고가 발생하였을 때는 이미 돌이킬 수 없는 상황일 것이다. 그렇다면, 이미 보안 사고가 발생하였을 때에는 어떻게 해야할까? 긴급한 상황에서 AWS 고객센터에 전화하거나 외부에 자문을 구하는 것은 결코 빠른 방법이 아닐 것이다. 이처럼, 보안 사고가 발생하였을 때를 가정한 장애 대응 프로세스를 수립한다면, 급박한 상황 속에서도 여유롭게 대처할 수 있을 것이다.
보안 사고가 발생하지 않는 것이 가장 중요한 것이지만, 보안 사고는 언제나 발생할 수 있다는 생각으로 접근하는 것이 더욱 안전한 인프라를 구축하는 과정 중 하나일 것이다.
참고 Document
- ISMS-P 인증기준 안내서
'Infrastructure' 카테고리의 다른 글
ALB를 이용해 EKS 단일 장애점 개선하기 (이론) (0) | 2024.04.14 |
---|---|
GitOps 뉴비의 Argo CD 여행기 (0) | 2024.02.04 |