[부트캠프 - 29일차] 1/30.금 - Security

developowl·2026년 1월 31일

부트캠프

목록 보기
20/29
post-thumbnail

Network Security

보안의 개념과 정의

보안은 안전을 지키는 일

  • 위험이 생기거나 사고가 날 염려없이 편안하고 온전한 상태를 지키는 모든 활동

정보 보안

  • 다양한 위협으로부터 보안을 보호하는 것
  • 생산자와 소비자 입장에서 구분해 보았을 때 외부에서 정보가 저장된 시스템을 사용하지 못하게 하거나 유출 시도에 맞서 적절히 보호 및 운영하기 위한 작업과 정보가 내부에서 유출되거나 남용되는 것을 막기 위한 두 가지 분야

보안의 필수 요소

  • 기밀성

    • 인가되지 않은 사용자가 정보를 보지 못하게 하는 모든 작업으로 대표적인 작업이 암호화 작업
  • 무결성

    • 정확하고 완전한 정보 유지에 필요한 모든 작업을 의미
    • MD5, SHA 와 같은 해시 함수를 이용해 변경 여부를 파악하는 것
  • 가용성

    • 정보가 필요할 때 접근을 허락하는 일련의 작업
  • 보안의 3대 요소 외에 Authenticity(진정성), Accountability(책임성), Non-Repudiation(부인 방지), Reliability(신뢰성) 유지를 정보 보안 활동 중 하나로 정의

클라우드 자산 관리 와 보호

1) 기존 IT 와의 차이점

  • 클라우드 자산 관리와 보호에서 한 가지 차이는 클라우드 환경의 물리적 자산과 보호에 대해서는 일반적으로 걱정할 필요가 없음
  • 자산 태그, 안티테일링, 슬래브 간 장벽, 데이터 센터 창, 카메라, 기타 물리적 보안과 물리적 자산 추적 통제 배치를 쉽게 아웃 소싱 할 수 있음
  • 프로비저닝한 클라우드 자산 구축 프로세스에 IT 그룹이 참여

2)클라우드 자산 유형

컴퓨터 자산

  • 가상 머신
    • 클라우드 가상 머신이 온프레미스 가상 머신과는 다른데 클라우드 환경에서는 물리적 시스템을 다른 클라우드 고객과 공유
    • 동일한 물리적 시스템을 사용하는 다른 고객들이 모든 프로세서 시간, 네트워크 대역폭, 스토리지 대역폭을 모두 소진 시킬 수 있음 - 불편한 이웃 문제

하드웨어 공유 문제에서 발생할 수 있는 위험

  • 하이퍼바이저 브레이크아웃

    • 가상 머신 이스케이프로 공격
    • 가상 머신의 공격자가 하이퍼바이저를 위반하고 물리적 시스템을 완전히 통제
    • 하이퍼바이저는 가상 시스템의 입력을 받지 않도록 설계되었기 때문에 공격하기가 쉽지 않음
    • 가상화된 스토리지나 네트워크 인터페이스에서 취약점을 찾아야 함
    • 백채널 공격은 가상 머신 뒤의 인프라스트럭쳐를 공격하는 것
  • 사이드 채널 공격

    • 실제 시스템에서 코드를 실행 할 때 발생하는 의도적인 부작용을 기반으로 함
    • 동일한 하드웨어에서 실행 중 일 때 공격자는 프로세서 명령이나 캐시 엑세스 타이밍을 유심히 관찰해서 가상 머신의 중요한 정보를 추론할 수 있음
    • 스펙터 와 멜트다운이 작동하는 방식
    • 동일한 하드웨어서 실행 중 일 때 공격자는 프로세서 명령이나 캐시 엑세스 타이밍을 유심히 관찰함으로써 가상 머신의 중요한 정보(암호 나 암호화 키)를 추론

