Skip to Content
05. SecurityIntroduction to Firewalls

방화벽 소개

학습 목차

  1. Stateful Filtering (상태 기반 필터링)
  2. Packet Inspection (패킷 검사)
  3. Security Zones (보안 영역)
  4. 결론

방화벽(Firewall) 은 신뢰할 수 있는 네트워크와 신뢰할 수 없는 네트워크 사이의 장벽으로, 종종 LAN과 WAN 사이에 사용됩니다. 일반적으로 모든 패킷이 방화벽에서 검사되도록 forwarding path에 배치되며, 여기서 패킷을 드롭하거나 허용할 수 있습니다.

방화벽 토폴로지

위에는 호스트 컴퓨터와 스위치가 있는 LAN이 있습니다. 오른쪽에는 인터넷 연결을 제공하는 ISP에 연결된 라우터가 있습니다. 방화벽은 LAN을 보호하기 위해 그 사이에 위치합니다.

라우터는 선택사항이며, WAN에 대한 연결성에 따라 달라집니다. 예를 들어 ISP가 케이블을 제공한다면 이더넷 연결이 있는 케이블 모뎀이 있을 것이며, 이를 방화벽에 직접 연결할 수 있습니다. 무선 연결인 경우, 연결을 위해 라우터가 필요할 것입니다. BGP 같은 (고급) 라우팅을 한다면 라우터도 필요할 것입니다. 대부분의 방화벽은 정적 라우트, 기본 라우트, 그리고 가끔 RIP, OSPF, EIGRP 같은 라우팅 프로토콜 등 일부 기본 라우팅 옵션을 지원합니다.

참고: 여기서는 하드웨어 방화벽에 대해 이야기하고 있습니다. Microsoft Windows에 사전 설치되어 있는 것 같은 소프트웨어 방화벽도 있습니다. 하드웨어 방화벽과 비슷한 기능을 가지고 있습니다.


1. Stateful Filtering (상태 기반 필터링)

방화벽도 라우터와 마찬가지로 access-list를 사용해 소스 및/또는 목적지 주소나 포트 번호를 확인할 수 있습니다. 그러나 대부분의 라우터는 필터링에 많은 시간을 소비하지 않습니다. 패킷을 받으면 access-list의 항목과 일치하는지 확인하고, 그렇다면 패킷을 허용하거나 드롭합니다. 그게 전부입니다.

단일 패킷을 받든 수천 개를 받든 각 패킷은 개별적으로 처리되며, 이전에 본 패킷을 추적하지 않습니다. 이를 상태 비저장 필터링(stateless filtering) 이라고 합니다.

반면에 방화벽은 상태 기반 필터링(stateful filtering) 을 사용합니다. 모든 들어오고 나가는 연결을 추적합니다. 다음은 몇 가지 예입니다.

Stateful Filtering 예시
  • LAN의 컴퓨터가 이메일 클라이언트를 사용해 인터넷의 메일 서버에 연결합니다. 클라이언트는 방화벽이 보는 TCP 3-way 핸드셰이크로 연결을 시작합니다. 방화벽은 이 연결을 추적하고, 메일 서버가 응답하면 이 트래픽이 클라이언트로 돌아가는 것을 자동으로 허용합니다.
  • 웹 서버가 방화벽 뒤에 있고, 다양한 IP 주소에서 초당 평균 20개의 새 TCP 연결을 받는 바쁜 서버입니다. 방화벽은 모든 연결을 추적하며, 초당 10개 이상의 새 TCP 연결을 요청하는 소스 IP 주소를 보면 이 소스 IP 주소의 모든 트래픽을 드롭해 DoS(Denial of Service)를 방지합니다.

2. Packet Inspection (패킷 검사)

대부분의 방화벽은 일종의 (심층) 패킷 검사를 지원합니다. 단순한 access-list는 소스/목적지 주소와 포트만 확인합니다. 즉, OSI 모델의 레이어 3과 4입니다. 패킷 검사는 OSI 모델의 레이어 7까지 검사할 수 있다는 의미입니다. 이는 애플리케이션 데이터와 페이로드까지 살펴볼 수 있다는 뜻입니다.

패킷 검사

위에서 빨간색으로 표시된 네트워크(IP)와 전송 계층(TCP), 녹색으로 표시된 애플리케이션 계층을 볼 수 있습니다. 이는 웹 페이지를 요청하는 웹 브라우저의 예입니다.

다음은 몇 가지 예입니다.

  • lolcats.com에 속하는 모든 IP 주소를 차단하는 대신, HTTP 요청에서 URI를 찾아 차단하는 필터를 만들 수 있습니다. 미래에 변경될 수 있는 웹 서버의 IP 주소에 대해 걱정할 필요가 없습니다.
  • 방화벽은 페이로드를 확인해 알려진 웜이나 바이러스가 포함된 패킷을 차단할 수 있습니다.

3. Security Zones (보안 영역)

Cisco 라우터는 기본적으로 라우팅 테이블에 일치하는 라우트가 있다면 받는 모든 패킷을 허용하고 전달합니다. 이를 제한하려면 access-list를 구성해야 합니다. 인터페이스가 많거나 access-list 규칙이 많으면 관리상 악몽이 될 수 있습니다.

더 좋은 솔루션이 있습니다. 방화벽은 보안 영역(security zone) 으로 동작합니다.

보안 영역

