728x90
  • 방화벽은 어떤 패킷이 네트워크를 통과할 수 있는지를 결정한다. - packet filtering
  • 어떤 패킷이 통과할 수 있는지의 여부는 망 보안 정책에 따라 결정된다.


방화벽 유형

원래 다음과 같은 두 가지 유형의 패킷 필터가 존재한다.

  • 패킷 필터
    • 네트워크와 수송 계층의 정보를 조사
  • Stateful 패킷 필터
    • 패킷 필터 + TCP 연결 상태를 조사

 


패킷 필터 (Packet Filter)

네트워크와 수송 계층의 헤더 정보를 사용

  • IP 소스/목적지 주소
  • IP 패킷의 Protocol Type
  • TCP/UDP의 소스/목적지 포트 번호
  • TCP Flag bits (SYN, ACK, etc.)
  • ICMP 메시지 유형(message type)
  • 네트워크 입구/출구에서의 기타 규칙

( + ) 장점 

  • 빠른 처리 속도

( - ) 단점

  • 각 패킷은 다른 패킷과 독립해서 별도로 처리된다.
  • TCP연결을볼수없다.
  • 응용데이터를볼수없다.
    • 따라서, 바이러스가 포함된 패킷이 통과할 수 있다.

 

패킷 필터링

 

Action Source IP Dest IP Source Port protocol Dest Port Flag Bits
Allow 202.30.107.0/24 Outside > 1024 TCP 80 Any
Allow Outside 202.30.107.0/24 80 TCP > 1023 ACK
Deny All All All   All All

( Access Control Lists (ACLs)에 의해 구성 )

  • 내부망의 주소: 202.30.107.0/24
  • 내부 호스트는 외부망의 웹 서버에 접속을 허용
  • 이외의 모든 트래픽은 차단

 

TCP ACK 스캔

공격자는 이와 같이 하여 방화벽을 통과할 수 있는 포트 번호를 스캔할 수 있다.

  • 공격자는 3-way handshake 없이 ACK 비트를 세팅하고 패킷을 보낸다.
  • 이것은 TCP/IP 프로토콜을 위반하는 것이다.
  • ACK 패킷은 패킷 필터를 통과한다.
    • 현재 연결 설정이 진행 중인 것으로 보여진다.
  • 이 패킷을 받은 수신 프로세스는 Reset 비트를 세팅하여 보낸다.
  • 공격자는 이와 같이 하여 방화벽을 통과할 수 있는 포트 번호를 스캔할 수 있다.


Stateful Packet Filter

패킷 필터에 연결 상태 정보를 추가한다.

TCP 연결과 flag 비트를 기억한다.

UDP 패킷도 기억할 수 있다. (e.g., DNS requests)

Action Source IP Dest IP Source Port protocol Dest Port Flag Bits 연결조사
Allow 202.30.107.0/24 Outside > 1024 TCP 80 Any  
Allow Outside 202.30.107.0/24 80 TCP > 1023 ACK O
Deny All All All   All All  

Intrusion Prevention System (IPS)

  • 원래 방화벽은 규범적인 용어가 아니라 서술적 용어, 즉, 이렇게 만들어야만 방화벽이라고 할 수 있다라는 것은 아니다.
  • 장비회사들은 원래의 패킷 필터가 사용하는 정보 이상의 정보를 사용하여 필터링하는 장비를 만들고 여러가지 이름으로 불렀다.
  • 이중 고착된 이름 중에 하나가 IPS이다.
  • IPS를 포괄적으로 정의를 해 보면,
    • 네트워크와 수송 계층 이상의 정보를 사용하여 필터링
    • 경우에 따라서는 트래픽에서의 규칙, 특성(signature)을 사용하여 필터링
      1. 이런 점에서는 IDS의 기능과 중복, 즉 패킷 필터링을 하는 IDS라고 할 수도 있다.

 

Applicartion Gateway (Proxy)

  • Application Gateway는 들어오는 (incoming) 응용 계층의 데이터를 검사한다.
  • 진입을 허용하기 전에 데이터가 안전한지 확인한다.
  • Proxy는 응용 프로토콜을 대신 동작하는 것을 의미한다.
  • 외부망으로 (에서) 접근할 때는 반드시 proxy와 먼저 통신을 해야 한다.
    • Proxy는 접근자에 대한 인증을 할 수도 있다.
    • 적법한 사용자의 패킷을 받아서 외부망의 서버에 패킷을 새로 구성해서 전달한다.
  • 여러 종류의 application proxy가 존재할 수 있다.
    • Telnet, HTTP, FTP, email application proxy 등등

( + ) 장점

  • 연결과 응용 데이터 모두를 볼 수 있다.
  • 응용 계층에서 나쁜 데이터를 걸러 낼 수도 있다. (viruses, Worm macros)

( - ) 단점

  • 느린 속도

 

예) Telnet gateway

예를 들어, 내부망의 특정 사용자만 외부망에 telnet으로 연결할 수 있도록 하고 싶다.

  • 사용자의 telnet 요청은 Application gateway와 먼저 연결
  • Gateway는 사용자를 인증
  • 허락된 사용자일 경우 외부망의 서버와 telnet 연결
  • 따라서, 두 개의 telnet 세션이 존재: gateway-to-내부 호스트, gateway-to-외부 호스트

 

 

방화벽과 심층 방어 (Defense in Depth)

  • DMZ부분은 쉽게 접근하여야 한다. 그리고 빨라야 한다.
  • 외부망에서 내부망 접근은 Telnet으로 연결이 된다. 속도가 느리다.

'서버 > 암호' 카테고리의 다른 글

네트워크 공격 : DoS (1)  (0) 2021.08.02
Spoofing (속이기)  (0) 2021.07.29
Snooping (sniffing) – 정찰(탐색)  (0) 2021.07.29
네트워크 공격  (0) 2021.07.29
ICMP 질문 메시지(Query)  (0) 2021.07.29

+ Recent posts