가상 머신을 관리할 때 필요한 항목

  • 운영체제 이름과 버전

    • 플랫폼이나 미들웨어 소프트웨어 버전 과 이름: 가상 머신 위에 설치한 소프트웨어를 추적
    • 가상 머신 상의 사용자 지정 애플리케이션 코드
    • 가상 머신 IP 주소 와 가상 머신이 속한 프라이빗 클라우드 네트워크
    • 운영체제에 접근이 허용된 사용자, 운영체제와 별도로 플랫폼/미들웨어/애플리케이션에 접근이 허용된 사용
    • 새로운 가상 머신을 생성하려고 복사되는 이미지나 템플릿도 관리
    • 일부 클라우드 제공자들은 베어메탈(가상화를 사용하지 않고 하드웨어에 운영체제를 직접 설치) 시스템도 제공
  • 컨테이너

    • 컨테이너는 자신이 호스팅된 가상 머신의 커널을 사용하며 운영체제 와 함께 제공되는 기타 소프트웨어는 없을 수 있음
    • 가상 머신을 실행하는 하이퍼바이저는 공격 받는 범위가 적은 반면 모든 컨테이너에서 사용하는 공유 커널은 공격받는 범위가 훨신 큼
    • 민감한 데이터가 처리되는 컨테이너 와 동일한 서버에 인터넷 사용자가 자신의 코드를 실행 할 수 있는 컨테이너가 같이 있으면 문제를 발생 시킬 수 있음
    • 컨테이너 분리는 시간이 지남에 따라 발전하고 있어서 최근에는 seccomp 와 같은 기술을 사용하는 시스템 호출을 점점 더 적게 제한 할 수 있는 기술들이 등장

기본 컨테이너 모델

  • 컨테이너는 기능 수행에 필요한 최소 운영체제 구성 요소를 보유
  • 각 컨테이너는 단일 기능만 수행해야 함
  • 컨테이너는 불변(컨테이너는 일부 다른 구성 요소를 변경할 수 있음 - 스토리지 서비스에 데이터 쓰기, 스토리지는 컨테이너 자체와는 분리되어 운영)
  • 컨테이너는 자신의 코드를 업데이트 하지 않도록 해야 함 - 컨테이너를 업데이트하는 것 보다는 삭제하고 업데이트된 코드가 새로운 컨테이너를 만들도록 만드는 것이 좋습니다.

컨테이너 오케스트레이션 시스템

  • 컨테이너를 묶어 더 높은 수준의 기능을 수행하고 이렇게 묶은 것을 여러 개 복사하고 해당 복사본에 로드밸런싱을 수행하고 다른 구성 요소 간 통신을 쉽게 제공해주는 시스템
  • 쿠버네티스 배포에서 주요 자산은 클러스터
  • 쿠버네티스 클러스터는 쿠버네티스 클러스터에 대한 접근을 통제하고 소프트웨어를 최신 상태로 유지하기 위한 것인데 취약점은 쿠버네티스에서 실행 중인 모든 파드를 손상시킬 수 있습니다.
  • 쿠버네티스 파드는 하나 이상의 컨테이너를 포함하는데 커맨드라인이나 API를 사용해 파드 와 파드를 구성하는 컨테이너를 추적 관리할 수 있어야 합니다.

컨테이너 이미지를 관리

  • 서비스형 애플리케이션 플랫폼
  • 서비스형 애플리케이션 플랫폼(Cloud Foundry, AWS의 Elastic Beanstalk 등)을 사용하는 것은 직접 가상 머신을 프로비저닝 하지 않고도 코드를 배포
  • 이러한 서비스는 플랫폼의 일부로 데이터베이스 와 같은 많은 자원을 제공
  • 배포는 작성한 코드 와 aPaaS에서 프로비저닝된 데이터베이스로 구성될 수 있는데 데이터베이스를 생성할 때 배포가 시작되고 삭제할 때 중지 되지만 실제로 VM 이나 컨테이너를 만들어 보관할 필요가 없는데 이는 클라우드 제공자가 수행해야 할 일
  • 운영 중인 컴퓨터, 네트워크, 스토리지 자산을 다른 클라우드 고객으로부터 분리해 유지하는 격리 모델을 고려
  • 배포를 생성할 때 취약점 및 구성 관리를 위해서는 배포 자체 와 배포 자체의 종속성 모두를 추적해야 합니다.
    기본 컴퓨팅 리소스나 스토리지 리소스를 목록화 필요가 없음

