컨테이너 시대의 네트워크 보안
오랫동안 이 업계에 종사하면서 얻을 수 있는 좋은 점 중 하나는 우리가 어떻게 하는지 관찰할 수 있다는 것입니다. 네트워크 보안 데이터 센터의 트렌드는 진화하고 있으며 일반적인 패턴과 직관을 기반으로 향후 미래를 어느 정도 예측합니다.
네트워크 및 보안 경계가 변화하고 있습니다
15년 전만 해도 데이터 센터의 네트워크 보안은 매우 간단했습니다.Layer 2 프로토콜은 업계 최고의 프로토콜이었으며 방화벽은 엣지에 위치하여 인터넷이나 WAN 연결을 보호할 수 있었습니다.특정 애플리케이션의 서버가 모두 동일한 랙에 연결되어 있었고 인프라의 여러 부분 간의 경계가 잘 정의되어 있었습니다.이를 세분화하는 것은 매우 간단했습니다.

몇 년 후, 이러한 모든 서버를 통합하고 연결을 단순화하기 위해 섀시 및 블레이드 서버가 서서히 주목을 받게 되면서 서버 관리 담당자와 네트워크 및 보안 담당자 간의 네트워크 및 보안 경계가 처음으로 바뀌었습니다.이 섀시의 연결 모듈은 누가 담당하며, 보안 어플라이언스는 어디에 설치해야 할까요?대부분의 경우 네트워크 모듈은 섀시에서 가장 덜 중요한 모듈이었기 때문에 나머지 네트워크 및 보안 인프라에 연결하는 데 항상 어려움을 겪었습니다.

하지만 이 전투는 새로운 기술에 의해 뒤집혔습니다.VM웨어의 ESX 하이퍼바이저 동일한 하드웨어 서버를 공유하여 많은 가상 서버를 실행할 수 있는 기능을 빠르게 대중화했습니다.결과적으로 이러한 가상 서버를 서로 연결하기 위해 네트워크는 다시 한 번 다른 위치, 즉 하이퍼바이저 내부로 이동해야 했습니다.Shifts는 처음에는 아주 단순한 가상 스위치로 시작했지만, 레이어 3 서비스로 빠르게 확장되었고, 결국에는 보안까지 확대되었습니다.

데이터 센터 인프라의 진화에도 불구하고 퍼블릭 클라우드는 완전히 자동화되고 매우 민첩한 다양한 서비스를 기업 시장에 제공하기 시작했습니다.개발자들이 인프라 관리의 복잡성을 다루지 않고도 확장 가능하고 가용성이 높은 서비스를 제공할 수 있는 이 새로운 추상화된 인프라의 가치를 이해하는 데는 그리 오랜 시간이 걸리지 않았습니다.

몇 년 전, 가볍고 휴대가 간편하며 몇 초 만에 회전하거나 분해할 수 있는 새로운 유형의 워크로드가 등장했습니다. 바로 컨테이너입니다.컨테이너가 확산되면서 개발자들은 외부 네트워크 및 보안 인프라에 의존하지 않고도 애플리케이션을 확장 및 축소할 수 있도록 네트워크와 함께 이러한 컴퓨팅 리소스를 오케스트레이션할 필요가 있다는 사실을 금세 깨달았습니다.컨테이너 클러스터는 컴퓨팅, 네트워크 및 보안이 뒤섞여 네트워크 보안 경계를 다시 한 번 변화시키는 새로운 인프라 요소입니다.

