[사진=게티이미지]
[사진=게티이미지]

기존 방화벽 중심의 네트워크 보안 원칙은 기본적으로 트래픽이 들어오는 것을 기본으로 하고 있다. 방화벽을 통해서 들어오면 안되는 접근을 하나하나 규칙으로 만들어 막아내는 구조다.

접근의 확인은 대부분 IP 주소를 기반으로 한다. IP 주소는 따로 로그인 과정을 거치지 않아도 특정 기기, 사람을 빠르고 안전하게 확인하기에 좋은 방법이다. 과거의 서버·데이터센터 중심의 서비스는 고정된 IP 주소를 할당했기 때문에 가능했던 일이다.

하지만 IP 주소가 쉴 새 없이 바뀌는 클라우드 환경에서는 다르다. 클라우드와 가상화, 컨테이너는 정해진 하드웨어도 없고 쉴 새 없이 트래픽에 대응하면서 그 위치나 크기, 접속하는 머신의 개수도 달라진다. 1초마다 새로 만들어지고, 사라지는 트래픽도 있다.

이를 세세하게 관리하는 것은 방화벽 중심의 보안 환경으로는 쉽지 않은 일이다. 이를 유연하게 권한 중심으로 관리하도록 하는 것이 ‘제로 트러스트’의 핵심이라 해도 과언이 아니다.

제로 트러스트는 ID와 역할, 권한을 중심으로 접근을 통제한다. ‘애플리케이션 A는 애플리케이션 B의 데이터베이스를 읽을 수 있다’는 식이다.

각 애플리케이션을 이루는 구성 요소들은 IP나 마이크로서비스의 구성이 바뀌고, 스케일아웃이 일어나도 모두 같은 권한을 갖게 된다. 해당 ID는 다른 일은 하지 못하고 주어진 곳으로 곧바로 연결되어서 정해진 일만 해낼 수 있다.

물론, ID 기반의 인프라 통제는 아직 일반적이지 않다. 사람에 대해서는 ID와 패스워드를 넣는 것이 가장 당연한 접근 방법이지만 기기 간, 서비스 간 접근은 ID를 넣지 않고 미리 IP를 넣어두는 것이 일반적이었다.

클라우드가 네트워크의 일부를 차지하고, 기존 온프레미스 환경과 하이브리드 클라우드를 구성하면서 가장 애를 먹는 부분도 이 인증 방법의 변화가 쉽지 않기 때문이다.

하시코프(HashiCorp)의 볼트(Vault)는 바로 이 부분을 자동화하고, 효과적으로 관리할 수 있도록 돕는 서비스다. 클라우드는 여러 서비스를 섞기도 하고 온프레미스와 결합되기도 한다. 이러한 멀티클라우드는 단순한 유행이 아니라 꼭 선택할 수밖에 없는 현실이다. 

하지만 각 클라우드는 모두 접근 방식이 다르다. 당장 많이 쓰는 아마존웹서비스(AWS), 마이크로소프트 애저(Azure), 구글클라우드(GCP)는 모두 그 체계가 다르고 서로 직접적인 연결이 쉽지 않다.

복잡하고 다양해지는 인프라, 촘촘한 연결과 권한 관리 방법이 핵심
연결의 종류는 더 복잡하고 다양해졌다. 사람의 로그인을 넘어 기계가, 다른 애플리케이션이 접근하기도 한다. 이게 수십 혹은 수백개가 서로 연결되는 것이 오늘날의 ‘클라우드’이자 ‘서비스’다. 

이들은 보통 IP 주소를 기반으로 연결된다. 연결의 피드가 늘어나면 그에 따라 연결되는 경우의 수도 기하급수적으로 증가한다. IP는 무한하지 않고 제한이 있다. 중간에 앱(App)이나 서비스 한 가지가 먹통이 되면 이를 통하는 모든 서비스가 멈출 수도 있다.

이 때문에 로드밸런서를 통해 문제를 해결하는데, 연결 규칙이 복잡해질수록 로드밸런서는 더 복잡해진다. 복잡성은 곧 응답 속도와 비용으로 이어진다.