서버리스

  • 필요한 경우에만 코드를 실행할 수 있는 방법
  • AWS의 lambda, Azure Functions, Google Cloud Functions, IBM Cloud Functions 등
  • 서비스가 요청되기 전까지 실행되지 않음
  • 오랫동안 실행되는 인스턴스가 없기 때문에 해당 이미지로부터 생성된 이미지 와 인스턴스 두 개를 모두 추적 관리할 필요가 없음
  • 코드 취약점을 관리하고 기능적 접근만 통제할 수 있도록 배포만 목록화하면 됨

스토리지 자산

  • 영구적 데이터 저장을 위한 자산

  • 블록 스토리지

    • 하드 드라이브의 클라우드 버전
    • 서버에 작은 블록(16KB)으로 데이터를 사용할 수 있게 해줌
    • AWS의 Elastic Block Storage, Azure 의 Virtual Disk, Google 의 Persistent Disks 등
    • 블록 스토리지에서의 보안 문제는 접근 관리로 블록 스토리지에 직접 접근할 수 있는 공격자는 해당 스토리지를 사용하는 서버가 가진 운영체제 수준의 통제를 우회할 수 있음
  • 파일 스토리지

    • 데이터를 디렉토리 와 파일로 구성
    • AWS의 Elastic File System, Azure Files, Google Cloud Storage FUSE 등
    • 접근 관리를 해주어야 한느데 파일 시스템 자체는 파일에 대한 접근 통제 목록(ACL - Access Control List)을 제공하지만 운영체제 자체에서 수행됨
  • 객체 스토리지

    • 스토리지 측면에서 객체는 객체에 대한 메타데이터가 포함된 바이트 스트림이라는 점에서 Flat File 과 유사
  • Flat File 과 차이점

    • 파일은 디렉토리 내에 디렉토리가 있을 수 있는 디렉토리에 저장되지만 객체는 버킷 내부에 다른 레벨의 구조 없이 모두 함께 버킷에 던져집니다.
  • 객체와 관련한 사용자 지정 메타데이터가 존재할 수 있는데 파일 시스템은 생성자, 생성 시간, 권한과 같은 파일 시스템이 제공하는 메타데이터 유형으로 제한

  • 객체는 생성 후 변경할 수 없는데 업데이트하려면 객체를 새 객체로 변경

  • 객체 스토리지는 객체 스토리지 시스템에서 자체적으로 객체별 접근 통제를 제공

  • 대부분의 객체 스토리지는 버킷에 대한 높은 수준의 정책과 특정 객체에 대한 개별 ACL 과 같은 다양한 접근 통제 계층을 제공

  • AWS의 S3, Azure의 Blob Storage, Google Cloud Storage가 대표적인 서비스

이미지

  • 이미지에 비밀번호와 같은 중요한 정보를 저장하지 않아야 합니다.
  • 공격자가 이미지를 들여다보고 자격증명을 꺼내 사용할 수 없도록 이미지에 대한 접근을 통제하는 것이 바람직

클라우드 데이터베이스

  • 데이터베이스 계층에서 접근 통제를 제공할 수 있고 데이터에 대해서 좀 더 세부적으로 통제 가능

Message Queue

  • 소량의 데이터(256KB)를 다른 구성 요소에 전송할 수 있게 해주는 스토리지
  • publisher / subscriber 모델로 서로 전송
  • 개인 식별 가능 정보와 같은 중요한 데이터가 포함될 수 있기 때문에 메시지 큐에 대한 접근을 보호하는 것이 중요
  • 이벤트 소싱 패턴을 이용하는 경우 메시지에서 지시를 받는 경우 메시지 큐에 쓰기 권한을 가진 공격자가 원치 않는 작업을 수행하게 만들 수 있음
  • 되도록이면 암호화 키나 암호와 같은 시크릿은 메시지 큐를 이용해서 전송되지 않도록 하는 것이 좋음

구성 스토리지

  • 많은 경우 클라우드의 배포는 코드와 구성을 통합
  • 동일한 코드는 대개 애플리케이션의 다른 인스턴스 간에 공유되면 인스턴스는 다른 구성을 사용해 다른 영역이나 지역에 배치
  • 구성 스토리지를 사용하면 이 구성 정보를 코드와는 별개로 보관할 수 있음
  • HashCorp Consul, AWS 시스템 관리 파라미터 스토어가 있음

