[Network] 방화벽(Firewall) 개념
카테고리: Network
1. 침입자단시스템 (방화벽, Firewall)
1. 방화벽 개념
조직의 보안 정책에 따라 인가된 네트워크 서비스에 대한 접근을 허가하고 인가되지 않은 서비스를 수행하는 트래픽을 차단함으로써 효율적인 보안 서비스를 제공
한다.
Access Control List(ACL)을 통해 네트워크에 전송되는 트래픽에 대한 보안 정책을 설정한다.
서비스 제어, 방향 제어, 사용자 제어, 행위 제어를 수행한다.
2. 방화벽 기능
- 서비스 제어 : Inbound 또는 Outbound의 어떤 네트워크 서비스를 접근할 수 있도록 허용할 것인지 제어한다.
- 방향 제어 : 특정 서비스 요청이 개시되고 관련 정보가 흘러가는 방향을 제어할 수 있다.
- 사용자 제어 : 서비스에 대한 접근 가능한 사용자를 제어할 수 있다.
- 행위 제어 : 특정 서비스들이 어떻게 사용되는지 제어할 수 있다.
구체적인 내용으로는 아래와 같다.
1. 접근 통제
침입차단시스템은 허용된 서비스와 전자 우편 서버나 공개 정보 서버와 같은 특정한 호스트를 제외하고는 외부에서 네트워크에 접속하는 것을 패킷 필터링 등을 이용하여 통제하는 기능을 가지고 있다.
패킷 필터링이란? 내부 네트워크로 들어오는 패킷의 IP 주소 혹은 서비스 포트 번호 등을 분석한 후, 외부 또는 내부 네트워크에 대한 접근을 통제하는 기능을 제공한다.
2. 사용자 인증
침입차단시스템은 내/외부 네트워크 사이의 접속점이기 때문에 침입차단시스템을 지나가는 트래픽에 대한 사용자들의 신분을 증명하는 기능이 필요하다.
이는 ID/PWD나 공개키 인증서를 이용한 사용자에 대한 식별기능과 이를 검증하는 인증 과정으로 이루어진다.
3. 감사 및 로그 기능
침입차단시스템은 모든 트래픽에 대한 접속 정보 및 네트워크 사용에 따른 유용한 통계 정보를 기록하는 감사 및 로그 기능이 있어야 한다.
침입차단시스템의 관리자는 사용자의 활동이나 인가되지 않은 외부로부터의 접근이나 침입 사건 등에 대한 로그파일을 바탕으로 보안 기능과 보안 관련 데이터에 대한 안전한 보안 관리 기능을 제공해야 한다.
4. 프라이버시 보호
침입차단시스템은 내부 네트워크의 정보 유출 방지, 이중 DNS(Dual Domain Name System) 기능과 프락시 기능 등을 제공함으로써 프라이버시와 관련된 정보의 노출을 막거나 정보를 공격자로부터 보호해야 한다.
5. 서비스 통제
침입차단시스템은 안전하지 못하거나 위험성이 존재하는 서비스를 필터링 함으로써 내부 네트워크의 호스트가 가지고 있는 취약점을 감소시켜야 한다.
6. 데이터 암호화
방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화해서 보내는 것으로 보통 VPN의 기능을 이용한다.
3. 방화벽의 장단점
-
장점
– 취약한 서비스 보호 가능
– 호스트 시스템 접근제어 가능
– 로그와 통계자료 유지
– 내부 네트워크의 모든 자원에 일관된 보안 정책 적용 가능 -
단점
– 제한된 서비스 제공
– 우회하는 트래픽은 제어 불가
– 악의적인 내부 사용자의 공격을 막을 수 없다.
– 바이러스 및 새로운 형태의 위험에 대한 방어 곤란
4. 방화벽의 한계점
- 악성 소프트웨어의 침투 방어에는 한계가 있다.
- 악의적인 내부 사용자의 공격은 막을 수 없다.
- 자신을 통과하지 않은 통신에 대한 제어 역시 불가능하다.
- 전혀 새로운 형태의 공격을 막을 수 없다.
5. 방화벽 운영 정책
- Deny All 정책 : 모든 트래픽을 먼저 차단하고 허용해야 할 트래픽만을 선별적으로 허용하는 방식이다. (외부 -> 내부)
- Permit All 정책 : 모든 트래픽을 허용하고 특정 트래픽만을 선별적으로 차단하는 방식이다. (내부 -> 외부)
2. 침입차단 시스템의 유형
1. 패킷 필터링
수신된 패킷의 TCP/IP 헤더 부분만을 이용하여 침입 차단 기능을 수행하는 수동적인 침입차단 시스템이다.
패킷 필터링을 사용하는 라우터를 스크리닝 라우터 호은 패킷 필터 라우터라고 부른다.
-
장점
– 확장 가능하다.
– 높은 성능을 제공한다.
– 응용 프로그램에 독립적이다. -
단점
– 패킷에서 헤더정보 이외에는 조사하지 않는다.
– 다른 옵션들에 비해 상대적으로 낮은 보안 제공
– 연결 상태를 추적하지 않음
2. NAT(Network Address Translation)
사설 주소와 범용 주소를 매핑 시키고 가상 사설 네트워크를 지원하는 기술이다.
외부 네트워크에서 내부 네트워 IP주소를 알 수 없으므로 보안 효과가 있다.
- Static NAT : 내부 사설 IP 주소와 외부 공인 IP 주소를 1:1 매핑
- Dynamic NAT : 여러개의 사설 IP 주소와 여러개의 공인 IP 주소를 동적으로 매핑 (N : M)
- PAT(Port Address Translation) : 변환 테이블에 송/수신 포트번호와 프로토콜을 추가
- Policy NAT : ACL을 사용하여 출발지와 목적지에 따라 변환이 일어나게 한다.
3. 스테이트풀 패킷 검사 침입차단 시스템(상태기반 검사 방화벽)
1. 상태기반 검사 방화벽 개념
패킷필터링 침입차단시스템과 마찬가지로 동일한 패킷 정보를 검토하지만 TCP 연결에 관란 정보를 기록
한다.
TCP 순서번호로 추적해서 순서번호를 이용한 세션 하이재킹을 방어한다.
통신 채널을 추적하는 상태 테이블을 관리한다.
2. 작동원리
- 데이터 링크 계층에서 SYN 패킷을 전송 받으면 접근제어 정책에 의해 상태 테이블에 남겨 접근 허용여부를 결정한다.
- 접근이 금지된 패킷일 경우 로그를 저장하고 전송을 수행하지 않음, 허용된 패킷은 네트워크 계층으로 전송한다.
- SYN 패킷이 아닐 경우 상태 테이블의 패킷정보 여부를 검사하고 존재하면 네트워크 계층으로 전송, 패킷 정보가 존재하지 않을 경우 접근제어 정책에 따라 전송여부 결정한다.
3. 장단점
패킷 필터링 방화벽과 동일한 성능을 수행하고 패킷 상태에 대한 보안성을 높인다.
네트워크 계층 이하에서 동작하는 Stateful Packet Inspector 모듈을 통하여 전체 계층에 대한 상태를 조사하고 투명성을 제공한다.
연결 요청의 첫 패킷 헤더가 공격당할 경우에는 잘못된 상태 테이블을 구성하게 된다.
4. 프록시 방화벽(Proxy Firewall)
1. 프록시 방화벽 개념
침입차단 시스템 호스트에서 실행되는 전문화된 application 이나 서버 프로그램으로서 침입차단 시스템에서 사용되는 배스천 호스턴에 설치되어 운영된다.
2. 배스천 호스트(Bastion Host)
침입차단 S/W가 설치되어 내 외부 네트워크 사이에서 게이트웨이 역할을 수행하며 철저한 보안 방어기능이 구축되어 있는 컴퓨터 시스템이다.
내부 네트워크 사용자의 주요 접속점으로 인터넷에 노출되어 공격에 취약하므로 불필요한 사용자 계정, 중요하지 않은 파일은 삭제하고 운영해야한다.
1. 배스천호스트 설계와 구축
단순한 구조, 비상 대비책 강구, 로그 백업 기능
-
장점
– 스크리닝라우터 방식보다 안전
– 정보 지향적인 공격을 방어
– 각종 기록 정보 생성 및 관리가 쉬움 -
단점
– Bestion Host가 단일 실패 지점이 됨
– 로그인 정보가 유출되면 내부 네트워크 보호 불가
3. 응용프로그램 수준 프록시 방화벽(Application Level Proxy)
- 패킷을 응용프로그램 계층까지 검사
- 응용계층 게이트웨이는 응용 서비스마다 각각 다른 응용 게이트웨이 구현
- 응용 서비스 사용에 따른 기록 및 감사 추적이 가능하고 강력한 인증 서비스 제공
- 높은 대역폭 혹은 실시간 응용프로그램에 일반적으로 적합하지 않음
- 새로운 네트워크 응용프로그램과 프로토콜 지원에 제한적
Transparent Proxy : 서비스 요청 헤더 부분에 Client IP를 함께 포함한다. (Proxy 서버 종류, Client IP)
Anonymous Proxy : Proxy 서버 종류만 나타내고 실제 Client IP는 포함시키지 않는다.(역추적 하기가 어려움)
High anonymous : Client IP Proxy 서버 종류 둘다 표시되지 않는다.
4. 회선 레벨 게이트웨이(Circuit-Level Gateway)
- 외부와 내부 네트워크 사이에 안전한 프록시 데이터 채널을 설정하기 위해 메커니즘을 구축, 내부 네트워크에 있는 호스트를 보호하는 목적으로 사용
- 클라이언트/서버 환경에서 이용되는 Socks 프로토콜을 사용
- 응용 트래픽에 대한 조사가 필요 없으므로 응용 게이트웨이 방화벽에 비해 처리속도가 빠름
- 응용프로그램 수준 방화벽이 제공하는 깊은 검사 능력을 제공하지 않음
5. 침입 차단 시스템의 종류
1. 스크리닝 라우터 구조
라우터를 이용해 각 인터페이스에 들어오고 나가는 패킷을 필터링하여 내부 서버로의 접근을 가려내는 역할을 한다.
연결에 대한 요청이 입력되면 IP, TCP/UDP
의 패킷의 헤더를 분석하여 송신지/목적지 주소와 포트번호, 제어필드의 내용을 분석하고 패킷 필터 규칙에 적용하여 트래픽 통과유무를 결정한다.
-
장점
– 구조가 간단, 장비 추가비용 소모가 없음
– 네트워크 계층에서 동작, 클라이언트와 서버에 변화가 없음
– 네트워크 계층, 트랜스포트 계층에 입각한 트래픽 보호 -
단점
– 세부적인 규칙 설정이 어려움
– 인증기능 수행 불가능, 내부 구조 숨기기 어려움
– 실패한 접속에 대한 로깅을 지원하지 않음, 규칙 검증이 어렵다.
2. 이중 네트워크 호스트 구조(Dual-Homed Host Architecture)
두개의 인터페이스를 가지는 장비를 말한다. (내부, 외부에 각각 1개씩 배치)
라우팅 기능이 없는 방화벽을 설치한다. (배스천 호스트 방식으로 운용)
-
장점
– 스크리닝 라우터 방식보다 안전
– 정보 지향적인 공격 방어
– 관리, 설치, 유지보수 용이 -
단점
– 서비스가 증가할수록 프록시 소프트웨어 가격 상승
– 사용자 정보 입력이 필요
– 배스천호스트 손상, 로그인 정보 유출시 네트워크 보호 불가
3. 스크린드 호스트 게이트웨이 구조(Screened Host Gateway)
듀얼 홈드 호스트 구조 + 스크리닝 라우터
내부 네트워크에 놓여 있는 배스천호스트와 외부 네트워크 사이에 스크리닝 라우터로 구성
-
장점
– 다른 방화벽에 있는 모든 장점이 있으며 융통성도 뛰어남
– 네트워크 계층(스크리닝 라우터)과 응용 계층(배스천호스트)에서 방어하기 때문에 2단계 방어가 가능하다. - 단점
– 서버 속도가 느리고, 배스천호스트 침해 시 내부 네트워크를 보호 할 수 없음 - 내부자에 의해 스크린 라우터의 라우팅 테이블이 변경되면 외부 트래픽이 배스천호스트로 입력되지 않고 곧바로 내부 네트워크로 진입하여 내부 네트워크 방어가 불가
4. 스크린드 서브넷 구조
스크리닝 라우터 + 듀열 홈드 호스트 구조 + 스크리닝 라우터 (3중 방어 체계)
인터넷과 내부 네트워크 사이에 DMZ(Demilitarized Zone)라는 서브넷을 운영하는 방식
외부에서 접속할 수 있어야 하며 보호되어야 할 시스템은 주로 DMZ 네트워크에 배치
-
장점
– DMZ와 같은 보안층을 가지고 있어 매우 안전 다른 방화벽에 있는 모든 장점을 포함, 융통성 또한 뛰어남 -
단점
– 서비스 속도가 낮음
– 다른 방화벽에 비해 설치/관리가 어렵고 구축비용 높음
참고 블로그
https://peemangit.tistory.com/213
https://webstone.tistory.com/136
🐢 현재 공부하고 있는 내용을 학습하며 기록 및 정리를 하기위한 내용들입니다. 🐢
감사합니다.😊
댓글남기기