하시코프 콘설(Consul)은 이 문제를 해결한다. 각 머신을 IP로 연결하는 대신 미리 지정한 서비스의 이름을 지정하는 구조다. 어떤 서비스에 연결한다고 입력만 하면 DNS를 찾고, 어떤 IP를 통해서 어디에 연결해야 하는지 관리가 쉽게 이뤄진다. 

연결하지 않아야 할 것들은 철저히 차단되고, 유연하게 환경이 달라지는 각 서비스는 변화를 실시간으로 반영해서 매끄럽게 이어지는 것인데, 기본적으로 모든 접근 방법이 막혀 있는 상황에서 규칙에 맞는 트래픽만 드나들 수 있어 별도의 방화벽을 두지 않아도 안전하게 방어할 수 있다.

하시코프의 솔루션들은 이렇게 서로 다른 접근 환경들을 통합해서 관리할 수 있도록 지원하고 있다. 일관된 원칙으로 여러 인프라와 컨테이너, 애플리케이션을 ID 기반의 인증 관리하도록 환경을 만들어준다.

하지만 단순히 어떤 서비스에 어떤 ID와 패스워드를 할당하고 끝나는 것이 아니다. 볼트의 보안 정책은 단순히 고정되어 있지 않다. 데이터베이스에 접근하려고 하면 역할을 설정하고, 딱 해당 데이터베이스에만 접근할 수 있는 권한을 부여해서 새로운 계정과 패스워드를 제공한다. 

권한의 유효 기간도 정해준다. 이 기간이 지나면 계정을 완전히 삭제하는 구조다. 이 기간은 자동으로 관리해주고, 쓰지 않는 접근 계정에 대해서는 자동으로 삭제도 가능해 관리되지 않는 권한이 남는 일이 없다. 

김종덕 하시코프 한국지사장
김종덕 하시코프 한국지사장

가령 관련 업무 담당자가 퇴사를 하거나 외부 개발팀과 함께 하는 프로젝트가 끝난 이후에 권한이 남아서 보안위협이 되는 경우가 적지 않은데, 추후에 따로 신경을 쓸 필요를 원천적으로 차단하는 것이다.

이 기능은 정기적으로 권한을 점검하고, 또 업데이트한다.

실제로도 오래된 네트워크 접근 권한과 키가 몇 년씩 남아서 지속적으로 위협이 되는 사례가 많다. 데이터베이스에 접근할 수 있는 인증서도 기간을 10년씩 잡아 두는 경우도 쉽게 볼 수 있다. 

너무 많은 피드와의 연결고리를 관리해야 하기에 매끄럽게 운영되기 위해서는 신뢰할 수 있다고 판단하는 연결과 계정에 필요 이상으로 많은 권한을 주는 경우도 있다. 

볼트는 각 권한, 인증서 들을 며칠, 몇 시간, 혹은 분 단위로 로테이션할 수 있다. 이는 권한에 대한 라이프 사이클 전체를 뒤집는 것으로, ‘권한을 명확하게 부여하고 관리하는 방법’에서 보안이 완성되는 셈이다.

이제, 달라진 환경에 따라 보안을 대하는 방법도 달라져야 한다. 하시코프의 서비스는 근본적으로 보안이 장벽이 되지 않도록 하는 데에 초점이 맞춰져 있다.

클라우드, 컨테이너, 마이크로서비스 등이 주목을 받고 있는 오늘날의 인프라 환경은 엄청난 변화를 겪고 있다. 물리적으로 개별 요소를 엮는 전통적인 방법으로는 더 이상 보안을 지켜낼 수 없다. 어쩌면 지속적인 공격 활동이 일어나는지 오랫동안 파악하지 못할 수도 있다.

보안과 권한 관리는 더 논리적으로 이뤄져야 한다. 복잡한 정책이 더 탄탄한 보안을 설명하는 것은 아니다. 정책과 구조는 단순하고 명확할수록 시스템은 더 안전해진다. 불안한 것은 클라우드가 아니라 새로운 인프라와 맞지 않는 보안 방법인 셈이다.

 

글 : 김 종 덕 / 한국지사장 / 하시코프

관련기사

저작권자 © ITBizNews 무단전재 및 재배포 금지