시크릿 구성 스토리지

  • 다른 시스템에 접근하는데 사용할 수 있는 시크릿 데이터를 보관하도록 특별히 설계된 구성 스토리지의 하위 집합
  • 코드와 구성을 분리하는 것이 좋은 습관인 것처럼 시크릿에 대한 접근과 다른 구성 데이터를 분리하는 것도 좋은 방법
  • 시크릿은 제한된 사람만이 볼 수 있어야 함
  • HashCorp Valut, Keywhiz, 쿠버네티스 시크릿, AWS 시크릿 매니저 등이 있음

암호키 스토리지

  • 암호키는 데이터 암호화와 복호화에 사용되는 시크릿의 구체적 유형
  • 특수 목적 서비스(마스터 키를 노출하지 않고 랩과 언랩 작업을 수행)에 사용하면 많은 이점이 있음

인증서 스토리지

  • 사용자의 개인키를 안전하게 저장
  • 사용 중인 인증서 중 하나가 만료될 때 경고를 해줄 수 있음

소스 코드 스토리지와 배포 파이프라인

  • 공격자가 배포 중 소스 코드나 일부 아티팩트를 수정하지 못하도록 해야 함

네트워크 자산

  • 가상 프라이빗 클라우드와 서브넷
  • 어떤 서버에 대해 누구를 허용할 것인지에 대한 경계를 그리는 가장 높은 수준의 방법
  • VPC와 서브넷은 목록화 해서 잘 관리해야 함

콘텐츠 전송 네트워크

  • CDN(Content Delivery Network)을 사용하면 로우 레이턴시 이점을 이용해서 글로벌하게 콘텐츠를 배포할 수 있음
  • CDN은 원본을 가지고 있다가 외부에서 요청을 하면 가까운 데이터센터에 캐싱을 해두었다가 다음 요청부터는 가까운 곳에서 다운로드 받도록 해주는 서비스
  • CDN 정보는 자산 내에서 민감하지 않지만 CDN에 접근할 수 있는 공격자는 악성 코드, 비트코인 채굴자 또는 DDoS 공격 코드로 콘텐츠에 해를 가할 수 있음

DNS 레코드

  • DNS 레코드와 이를 등록해두는데 사용하는 레지스터를 추적해야 함
  • TLS(Transport Layer Security) 연결은 스푸핑에 대한 보호를 제공하지만, 이 쓰기 때문에 일부 브라우저는 TLS로 기본 설정이 되어 있지 않음
  • DNS 레코드 스푸핑은 누군가를 정상 사이트가 아닌 공격자의 사이트로 가게 만들고 그 다음 공격자는 공격자 사이트에 접속한 사람들에게서 자격 증명을 훔치고 정상 사이트에 접속하는 사람들의 데이터를 읽을 수 있고 변조도 가능
  • 보안 문제 외에도 DNS 도메인 중 하나를 추적 관리하지 않거나 갱신하는 것을 잊는다면 해당 서비스가 중지됨

TLS 인증서

  • TLS 인증서는 암호화 원칙에 따라 적용되는데 웹 사이트를 스푸핑 하는 공격자에 대한 최고의 방어선
    • IP, ARP, DNS, Email 스푸핑 등
  • 관리해야 하는 이유
    • 특정한 암호 알고리즘이 취약한 것으로 판명됙나 인증기관에서 보안 문제가 있는 경우 전체 등급의 인증서가 재발급되어야 함
    • 인증서 갱신을 하지 않으면 서비스가 중단될 수 있음

로드밸런서, 역방향 프록시, 웹 애플리케이션 방화벽

  • 트래픽을 목적지에 전송할 수 있도록 DNS 레코드는 목적지 네트워크 자산 중 하나를 가리킴
  • 적절한 접근 통제를 위해 이런 자산들을 목록화 해서 잘 관리해야 함