그럼 15년 동안 우리는 무엇을 배웠을까요?이 모든 진화의 공통적인 패턴은 무엇일까요?
- 개발자들은 애플리케이션을 개발하고 테스트할 때 유연성을 높이기 위해 항상 한계를 뛰어넘기 때문에 네트워크 보안 경계가 컴퓨팅 계층으로 점점 더 이동하고 있습니다.
- 네트워크 및 보안 팀은 게임에 늦기 때문에 기껏해야 선택 사항이나 솔루션을 추천할 수 있지만 대부분의 경우 애플리케이션 또는 클라우드 팀에서 결정한 내용을 상속합니다.
- 보안을 염두에 두고 설계하지 않은 경우 인프라 보안은 더 어려우며, 나중에 추가할 때 일반적으로 추가 수준의 복잡성을 초래합니다.
컨테이너의 문제점은 무엇일까요?
네트워크가 점점 더 소프트웨어 및 컴퓨팅 계층으로 이동하는 이러한 추세에서 컨테이너와 컨테이너 클러스터도 예외는 아닙니다.앞서 설명했듯이 이러한 현상은 오랫동안 지속되어 왔지만, 네트워크와 보안 팀이 이러한 추세를 뒤집지 않는다면 변할 이유가 없습니다.
네트워크 및 보안 관점에서 볼 때 컨테이너는 새롭거나 알려지지 않은 것을 도입하지 않고 우리가 이미 알고 있는 것 (IP, 서브넷, DHCP/DNS, 영역, 세그먼트, 캡슐화, NAT, 방화벽 또는 로드 밸런서) 을 결합할 뿐입니다. 하지만 모든 것이 OS 자체에 존재하며, 이것이 바로 근본적인 문제 중 하나입니다.
IT 팀은 경계, 책임, 소유권을 좋아하며 이는 컨테이너 클러스터의 운영 방식과는 정반대입니다.이들은 자급자족할 수 있고 오케스트레이션되며 외부 세계로부터 노출되지 않도록 설계되었습니다.한편으로는 새 인프라를 연결하고 실행하는 데 광범위한 설계 세션이 필요하지 않다는 것은 좋은 소식입니다.반면에 클러스터 내에서 어떤 일이 벌어지고 있는지 모른다면 애플리케이션 흐름의 보안을 어떻게 유지할 수 있을지에 대한 실질적인 보안 문제가 생길 수 있습니다.
이를 변경하려면 어떻게 해야 합니까?
이상적으로는 개발자가 코드를 개발하고 다른 팀에 넘겨서 코드를 프로덕션 환경으로 푸시하는 것이 좋습니다. 확장성과 가용성을 고려하여 설계된 인프라에서 철저하게 테스트되고 자동화된 방식으로 스택의 모든 계층에서 보안을 최우선으로 하는 인프라에서 말입니다.
글쎄요, 많은 조직에서 아직 그 시점에 도달하지 못한 것 같습니다.DevOps 팀은 개발 단계에서 동료들과 연결되어 있지만, 네트워크 및 보안 팀이 항상 그런 것은 아닙니다. 컨테이너를 시장에서 파괴적인 기술로 보려면 상황을 바꿔야 합니다.
네트워크 및 보안 팀은 인프라가 무엇을 전송하고 보호하는지 이해하는 데 더 많은 시간을 할애해야 합니다.CI/CD 파이프라인이 무엇인지 알아보고 애플리케이션 내에서 사물이 어떻게 구축되는지에 대한 의견을 가져야 합니다. 그래야 보안 메커니즘을 조정하여 애플리케이션이 달성할 수 없는 것을 보완할 수 있습니다.이를 위해서는 새로운 기술을 배우고, 차이점을 받아들이고, 처음에는 그다지 좋은 아이디어는 아닌 것 같지만 실제로는 매우 효율적일 수 있는 새로운 개념에 대해 비판적이면서도 열린 마음을 가져야 합니다.
컨테이너는 IT 부서의 모든 부서에 있는 사람들이 서로에게서 배울 수 있도록 하는 기술의 완벽한 예입니다.
그렇지 않으면 재앙의 지름길입니다.네트워킹이 없는 컨테이너 클러스터는 없으며, 프로덕션 환경에서 보안이 없는 컨테이너화된 애플리케이션도 없으며, 세그멘테이션이 없는 공유 인프라도 없습니다.네트워크 및 보안 팀은 이 기회를 활용하여 새로운 작업 방식을 배우고, 소프트웨어에서 작업을 수행하는 방법을 이해하는 데 더 많은 시간을 할애하고, 애플리케이션 계층에 서비스를 제공할 단순하고 안전하며 안정적인 설계를 제안하여 네트워크 및 보안 계층에 대한 소유권을 가져야 합니다.
어디서부터 시작해야 할까요?
일률적인 해답이 될 수 있는 마법의 총알이나 비밀 무기는 분명히 없습니다.하지만 팀을 성공으로 이끄는 데 도움이 될 수 있는 몇 가지 아이디어가 있습니다.
당신의 적들에 대해 알아보세요: 개발자와 DevOps 팀은 네트워크 및 보안 팀의 적이 아닙니다.이들은 모두 같은 목적, 즉 비즈니스를 담당하고 있습니다.하지만 다른 팀이 무엇을 하는지 알지 못하면 그룹으로서 더 나은 사람이 되기 위해 무엇을 할 수 있는지 알기가 더 어려워집니다.컨테이너 클러스터와 같은 복잡한 인프라를 성공적으로 구축하려면 특히 보안과 관련하여 서로 얽힌 의사 결정이 필요합니다.
지식 습득: 모든 것을 아는 사람은 없지만 누구나 무엇이든 배울 수 있습니다.인프라의 일부 영역에서는 가벼워도 괜찮지만, 작업 방식이나 수행 방법을 배우기를 꺼리는 것은 절대 좋지 않습니다.컨테이너, 오케스트레이션 플랫폼, 서비스 메쉬는 접근하기 쉽지 않습니다.새로운 용어나 개념에 익숙해지려면 시간이 걸리지만, 이해의 한계를 넘고 그 지식을 행동으로 옮길 수 있다면 큰 보람을 느낄 수 있습니다.
네트워크는 네트워크이며 보안은 범용적입니다. 컨테이너 클러스터는 서로 통신하는 (컨테이너와 연결된) IP 주소의 모음이라는 점을 기억하세요.또한 애플리케이션은 외부에 노출되지 않고 컨테이너 클러스터에 위치하도록 설계되지 않았으므로 세상에 문을 열겠다는 개념도 생겨날 것입니다.네트워크 및 보안 엔지니어는 클러스터의 한쪽 끝에서 다른 쪽 끝으로 이동하는 흐름은 물론 이 클러스터에서 패킷을 주고 받는 작업도 담당합니다.컨테이너 클러스터 내에서 무언가 손상된 경우 네트워크 보안 팀은 보안 침해 확산을 방지하기 위해 모니터링, 대응 및 대응할 책임이 있습니다.예, 컨테이너 클러스터는 네트워크와 보안에 대한 접근 방식이 다르지만 여전히 네트워크로 구분하고 보안을 유지해야 합니다.
진실을 찾아라: 현상 유지를 이해하고 도전하는 것이 중요합니다.생각했던 대로 일이 잘 풀리지 않아도 괜찮습니다.즉, 팀으로서 총체적으로 진실을 찾고 합의해야 한다는 뜻입니다.기술을 잘 이해하면 배포, 보안 및 문제 해결이 더 쉽습니다.
컨테이너, 오케스트레이션 플랫폼 및 서비스 메쉬는 오늘날 IT 조직에서 많은 관심을 받고 있습니다. 따라서 네트워크 및 보안 엔지니어로서 이러한 기술의 개념을 이해하는 것이 매우 중요합니다.어떤 개념은 매우 익숙하게 들리고 어떤 개념은 매우 이상하게 들릴 수도 있습니다. 하지만 보안을 제대로 유지하려면 실제로 어떻게 작동하는지 알아야 합니다!
컨테이너 페이지를 확인해 보세요 컨테이너 세분화에 Illumio를 활용하는 방법에 대한 자세한 내용은 여기를 참조하십시오.