... 네트워크에서 인기
있는 새로운 유형의 가상화는
컨테이너 기반 가상화라고 합니다
컨테이너화라고도 하죠
그러나 이러한 유형의 가상화는 최종 사용자보다는
서버에 훨씬 더 중점을 둡니다.
이러한 유형의 가상화를 사용하면
운영 체제 커널이 여러 가상 머신에서
공유되지만 각 가상 머신의 사용자 공간은 고유하게
생성되고 관리됩니다.
컨테이너화는 호스트 운영 체제에
의해 적용되는 가상화의 유형으로 응용 프로그램을
위해 격리 실행 환경을 프로비전합니다
컨테이너화는
네 안 그러면
네 이제 컨테이너화는 일반적으로
Linux 서버와 함께 사용됩니다
이 컨테이너 기반 가상화의
몇 가지 예로는 Docker나 평행 , 평행 오픈VZ
프로젝트
이제 컨테이너화는 실제로 어떤 모습일까요?
글쎄요, 하드웨어가 있고 그
하드웨어 위에 호스트 OS(일반적으로 Linux)가
있고 컨테이너 관리자가 있습니다.
쿠베르네티스나 도커 같은 이름이었어요
이제 이 컨테이너 관리자를 사용하여 다양한 애플리케이션을
포함하는 다양한 컨테이너를 만들겠습니다.
이 경우에는 세 개의 컨테이너가 있습니다.
첫 번째 환경이 있습니다 호스트 os의
커널에 기반하고 있는 것입니다 이 예제에서는 사용되고
있는 Linux 시스템입니다
컨테이너 1이 Linnux를 실행하고 있고 몇
가지 응용 프로그램을 갖고 있어요
2번 컨테이너도 똑같이 할 수 있고 3번
컨테이너도 똑같이 할 수 있어요
세 개의 컨테이너 모두 동일한 호스트 운영 체제
파일을 공유하고 있기 때문입니다.
가상 컴퓨터를 이용한 퓨어
가상화보다 리소스가 훨씬 적게 들죠
가상화에 대해 이야기한 것처럼 말이죠.
대신 개별 가상 컴퓨터를 사용한다면 각각은
각각의 운영 체제 복사본이 필요합니다
그리고 이는 각각 8~10gb가 될 수 있습니다.
하지만 컨테이너는
같은 운영 체제를 공유할 수 있어요
컨테이너화는 저장소 베이스를 훨씬 덜 사용하고 프로세싱
파워도 훨씬 덜 차지합니다
이게 바로 컨테이너를 사용하는
진짜 장점입니다
이제 이러한 컨테이너는 논리적으로 격리되어 있기 때문입니다.
서로 호환이 안 돼요
네 컨테이너 두 개를 이야기 하고 싶다면 가상 네트워크를
통해 연결해야 합니다. 그리고 라우팅과 스위칭을 제대로
해야 합니다. 이 두 개가 이야기 할
수 있습니다.
네 기본적으로 서로 대화할 방법이 없습니다
보안 관점에서 이건 훌륭한 점입니다
세분화가 가능하니까요 ?
컨테이너를 다룰 때 주의할
점이 있어요
네 만약 공격자가 호스트 OS를 타협한다면,
예를 들어 제가 방금 얘기하던 Linux
운영 체제요 무슨 일이 일어날까요?
이제 이 공격은 호스팅되는 모든 컨테이너에서 하나의
운영 체제를 사용하기 때문에 데이터의 모든
컨테이너에 액세스할 수 있습니다.
컨테이너를 사용할 때 가장
취약한 것 중 하나예요
50개의 서버가 동작하는 컨테이너
시스템을 가질 수도 있어요
그리고 이들 각각은 컨테이너화를 사용하여
서로 다른 서버와 서비스를 실행하고 있습니다.
하지만 Linux 운영 체제 하의 한 서버에
접근할 수 있다면 호스트 서버 50개 모두와
그 모든 데이터에 엑세스 권한을 갖게 됩니다
고려할 또 다른 위험은 컨테이너와 다른
가상 컴퓨터가 어떻게 호스트될 것인가 하는 겁니다
우리가 가상화와 클라우드 컴퓨팅에 의존하기 시작하면
데이터가 다른 조직의 데이터와 같은
물리적 서버에 호스팅되어 있다는 것을 인식하는
것이 매우 중요해집니다
그렇게 하면 시스템 보안에 몇 가지 취약점이
발생하게 됩니다.
첫 번째 다른 조직이 하던 작업 때문에 물리적
서버가 중단되면 같은 서버에
있는 모든 조직에
영향을 미칠 수 있습니다
마찬가지로, 한 조직이 가상 환경의 보안을
유지하지 않고 해당 물리적 ​​서버에서
호스팅되는 경우 공격자가 이를
활용하여 동일한 서버에서 호스팅되는 다른
모든 조직에 해를 끼칠 가능성이 있습니다.
네트워크를 다른 네트워크와 연결할 때
우려되는 게 있는 것처럼요 같은 물리적
서버에서 여러 조직의 데이터를 호스팅할
때도 우려되죠
네 서버에 호스트되고 있는 가상 머신에 대한
사용자 엑세스를 적절히 구성, 관리,
감사하는 것은 중요합니다
네 또한 가상 컴퓨터에 최신 패치, 바이러스
백신 인미와이어, 액세스 제어가 제대로인지
확인해야 합니다
물리적 서버 리소스가
과부하되는 위험을 최소화하려면 적절한
장애 조치, 중복성 및 탄력성을 갖춘
가상 머신을 설정하는 것이 항상 좋습니다.
네트워크 성능과 물리적 서버
리소스를 모니터링함으로써 여러
물리적 컴퓨터에 걸쳐 부하 분산을
할 수 있게 됩니다 하나의 물리적 컴퓨터에
의존하는 대신에요 ?
공격자가 이용할 수 있는 또 다른
취약점은 모든 가상 컴퓨터에 걸쳐
같은 유형의 하이퍼바이저를 사용할 때입니다
예를 들어, 우리 조직이 VMware의 ESXi
하이퍼바이저에만 의존하고 해당 하이퍼바이저에
대한 새로운 공격이 생성된다면 공격자는 이를
우리 시스템 전체에 사용할 수 있습니다.
따라서 우리 서버 중 하나에서 성공하면 나머지
서버에서도 시도할 가능성이 높습니다.
모든 서버가 같은 플랫폼을 사용한다면,
이 경우엔 VMware ESXi죠 이 취약점은
조직 전체에 걸쳐 활용될 수 있습니다
네 여기서 문제는 다시 말씀드리지만
다중 하이퍼바이저 플랫폼을 사용할
경우 지원 비용과 훈련 요구 사항도
증가합니다 ???
이런 이유로 대부분의 기업이 단일 플랫폼을
사용하기로 선택합니다 하지만 적어도 그렇게
할 때 측정된 위험 결정을 하죠
위험 요소를 줄이기 위해 조직은 적절한 환경
설정을 활용해야 합니다 하이퍼바이저가
항상 최신 패치 상태로 보안 관리
인터페이스를 통해 접근 가능하고 밀접한 액세스
제어를 통해야만 합니다
자 이것들은 여러분의 시스템을 가상화하고
온-프레미스나 클라우드 기반 솔루션으로
옮길 때 고려해야 할 것들입니다.
먼저 가상화하실 건가요?
그렇다면 기존 가상 머신을 사용할 예정입니까, 아니면
컨테이너화를 사용할 예정입니까?
위험과 보상이 뭐가 다르죠?
당신이해야 할 균형 잡힌 행동이 있습니다.
이는 비즈니스 결정이자
사이버 보안 결정이기도 합니다.
그래서 여러분은 이런 것들을 측정하고
여러분의 조직과 특정 유스 케이스에 어떤 것을 선택하는
게 최선인지 결정해야 합니다