ID와 접근 관리

  • ID와 IAM(Identity and Access Management - 접근 관리)는 가장 중요한 보안 통제 수단
  • 웹 애플리케이션 관련 위반에서 자격증명의 분실이나 도난은 수년간 공격자들이 가장 많이 사용하는 도구
  • ID와 접근 관리의 차이점
    • 각각의 개체(사용자, 관리자, 시스템 등)는 ID가 필요하고 이러한 ID는 확인하는 과정을 인증(Authentication)이라고 함
  • 접근 관리는 개체가 수행해야 할 작업들만 확실히 수행하는 것으로 개체가 가져야 할 접근 권한을 확인하는 프로세스를 인가(Authorization)

ID와 접근에 대한 생명주기

  • 대부분 IAM을 인증과 인가를 수행하는 것으로만 착각
  • 실제로는 인증과 인가는 매우 중요하지만 ID 생명주기 전후에 일어나는 다른 일도 존재
  • 요청하는 사람이 ID를 가지고 있는데 이 ID가 어떻게 만들어진 것인가 또는 이 ID를 허용된 사람들 목록에 누가 넣은 것인가 하는 문제 등의 작업을 거쳐야 하는 경우가 있는데 대다수의 조직이 이를 잘 처리하지 못함
  • 신분 확인 요청은 관리자에게 전화를 걸거나 메시지를 보냄으로써 수행된다
  • 관리자는 신원을 기록하지 않고 승인하고 생성
  • 소규모 조직에서는 문제가 없지만 누군가 접근을 요청하는 시기, 요청자가 인증된 방법, 새로운 ID, 접근을 승인한 사람을 기록하려면 시스템이 필요한 경우가 많음
  • 생명주기의 백엔드도 중요
  • 사용자의 ID 와 접근이 여전히 필요한지 자주 자동으로 확인할 수 있는 시스템이 필요
  • 그 사람이 회사를 떠났거나 부서를 옮겼을 때 더 이상 접근할 수 없어야 하기 때문
  • IAM 생명주기
    • 시작(사용자나 개체가 요청을 만듦) → 요청(ID 생성이나 삭제, 접근 권한 부여, 제거) → 승인을 위해서 발송 → 승인(자동으로 처리되기도 하지만 한 두명이 승인) → 생성, 삭제, 권한 부여, 제거 발송 → ID 생성/제거/리소스접근권한부여/제거 → 정상 상태 진입 → 사용(인증과 인가가 발생) → 정의된 주기로 재검증, 조직이동, 조직 분리 등이 발생할 때 재검증 → 재검증(고용 관계 지속, 계속 필요한지를 검증) → ID 삭제나 권한 제거 요청 → 요청

클라우드 자격 증명

  • 대다수의 클라우드 사업자는 클라우드 서비스 접근을 위한 IAM 서비스를 제공
  • 클라우드 제공자가 제공하는 모든 서비스에 접근할 수 있게 하는 ID 접근과 함께 조직 내의 클라우드 관리자 ID를 중앙에서 통합 관리할 수 있게 지원
  • IAM 서비스를 사용하는 것은 관리에 큰 도움을 줄 수 있음
  • CSP의 ID 서비스
    • AWS: Amazon IAM
    • Azure: Azure Active Directory B2C
    • GCP: Cloud Identity

Multi Factor Authentication

  • 멀티 팩터 인증은 비밀번호 강도가 약하거나 도난된 자격증명을 사용해서 비인가 접근을 방지하는 가장 좋은 방법
  • 인증 요소
    • 비밀번호
    • 접근용 배지나 휴대폰과 같은 것으로 쉽게 복사할 수 있는 데이터가 아니라 복제하기 어려운 물리적인 아이템 지문이나 홍채와 같은 생체 정보와 같은 것
    • 멀티 팩터 인증은 인증할 때 여러가지 요소를 사용하는데 가장 일반적인 구현은 2단계 인증(Two Factor Authentication)으로 알고 있는 것과 갖고 있는 것을 사용
    • 2단계 인증은 대부분 기본적으로 모든 서비스 접근에 적용되어야 하는 것
  • 클라우드 환경을 관리한다면 허용되지 않은 관리자가 클라우드 포털이나 API에 접근하려고 하는 것은 매우 위험
  • 접근 권한이 있는 공격자는 모든 데이터를 손상시키려고 클라우드 포털이나 API를 활용
  • 클라우드 제공자는 대부분 아를 기본적으로 지원