위에는 두 보안 영역이 있습니다.

  • INSIDE: LAN
  • OUTSIDE: WAN

인터페이스는 적절한 보안 영역에 할당되었습니다. 이 영역들은 두 가지 간단한 규칙을 가지고 있습니다.

  • “높은(high)” 보안 레벨에서 “낮은(lower)” 보안 레벨로 가는 트래픽은 허용됩니다.
  • “낮은(low)” 보안 레벨에서 “높은(higher)” 보안 레벨로 가는 트래픽은 거부됩니다.

LAN은 신뢰할 수 있는 네트워크로, 높은 보안 레벨을 가집니다. WAN은 신뢰할 수 없으므로 낮은 보안 레벨을 가집니다. 이는 LAN > WAN 트래픽이 허용된다는 의미입니다. WAN에서 LAN으로 가는 트래픽은 거부됩니다. 방화벽이 stateful이기 때문에 나가는 연결을 추적하고 LAN에서 돌아오는 응답 트래픽을 허용합니다.

예외를 만들어 WAN에서 LAN으로 트래픽을 허용하고 싶다면 access-list로 이를 달성할 수 있습니다.

대부분의 회사는 인터넷에서 도달할 수 있어야 하는 하나 이상의 서버(메일이나 웹 서버 같은)를 가지고 있습니다. 이를 INSIDE에 두는 대신, DMZ(Demilitarized Zone, 비무장지대) 라는 세 번째 영역을 사용합니다.

DMZ 영역

DMZ 보안 영역은 INSIDE와 OUTSIDE 사이의 보안 레벨을 가집니다. 이는 다음을 의미합니다.

  • INSIDE에서 OUTSIDE로 가는 트래픽은 허용됩니다.
  • INSIDE에서 DMZ로 가는 트래픽은 허용됩니다.
  • DMZ에서 OUTSIDE로 가는 트래픽은 허용됩니다.
  • DMZ에서 INSIDE로 가는 트래픽은 거부됩니다.
  • OUTSIDE에서 DMZ로 가는 트래픽은 거부됩니다.
  • OUTSIDE에서 INSIDE로 가는 트래픽은 거부됩니다.

OUTSIDE의 트래픽이 DMZ의 서버에 도달할 수 있도록 보장하기 위해 DMZ 서버가 사용하는 IP 주소(와 포트 번호)에만 트래픽을 허용하는 access-list를 사용합니다. 이 설정은 매우 안전합니다. DMZ의 서버 중 하나가 해킹되더라도 INSIDE 네트워크는 여전히 안전합니다.

위에서 설명된 일부 기능은 라우터에서도 사용할 수 있습니다. 예를 들어 Cisco IOS 라우터는 “가난한 사람의” 상태 기반 방화벽인 reflexive access-list를 지원합니다. Cisco IOS는 또한 이름이 의미하듯 보안 영역을 사용하는 Zone Based Firewall도 지원합니다. 그러나 하드웨어 방화벽은 더 나은 네트워크 성능/처리량을 제공합니다.


4. 결론

방화벽의 기본을 배웠습니다. 방화벽은 모든 들어오고 나가는 연결을 추적하기 위해 stateful 필터링을 사용합니다. (방화벽에 따라) 애플리케이션의 페이로드까지 살펴 OSI 모델의 레이어 7까지 검사할 수도 있습니다.

방화벽 결론

또한 보안 영역을 사용하며, 높은 보안 레벨의 트래픽이 낮은 보안 레벨로 가는 것은 허용됩니다. 낮은 보안 레벨에서 높은 보안 레벨로 가는 트래픽은 거부되며, access-list로 예외를 만들 수 있습니다.


포럼 답글

wisamani

포럼 답글

방화벽 소개에 감사합니다 Rene.

친근한 피드백입니다. 화이트보드를 직접 색깔 펜으로 사용하시는 비디오를 정말 좋아합니다. 놀랍습니다, 계속 사용해 주세요. 진짜 교실에 앉아있는 것 같은 느낌입니다.

ReneMolenaar

안녕 @wisamani,

좋아하신다니 기쁩니다. SDN 기사에서처럼 Surface Pro에서도 일부 “화이트보드” 비디오를 시도해 보고 있습니다. 그것들이 똑같이 좋다고 생각하시나요, 아니면 여전히 진짜 화이트보드 비디오를 선호하시나요?

포럼 답글

wisamani

답변 감사합니다 Rene. 이 비디오는 매우 좋지만, 솔직히 화이트보드의 비디오가 훨씬 낫습니다. 매우 강력하고 명확하고 이해하기 쉽습니다.

훌륭한 강의에 감사합니다 Rene. 방금 CCNP Switch에 합격했습니다.

ReneMolenaar

피드백 감사합니다 Wisam, 그리고 SWITCH 시험 합격 축하합니다!

ReneMolenaar

안녕 @Satish,

피드백 감사합니다. 저도 데스크톱 녹화를 선호합니다. 청소가 필요한 화이트보드보다 더 편리하고, 책상에서 녹화하는 것이 더 쉽습니다.

Laz가 이전에 “일반” 방화벽과 NGFW의 차이에 대해 글을 썼습니다.

… 포럼에서 계속 읽기

61개의 추가 답글이 있습니다. 커뮤니티 포럼을 방문해 질문하거나 토론에 참여하세요.


출처: networklessons.com - Introduction to Firewalls

태그: Firewall