본문 바로가기

IT/network

[네트워크] 보안(방화벽, IDS, IPS)

보안 기술

- 방화벽 : 기관의 보안 정책에 따라 인증된 인터넷 서비스의 접근을 허용하고 인증되지 않은 서비스의 트래픽은 차단

- 방화벽을 보안하기 위해 침입 탐지 시스템과 침입 방지 시스템이 있음.

 

1) 방화벽

<인증 유무에 따른 접근을 허용 및 차단하는 Firewall, 방화벽>

- 외부 네트워크가 내부 네트워크로 들어오기 위해서는 반드시 통과해야 하는 보호 시스템

- 방화벽은 인증 유무에 따라 접근을 허용 및 차단하기 때문에 네트워크의 안전은 보장하나 투명성은 보장하지 않음

- 도메인 명과 IP주소를 사용하지 못하게 함으로써 침입자에게 유용한 정보를 숨길 수 있음

- 시스템의 엑세스가 방화벽을 통과하면 해당 엑세스를 기록하고 네트워크 사용에 대한 통계를 제공 <- 투명성 보장 X

 

기본 구성 요소

1) 네트워크 정책 : 상위 수준 정책과 하위 수준 정책으로 나뉜다. 상위 수준 정책은 제한된 네트워크에서 서비스를 허용할 것인지, 명확하게 거부할 것인지를 정의하는 네트워크 액세스 정책과 예외 조건을 제시한다. 하위 수준 정책은 실질적으로 어떻게 액세스를 제한하고, 상위 수준 정책에서 정의한 서비스를 필터링할 것인지에 대한 내용을 다룬다.

 

2) 패킷 필터링 : 패킷 필터링 라우터를 통해서 IP 패킷 중 송신지 IP 주소, 수신지 IP 주소, TCP/IP ,수신지 포트 등을 필터링 할 수 있다.

 

3) 방화벽 사용자 인증 시스템 : 스마트 카드, 인증 토큰, 소프트웨어적 메커니즘을 이용한 인증 수단을 사용한다.(아이디 비밀번호 X) 혹은 일회성 OTP와 같은 비밀번호 인증 수단을 사용하기도 한다. 이를 통해 매번 접속할 때 마다 새로운 비밀번호를 입력해야 하므로 스니핑(도청)을 근본적으로 막을 수 있다.

 

4) 응용 계층 게이트웨이 : 프록시 서버(proxy server)라는 기능을 제공한다. 프록시 서버는 사용자가 서버에 바로 전달하는 것이 아니고 사용자와 서버 중간에 있는 프록시 서버에서 이를 받아서 내부의 서버에 전달하는 방식이다.

 

방화벽 종류

1) 스크리닝 라우터(Screening Router) : 프로토콜 형태, 송수신지 주소, 프로토콜 제어 필드, 통신 포트를 분석하여 내부 네트워크에서 외부 네트워크로 나가는 패킷 트래픽의 진입을 허가 또는 거절, 혹은 외부 네트워크에서 내부 네트워크로 들어오는 것을 차단하는 라우터이다. 진입 허가/거절에 대한 결정은 라우팅 테이블에서 한다. 위에 기술한 필드들을 통해 진입 허가/거절을 하기 위해서는 IP, TCP, UDP의 헤더를 분석해야 한다.(네트워크, 전송 계층에서 동작) 스크리닝 라우터는 속도가 빠르고 비용이 저렴하지만 로그 관리가 어렵고 패킷 데이터의 분석이 불가능하다. 라우터에서 구현된 펌웨어 수준에서는 제한이 많고 복잡한 정책을 구현하기 어렵기 때문에 스크리닝 라우터와 배스천 호스트(Bastion Host)를 같이 운영한다.

 

2) 배스천 호스트(Bastion Host) : 보호된 네트워크에서 유일하게 외부의 공격에 노출된 컴퓨터 시스템을 의미한다. 내부 네트워크와 외부 네트워크 사이에서 게이트웨이 역할을 한다. 보안상 가장 중요한 위치이므로, 관리를 철저히 해야하며 모든 로그를 주기적 검사할 필요가 있다. 외부에서 내부 네트워크로 접속하기 위해서는 반드시 배스천 호스트를 통과해야하기 때문에 배스천 호스트에는 악용될 수 있는 정보가 담겨 있어서는 안된다. 만일 배스천 호스트가 손상되거나 해킹 당하면 내부 네트워크는 무방비 상태로 변하게 된다.

 

방화벽 시스템 방식

1) 패킷 필터링 : TCP/IP 프로토콜 헤더에 존재하는 송,수신지 IP 주소, 포트 번호 등을 이용하여 접속을 제어한다.

 

2) 응용 프로그램 게이트웨이 : 서비스 별로 프록시를 사용하여 패킷 필터링처럼 각종 정보를 이용해 접근을 제어한다. 바이러스 검색 기능과 같은 부가적 기능도 제공한다.

프록시는 클라이언트와 서버간 접속을 관리하고 접속된 연결에는 데이터 전달을 담당한다. , 클라이언트 서버간의 직접적인 연결을 허용하지 않기 위해 중간자의 역할로써 사용된다.

 

3) 회로 레벨 게이트웨이 : 세션 계층과 응용 계층 사이에 있으며, 일반적인 프록시만 존재한다. 방화벽을 통해 내부 시스템에 접속하려면 클라이언트 측의 회로 레벨 게이트웨이를 인식할 수 있는 수정된 클라이언트 프로그램이 필요하다. 수정된 클라이언트 프로그램이 설치되어 있는 클라이언트만 형성 가능하다.(쉽게 말해 정해진 프로그램이 설치되 있는 호스트 간의 통신을 허용한다는 것 같음)

 