비밀번호와 API 키

  • 비밀번호는 재사용 금지
  • 평이 좋은 비밀번호 관리 도구를 사용해서 비밀번호를 관리
  • 기억할 필요가 없는 비밀번호의 경우 보안 랜덤 생성기를 이용
  • 반드시 기억해야 하는 비밀번호와 같은 경우 6자리로 된 Diceware 비밀번호를 만들고 각 단어 사이에 달러 기호나 쉼표와 같은 문자를 동일하게 넣기

공유 ID

페더레이션 ID

  • 서로 다른 2개의 시스템에 ID가 존재할 수 있다는 것
  • 각 시스템에 별도 계정을 직접 생성할 필요가 없도록 해당 ID를 서로 연결하는 기술
    • 카카오 로그인, 네이버 로그인 등..

Single Sign On(SSO)

  • 페더레이션 ID 개념에 의존하는 일종의 기술
  • 웹 사이트가 사용자의 ID와 암호를 요구하는 대신 사용자를 신뢰할 수 있는 중앙 ID 제공자로 리다이렉션 하는 것

SAML 과 OIDC

  • SAML
    • 웹 브라우저가 접근하려는 웹 페이지를 가리킴
    • 웹 페이지는 SAML 쿠키가 없어서 로그인할 수 없으니 ID 제공자 웹 페이지로 이동해 받아오라고 함
    • 제공자 웹 페이지에서 사용자 이름, 비밀번호, 추가 인증 수단을 이용해서 로그인
    • 암호화 서명된 XML 이 포함된 쿠키를 브라우저에 전송하고 리다이렉션
    • 다시 요청을 하면 쿠키가 전송되고 이를 바탕으로 인증

네트워크 보안

  • 수집된 정보를 침해하는 행동을 기술적으로 방어하거나 정보의 송수신 과정에서 생기는 사고를 막기 위한 작업
  • 정보를 가진 시스템을 공격해 유출하거나 사용하지 못하게 하거나 시스템이 동작하지 못하게 해서 정보 서비스를 정상적으로 구동할 수 없게 만드는 행위를 네트워크에서 적절히 막는 것이 네트워크 보안의 1차 목표
  • 정보는 여러 가지 서비스를 위해서 한 자리에만 있는 것이 아니라 네트워크를 통해 복제, 이동되므로 그 유출을 막는 것이 2차 목표
  • 네트워크 보안을 이해하려면 네트워크를 통한 다양한 공격 방식과 그 공격을 네트워크에서 방어하는 장비와 그 구동 방식을 이해해야 함
  • 네트워크는 중요한 정보 유출 영역
  • 네트워크가 없으면 정보의 이동이 어려워지기 때문에 네트워크에 연결된 정보 시스템을 공격 대상으로 삼는 것이 일반적이지만 외부 공격자가 네트워크 자체를 공격 대상으로 삼는 경우도 있음
  • 네트워크를 장악하면 많은 시스템에 더 쉽게 접근할 수 있어 침해 범위를 넓히고 외부 침입자가 원하는 정보가 유출될 가능성이 커짐
  • 네트워크 보안은 외부 공격에 맞서는 중요한 1차 방어선
  • 시스템과 애플리케이션에 결함이 있거나 취약점이 있는 경우에도 네트워크의 다양한 보안 장비를 활용한다면, 외부의 공격을 늦추거나 적절히 방어할 수 있음

네트워크 보안과 관제 필요성

  • 기본적인 보안 시스템조차 없는 중소기업들은 공격을 받고 있는 것은 아닌지, 공격을 받았다면 어떤 경로를 통해 유입되었는지 등 그 상황 자체도 파악할 수 없는 경우가 많음

  • 정보 보안 사고를 예방하기 위해서는 보안 시스템을 구축한 이후에도 보안 전담인력이 보안 관제를 하여 사전에 위협을 탐지할 수 있어야 하고 정보 보안 사고를 예방하는 활동과 함께 정보 보안 사고 대응 활동을 통해 같은 유형의 공격에 피해를 입지 않도록 대비할 수 있어야 함

  • 보안 관제 현황

    • 국내에서 국가정보원 산하에 국가 사이버 안전을 위한 업무를 담당하는 국가 사이버 안전 센터를 설치해서 국가 공공 분야를 담당하고 군 분야는 국군 사이버 사령부 그리고 민간 분야는 KISA(한국 인터넷 진흥원)에서 담당

네트워크 보안 관제 유형

  • 자체 보안 관제
    • 자체적으로 보안 전담 조직을 갖추고 관제 시스템을 구축하여 운영
      하는 관제 방식으로 국가 기관, 통신사, 대기업 등 보안을 중요시하
      는 곳이나 자체적으로 내부 네트워크망을 구성해서 운영하는 곳에
      서 주로 실시
  • 원격 보안 관제
    • 보안 관제 전문 업체와 계약된 범위 내에서 보안 시스템을 구축하고
      원격에서 보안 관제를 위탁해서 운영하는 방식으로 자체적으로 보
      안 관제를 하기 힘들거나 보안 인력이 없는 일반 기업에서 주로 실
  • 파견 보안 관제
    • 자체적으로 관제 시스템을 구축하였으나 보안 관제를 할 수 있는 전
      담 조직이나 보안 인력이 없는 경우 보안 관제 전문 업체에서 보안
      전문 인력을 파견받아 보안 관제를 운영하는 관제 방식

정보 보안 별 네트워크 종류

  • 외부 네트워크로부터 내부 네트워크를 보호하는 것
  • 외부로부터 보호받아야 할 네트워크를 Trust / Untrust 네트워크로 구분
  • 내부 네트워크이지만 신뢰할 수 없는 외부 사용자게에 개방 해야하는 서비스 네트워크인 경우 DMZ(De Militarized Zone) 네트워크라고 부르며 일반적으로 인터넷에 공개되는 서비스를 이 네트워크에 배치

Internet Secure Gateway

  • Trust 또는 DMZ 네트워크에서 Untrust 네트워크로의 통신을 통제
  • 인터넷으로 나갈 때는 인터넷에 수많은 서비스가 있으므로 그에 대한 정보와 요청 패킷을 적절히 인식하고 필터링 하는 기능이 필요함
  • 데이터 센터 게이트웨이는 상대적으로 고성능이 필요히고 외부의 직접적인 공격을 막아야 하므로 인터넷 관련 정보보다 공격 관련 정보가 더 중요
  • 전자의 경우를 인터넷 시큐어 게이트웨이라고 하며 방화벽, SWG(Secure Web Gateway), 웹 필터(Web Filter), 애플리케이션 컨트롤(Application Control), Sandbox 와 같은 다양한 서비스나 네트워크 장비가 포함되며 보안을 제공, 통제하기 위해 사용되는데 이런 서비스와 보안 장비들은 내부 사용자가 인터넷으로 통신할 때 사용

Data Center Secure Gateway

  • Untrust 네트워크에서 트러스트 또는 DMZ로의 통신을 통제
  • 방화벽, IPS, DCSG, WAF, Anti-DDoS 등의 장비가 이런 용도로 사용

네트워크 보안 정책 수립에 따른 분류

White List

  • 방어에 문제가 없다고 명확히 판단되는 통신만 허용하는 방식
  • 인터넷 전체에 대한 화이트리스트를 만들기 어려우므로 일반적으로 IP와 통신 정보에 대해 명확히 아는 경우에 많이 사용
  • 일반적으로 회사 내부에서 사용하는 방화벽이 명확한 정책에 의해 필요한 서비스만 허용하는 화이트리스트 방식을 주로 사용

Black List

  • 공격이라고 명확히 판단되거나 문제가 있었던 IP 리스트나 패킷 리스트를 기반으로 데이터베이스를 만들고 그 정보를 이용해 방어하는 형태
  • 각종 패턴으로 공격을 방어하는 네트워크 장비(IPS, 안티바이러스, WAF)들은 일반적으로 블랙리스트 기반의 방어 기법을 제공
  • 인터넷 어디선가 공격을 당할 때 이것을 분석해 공격 기법을 판단해 탐지하도록 간단히 적어 데이터베이스(시그니처)로 생성