4) 혼용 방화벽 : 위에 설명한 여러 기능들을 복합적으로 사용하는 방화벽, 다만 구축과 관리가 매우 어려움

 

방화벽 구축 시 고려 사항

- 보호 대상을 구체적으로 정의(하드웨어, 소프트웨어, 문서 등)

- 보호 대상에게 어떠한 위협이 있는지 분석

- 인증 대상에게만 액세스를 허용할 것인지, 비인증 대상도 액세스가 가능한지 결정

- 해킹 공격을 당했을 때 대응책을 사전에 마련함

- 중요 작업을 제외한 모든 접속을 거부할 것인지, 트래픽을 조사하고 점검할 것인지, 어느 수준의 검사, 백업, 제어를 할 것인지를 결정

 

내부 네트워크 접근을 명확하게 허용하지 않는 트래픽을 내부 네트워크에 접근하지 못하게 하고, 접근 방지가 명확하게 드러나지 않는 트래픽의 모든 접근은 허용하는 것이 일반적인 방화벽 시스템 패러다임이다.

 

2) 침입 탐지 시스템(IDS : Intrusion Detection System)

<침입 시도를 감지하는 IDS>

네트워크와 시스템 사용을 실시간으로 모니터링하고 침입 시도를 알아내는 H-IDS(Host-based IDs)와 네트워크에서 일어나는 활동을 감시하고 침입 시도를 잡아내는 N-IDS(Network-based IDs)가 있다. H-IDS는 컴퓨터에, N-IDS는 네트워크에 설치하며, 일반적으로 IDSN-IDS를 의미한다.

 

침입 탐지 시스템의 분류

1) 기초 자료의 종류에 따른 분류

- 단일 호스트 기반 & 다중 호스트 기반 : 수집된 자료를 침입 탐지에 활용(H-IDS)

- 네트워크 기반 : 패킷 관련 자료를 수집하고 침입 탐지에 활용(N-IDS)

2) 침입 행위의 기준에 따른 분류

- 정상적 행위 탐지 : 정상적인 시스템의 프로파일을 보유하고 있다가 프로파일의 기준을 벗어나면 탐지

- 비정상 행위 탐지 : 취약점에 대한 프로파일을 보유하고 있다가 공격이 감지되면 탐지 작업 수행

 

침입 탐지는 탐지만 가능하고 차단이 불가능하고 공격 속도를 늦추는 능력도 없다. 또한 탐지되지 않은 패킷이 공격에 이용될 수 있다. 심지어 공격이 증가하면 탐지 능력에 한계점이 나타난다.

 

3) 침입 방지 시스템(IPS : Intrusion Prevention System)

<침입에 대한 패턴이 인식되면 공격에 대응하는 IPS>

- 합 보안 관리 시스템의 중앙 허브 역할을 수행함으로써 방화벽과 침입 탐지시스템의 기능을 조합할 수 있는 통합성을 제공

- 알려진 공격 유형을 물론이거니와 새로운 공격도 대응할 수 있도록 업데이트가 가능해야 함

- 비정상 탐지 기술과 공격 패턴 기반 기술로 분류

 

침입 방지 시스템 분류

1) 비정상 탐지 기술(Anomaly Detection, Statistical Detection) : 평균을 기준으로 상대적 급격한 변화가 발생하거나 일어날 확률이 낮은 상황이 발생했을 때 이를 알려주는 기술이다. 실제 발생을 분석하는 것이 아닌 통계학 적인 평균을 기준으로 이상상태를 추정하기 때문에 잘못 탐지할 확률이 높다.

 

2) 공격 패턴 기반 기술 : 이미 발견되고 정립된 공격 패턴을 미리 데이터베이스화 한 후 이에 해당하는 패턴이 탐지되면 알려주는 기술이다. 못 탐지할 확률은 낮으나 공격 이외에는 탐지할 수 없고 방대한 자료 분석에는 부적합하다. 공격 순서 정보도 얻기 쉽지 않다.

 

 

방화벽 vs IDS vs IPS

<(IDS vs IPS) + 덤으로 방화벽>

- IDSIPS는 비정상 트래픽을 탐지하기 위해 네트워크 헤더뿐만 아니라 헤더를 제외한 페이로드를 포함한 데이터를 심층적으로 분석하는 DPI(Deep Packet Inspection)를 사용한다. (그렇게 되면 데이터의 비밀성이 보장되지 않는데...)

- 트래픽 처리에 있어 물리 계층에 가까울수록 성능이 좋고(하드웨어 근처이기 때문에), 응용 계층에 가까울수록 응용 데이터 정보를 기반으로 심층적 검사가 가능하다. 방화벽도 응용 계층의 데이터를 검사할 수는 있지만(프록시 방식) 상위 계층으로 올라갈수록 트래픽 처리 속도가 지연되고 방화벽 성능이 저하된다.

- IPSIDSIP 변경 없이 네트워크 구성을 설치하므로 구간 제약이 없다. 때문에 방화벽 앞, 뒤에 설치하는 것이 가능하다.

 

위 내용들을 읽을수록 SDN과 NFV가 왜 중요한 기술인지를 깨닫게 되네요... 네트워크 장비마다 개별적 혹은 한정적으로 적용되는 방화벽, IDS, IPS 는 프로토콜처럼 표준화된 내용도 없고(정책에 따라 다르기 때문에) 유지 및 보수 시에 굉장히 복잡할 것 같다는 생각이 드는데, 최근 SDN과 NFV를 공부하다 보니 이러한 점이 더욱 부각되어 보이는 것 같습니다. 초창기에는 SDN과 NFV는 논문용(?) 기술이라고 욕먹었다는데... 누가 그런 욕을 한건지...