보안 솔루션

네트워크 구성

  • DDoS 방어 장비(프로파일링, 프로토콜 취약점, 볼류매트릭) → 방화벽(포트 제어) → IPS(시그니처, WORM, 취약점 공격) → 웹 방화벽(SQL 인젝션, 웹 취약점, 웹 셀) → 서버

DDoS 방어 장비

  • DoS(Denial of Service) 는 다양한 방법으로 공격 목표에 서비스 부하를 가해 정상적인 서비스를 방해하는 공격 기법

  • 공격 출발지에서 공격하는 것이 일반적인 방법이었는데, 이 경우는 비교적 탐지가 쉽고 짧은 시간 안에 탐지만 할 수 있으면 IP 주소 기반으로 충분히 방어함

  • 짧은 시간 안에 공격 성과를 내기 위해 다수의 봇을 이용해 분산 공격을 수행하는 DDoS 공격 기법이 등

  • 공격의 타입

    • 볼류매트릭 공격: 대용량의 트래픽을 사용해서 대역폭을 포화시키는 공격
    • 프로토콜 공격: 3, 4계층 프로토콜 스택의 취약점을 악용해 대상을 엑세스 할 수 없도록 하는 공격
    • 애플리케이션 공격: 7계층 프로토콜 스택의 취약점을 악용하는 공격, 가장 정교한 공격, 가장 까다로운 공격
  • 클라우드 기반의 DDoS 방어 서비스를 고려해볼 수 있는데, 클라우드 기반 서비스는 DDoS, WAF 와 같은 별도의 보안 장비 없이도 다양한 DDoS 공격을 방어할 수 있는 장점이 있음

방화벽

  • 4계층에서 동작하는 패킷 필터링 장비
  • 계층 정보를 기반으로 정책을 세울 수 있고 해당 정책과 매치되는 패킷이 방화벽을 통과하면 그 패킷을 허용하거나 거부할 수 있음
  • DDoS 방어 장비 바로 뒤에 놓는 네트워크 보안 장비
  • 다른 보안 장비보다 비교적 간단히 동작하고 성능도 우수
  • 최근 출시되는 고성능 방화벽은 ASIC 이나 FPGA 와 같은 전용 칩을 이용해서 가속화하므로 대용량을 요구하는 데이터 센터에서도 문제없이 사용 가능

IDS, IPS

  • Intrusion Detection System(침입 탐지 시스템)
  • Intrusion Prevention System(침입 방지 시스템)
  • 최근에는 이 장비들을 IPS로 통칭
  • IDS 와 IPS는 사전에 공격 데이터베이스를 제조사나 위협 인텔리전스 서비스 업체로부터 받고 이후 IDS 와 IPS 장비에 인입된 패킷이 보유한 데이터베이스에 해당하는 공격일 때 차단하거나 모니터링 한 후 관리자에게 알람을 보내 공격 시도를 알림
  • 전에는 블랙리스트 기반으로 만들었는데, 최근에는 화이트리스트 기반도 등장

WAF(Wen Application Firewall)

  • 웹 서버를 보호하는 전용 보안 장비로 HTTP, HTTPS 처럼 웹 서버에서 동작하는 웹 프로토콜의 공격을 방어
  • IDS/IPS 보다 범용성은 떨어지지만 웹 프로토콜에 대해서는 더 세밀히 방어할 수 있음
  • 공격 트래픽을 방어만 하지 않고 공격자에게 통보하거나 민감한 데이터가 유출될 때 그 정보만 제거해 보내줄 수 있음

SandBox

  • 악성 코드를 샌드박스 안에서 실행시켜서 악성 코드 여부를 판별하는 방법을 이용하는 보안 장비

NAC

  • 네트워크에 접속하는 장치들을 제어하기 위해서 사용하는 장비
  • 인간인 사용자만 네트워크에 접속하도록 해줌

IP 제어

  • 고정 IP를 사용하는 경우 IP 정보로 인가
profile
Don’t get mad at the computer.

0개의 댓글