기사자격증(알기사, 방화벽)

반응형

침입차단 시스템(방화벽)

- 사설 N/W를 외부로부터 보호하기 위해 공중 N/W와 사설 N/W 사이에 설치된 일종의 벽

- 보안정책에 따라 인가된 N/W 서비스에 대한 접근 허용, 비인가된 트래픽은 차단함

- 인터넷 기반 공격으로부터 내부 N/W 보호

- 보안정책은 접근통제목록(ACL)을 참조하여 만든다.

- 침입차단 시스템의 기능

 1. 접근통제 - ACL로 만든 보안정책에 따라 허용 / 차단을 결정하기 위한 검사

 2. 사용자 인증 - 방화벽은 내 / 외부 N/W의 접속점이기 때문에 인증이 필요하다.

 3. 감사 및 로그 기능 - 방화벽은 모든 트래픽에 대한 정보를 로그하는 기능이 필요

 4. 프라이버시 보호

 5. 서비스 통제

 6. 데이터 암호화

 

- 방화벽의 역할

 1. 취약한 서비스로부터 보호

 2. 집중된 보안 - 보안 소프트웨어를 방화벽 쪽에서 집중관리하면 관리에 효율적

 3. 비밀성 향상

 

- 방화벽의 한계

 1. 악성 소프트웨어 침투 방어에 한계가 있음

  - 방화벽은 패킷의 IP주소, 포트번호로 접근을 제어 문서, 프로그램 내부에 포함된 악성 소프트웨어 탐지에 한계가 있음

 2. 악의적인 내부 사용자의 공격을 막을 수 없다.

  - 방화벽은 신뢰하지 않는 외부 N/W로부터 신뢰하는 내부 N/W를 보호함 내부 공격자에게 보안 정책 적용이 불가

 3. 전혀 새로운 공격은 막을 수 없다.

  - 예측된 접속에 대한 규칙을 새우고 방어하기 때문에 새로운 공격 형태는 능동적 적용 불가

 4. 자신을 통과하지 않은 통신에 대한 제어는 불가능하다

 

- 방화벽의 장단점

장점

단점

취약한 서비스 보호 가능

호스트 시스템 접근제어 기능

로그와 통계자료 유지

내부 N/W 모든 자원에 일관된 보안 정책 적용 가능

제한된 서비스

우회 트래픽 제어 불가

악의적 내부 사용자로부터 시스템 보호 불가

새로운 형태 공격, 바이러스 대처 곤란

 

- 방화벽은 UTM을 통해 훨씬 효율적으로 사용이 가능하다

 ※ UTM : 다양한 보안 솔루션을 하나의 장비에 탑재한 All-In-One 보안 솔루션으로 보안성 강화, 운영의 효율성을 제공

 

- 방화벽 설계시 고려사항

 1. 어떤 자원을 보호중이며 어떤 위협이 존재하는가?

 2. 어떤 사용자를 인증할 것인가?

 3. 보호해야 할 자원의 중요도는 어느정도 인가?

 

- 방화벽 운영정책

정책

상세내용

예시

특징

Deny All

(default = 거부)

모든 트래픽을 차단하고 허용해야 할 트래픽만 선별적 허용

중요 서버 접속이나 외부에서 내부망 접속차단 정책

가용성보다 보안성에 집중

Permit All

(default = 허용)

모든 트래픽을 허용하고 차단해야 할 트래픽만 선별적 차단

내부망에서 외부망 접속

보안성보다는 가용성에 집중

 

- 방화벽의 종류 : 패킷필터링 시스템, 응용 게이트웨이 방식

 

패킷 필터링방법

- 수동적인 침입차단 시스템

- 패킷의 발신지 주소, 목적지 주소, 사용하고있는 세션, APP 프로토콜 기반으로 데이터 흐름 통제

- 패킷 필터링을 위하여 사용되는 정보

 1. 출발지, 목적지 IP 주소

 2. 출발지, 목적지 포트번호

 3. 트래픽의 방향

 4. 프로토콜 형태

 5. 패킷의 상태(SYN or ACK)

- 패킷 필터링은 IP주소를 이용한 패킷 필터링 포트번호를 이용한 패킷 필터링이 있다.

- 패킷 필터링의 장점

 1. 단순성 - 패킷필터링은 IP 주소만 보고 필터링을 하기 때문에 구현이 쉽다

 2. 고속처리 - 단순히 헤더정보를 모니터링하므로 고속으로 처리가 가능하다

 3. 투명성 - 사용자는 필터링 방화벽의 존재를 알지 못하는 상태에서 보안서비스를 받을 수 있다.

 4. 효율성 우수

- 패킷 필터링 단점

 1. 응용 서비스별 정교한 제어 불가

 2. 로그 기능과 감사기능이 부족

 3. 고급 사용자 인증 구조를 지원하지 않는다.

 4. 프로토콜 스택 안 문제, TCP / IP 명세같은 공격에 취약

 5. 패킷 단편화 공격을 탐지 할 수 없음

  ※패킷 단편화 공격 : 라우터가 다음 홉 MTU보다 큰 크기의 PDU 수신시 패킷을 쪼개고 수신자가 쪼개진 패킷을 다시 합치는데 그때 PDU에 악성코드를 숨겨 방화벽을 우회하여 내부 N/W에 접속하는 공격

장점

단점

확장 가능

높은 성능 제공

응용프로그램에 독립적

패킷에서 헤더정보 외에는 조사를 안함

다른 필터링들 방법에 비해 낮은 보안성

연결 상태 추적하지는 않는다.

 

IP 주소를 이용한 패킷 필터링

- 단순히 패킷 내의 IP주소에 의해 패킷의 흐름을 제한하는 방식(프로토콜은 고려하지 않음)

- 위조된 발신지 주소 차단 및 외부 호스트의 내부 호스트와 통신 여부 판단

- 단순 필터링이기 때문에 세분화된 보안정책은 수행 불가

 

서비스(포트)를 이용한 패킷 필터링

- 패킷내의 서비스 포트 번호를 이용하여 필터링 수행

- IP 주소 패킷 필터링보다 더 복잡하며 세분화된 보안정책 수행이 가능하다.

 

NAT(Network Address Translation)

- 사설 주소와 범용주소의 매핑 제공, 동시에 가상 사설 네트워크를 지원

- 사설주소를 범용주소로 변환해주는 역할

- NAT을 이용하면 적은 숫자의 유효 IP주소만으로 많은 시스템이 인터넷에 접속살 수 있게 함

- NAT을 사용하면 외부에서 내부 N/W로 직접적 접근이 불가능해 보안효과를 얻을 수 있다.

- 주소 변환 과정

사설 주소가 NAT 라우터를 통해 출발지 주소를 범용 NAT 주소로 변경하고 NAT 네트워크를 통해 범용 IP주소가 다시 사설 IP주소로 변경 됨

 

- NAT의 종류

 1. Static NAT : 하나의 내부 IP주소와 하나의 외부 IP주소가 매핑

 2. Dynamic NAT : 여러개의 내부 IP주소와 여러개의 IP 주소가 매핑

 3. PAT : 하나의 공인 IP를 다수의 사설 IP포트번호를 가지고 주소 매핑

 

상태 기반 패킷 검사(Stateful Packet Inspction Firewall)

- 패킷 필터링 방화벽과 같이 패킷 정보를 검토+ TCP 연결에 관한 정보 기록

- TCP 순서번호를 추적하기 때문에 세션 하이재킹 공격을 막을 수 있다.

- N/W, 전송계층에서 동작

- 모든 통신 채널을 추적하는 상태 테이블을 관리

- UDP, ICMP와 같은 비연결 지향적 프로토콜 추적하는 데이터 제공

- 패킷 필터링 방화벽과 상태 기반 패킷 검사 방화벽의 동작 원리

- 작동원리

 1. 데이터링크 계층에서 SYN 패킷을 받으면 상태 테이블에 남겨 허용여부를 결정

 2. 금지된 패킷은 로그 저장 후 전송 수행하지 않고 허용된 패킷은 N/W 계층으로 전송

 3. SYN 패킷이 아닌 경우 상태 테이블에 패킷정보 여부 검사 후 존재하면 N/W계층으로 전송 존재하지 않으면 접근정책에 따라 전송여부 결정

- 장점

 1. 보안성 높일 수 있음

 2. 전체 계층에 대해 상태 조사, 사용자 설정없이 투명성 제공

- 단점

 1. 연결요청의 첫 패킷 헤더가 공격당하면 잘못된 상태테이블을 구성해 N/W 보안에 치명적

 

프락시(Proxy)

- 클라이언트에서 어떤 인터넷의 주소의 정보검색 요구를 받으면 주소를 먼저 읽어와 프락시 서버에 있으면 즉시 찾아주고, 없으면 서버로부터 정보를 가지고와 저장장치에 저장

- 프락시 서비스는 프락시서버와 프락시 클라이언트로 구성

- 프락시 의 장단점

장점

단점

전체적인 패킷 안 정보를 검사

패킷 필터링보다 더 나은 보안기능 제공

보호되는 시스템과 보호되지 않는 시스템 사이 연결을 차단

몇몇 프락시 서버는 제한된 서비스 제공

트래픽 성능 저하

응용프로그램 기반 프락시방화벽은 확장성, 성능에 논점을 일으킨다

클라이언트 / 서버 모델을 깸

보안적으로는 바람직하지만 기능상의 단점이 존재

 - 프락시 서버의 종류

 1. Transparent Proxy

  - 웹 요청 시도 시 서비스요청 헤더부분에 client의 IP를 함께보냄

  - 서버서 패킷의 헤더를 검사하면 충분히 Client IP 추적이 가능

  - 헤더의 포함내용 : 프락시 서버 종류, Client 실제 IP

  - 헤더를 분석하면 VIA 부분이 프락시 서버의 종류, X-Forwarded-For 뒤가 실제 IP를 뜻한다. 

  - 추적이 쉽다.

 2. Anonymous proxy

  - Client IP를 완벽하게 숨기지만 프락시 사용중이라는 표시는 헤더에 뜬다.

  - 역추적이 어렵다.

  - 헤더의 포함내용 : 프락시 서버 종류

 3. High Anonymous proxy

  - Client IP, 사용중이라는 표시조차 되자않음

  - 헤더에 아무것도 표현이 되지않아 일반 client와 high anonymous type proxy 사용자를 현재 기술력으로는 구별할 수 없다.

 

배스천 호스트

- 침입차단 S/W가 설치되어 내외부 N/W사이서 게이트웨이 역할 수행하며 철저한 보안 방어기능이 구축되어 있는 컴퓨터 시스템

 ※게이트웨이 : 현재 사용자가 위치한 N/W서 다른 N/W로 이동하기 위해 반드시 거쳐야 하는 거점

- 외부 N/W에서 내부 N/W로 직접적 접속을 허용하지 않아 외부에서 내부로 접속을 위해서는 반드시 배스천호스트를 거쳐야한다.

- 배스천 호스트는 방화벽 시스템이 가지는 기능 중 가장 중요한 기능을 제공 침입차단 관리자가 집중적으로 관리해야함

- 배스천호스트는 가능한 단순하게 구성해야 보안정책을 쉽게 구성할 수 있음

- 배스천 호스트의 장 단점

장점

단점

스크리닝 라우터 방식보다 안전

정보 지향적 공격 방어 가능

각종 기록 정보 생성 및 관리가 쉬움

배스천호스트 손상시 내부 N/W 보호 불가

로그인 정보 유출시 내부 N/W 보호 불가

 

응용프로그램 수준 프락시 방화벽

- 패킷을 응용프로그램 계층까지 검사(회선 수준 프락시는 세션계층까지만 검사)

- FTP GET, FTP PUT 명령어 구분하여 세분화된 접근 결정 내리기 가능(패킷 필터링은 FTP요청 전체를 허용 or 거부함)

- 응용서비스마다 각각 다른 응용 게이트웨이 구현해 보다 안전하게 내부 N/W 시스템 보호가 가능

- 응용서비스 수준 프락시 방화벽 장단점

장점

단점

응용서비스 사용에 따른 기록 및 감사추적 가능

강력한 인증서비스

융통성이 좋음

스푸핑과 다른 정교한 공격에 대응할 수 있음

회선수준보다 나은 보호 제공

높은 대역폭, 실시간 응용프로그램에 적합하지 않다

새로운 N/W 응용프로그램, 프로토콜 지원이 제한적

응용서비스별 별도의 프락시 서버가 필요

(회선 수준 프락시는 프로토콜별로 하나의 프락시 서버를 필요로 하지 않음)

회선수준보다 많은 처리 요구하기 때문에 속도가 느림

 

회선 수준 게이트웨이

- SOCKS 프로토콜을 사용하는 프락시 서버 외부와 내부 N/W 사이 안전한 프락시 데이터 채널 설정위한 메커니즘 구축, 내부 N/W 호스트 보호

 ※SOCKS : 클라이언트 / 서버 환경에서 이용되는 프락시 접속 프로토콜

- 내부N/W 호스트만을 보호(응용수준 게이트웨이 : 내부 N/W 서버를 보호)

- 서비스마다 개별 프락시 서버를 둘 필요가 없음

- 응용수준 게이트웨이보다 낮은 보안 제공

- 장 단점

장점

단점

응용 게이트웨이 방화벽보다 처리속도 빠름

패킷 필터링 방화벽보다 높은 수준의 보안 서비스 제공

응용 트래픽 조사를 하지않아 응용 서비스 사용해 공격에 취약

 

스크리닝 라우터

- 라우터를 이용해 인터페이스에 들어오고 나가는 패킷 필터링

- 연결 요청이 들어오면 IP, TCP/UDP 패킷 헤더 분석해 출발지 / 목적지 주소, 포트번호, 제어필드 내용 분석해 패킷을 차단 / 통과여부 판단

- 장 단점

장점

단점

구조간단, 장비 추가비용 없음

서버-클라이언트에 변화가 없어도 된다

하나의 스크리닝 라우터로 보호하고자 하는 전체 N/W에 동일한 보호가 가능

세부적 규칙적용이 어렵고, 많은 규칙 적용시 라우터에 부하 걸려 대역폭의 효과적 이용이 어려움

인증기능 수행 불가

내부구조 숨기기 어렵고 방어의 깊이 약함

실패한 접속에 대한 로깅지원x, 패킷필터링 규칙에 대한 검증이 어려움

 

이중 네트워크 호스트 구조(Dual-Homed)

- 두 개의 인터페이스를 가지는 장비로 하나는 외부 N/W, 하나는 내부 N/W와 연결

- 듀얼홈드 게이트웨이가 배스천호스트 역할을 수행하며 N/W들이 서로 데이터를 공유하도록 도와줌으로써 여러개 N/W가 동시에 통신할 수 있도록 지원

- N/W의 모든 패킷을 검사하기 때문에 상당히 높은 성능의 시스템이 요구되며 소규모 N/W에 적합

- 단점

장점

단점

스크리닝 라우터 방식보다 안전

정보 지향적 공격 방어 가능

각종 기록정보 생성

내부 N/W 숨길수 있음

관리 / 설치 유지, 보수가 용이

제공되는 서비스가 증가할수록 proxy S/W 가격 상승

배스천호스트 망가지거나 ID/PW노출시 내부 N/W보호 불가

 

스크린드 호스트 게이트웨이

- 듀얼홈드 게이트웨이 + 스크리닝 라우터

- 내부 N/W에 배스천호스트, 외부 N/W에 스크리닝 라우터를 설치함

- 패킷 필터링 or 스크리닝 라우터의 한 포트를 외부 N/W에 연결 다른 한부분은 내부 N/W에 연결함

- 장단점

장점

단점

다른 방화벽에 있는 모든 장점이 있으며 융통성 뛰어남

2단계 방어가능

필터링 규칙이 단순

방어 깊이 개선되어 해커의 공격에 잘 대응할 수 있음

서비스 속도 느림

IP스푸핑, 단편화 공격으로 배스천호스트 접속시 배스천호스트 내부 N/W 보호 불가

스크린 라우터의 라우팅 테이블 변경시 외부 트래픽이 배스천호스트로 입력되지 않고 곧바로 내부 N/W로 진입해 내부 N/W 방어 불가

 

스크린드 서브넷 구조

- 스크리닝 라우터들 사이에 듀얼홈드 게이트웨이가 위치하는 구조

- 인터넷과(외부 N/W)와 내부 N/W사이에 DMZ라는 네트워크 완충지역 역할하는 서브넷 운영하는 방식 3중 방어체계를 가지는 가장 안전한 구성)

- 보호되어야할 시스템은 주로 DMZ 네트워크에 배치

- DMZ안 시스템은 반드시 외부로 연결할 수 있어야함

- 중요 정보가 있는 시스템들은 내부 N/W에 설치

- 허니팟은 스크린드 서브넷 또는 DMZ에 위치

- 외부 라우터가 트래픽이 서브넷에 진입하기 전에 걸러내거나 검사함

- 내부 N/W를 향하는 트래픽은 두 개의 침입차단 시스템을 통과해야한다.

- 장 단점

장점

단점

매우 안전하고 유연한 방식

다른 방화벽의 장점이 모두 있음

융통성 좋음

다른 방화벽에 비해 설치, 관리가 어렵고 구축비용이 많이듬

속도가 느리다.

 

 

심층 패킷 검사(DPI)

- 패킷 내부의 콘텐츠까지 파악하고 클라이언트 서버간의 패킷 통신에 규약에 대한 정보까지 파악하여 규약대로 통신이 이루어지고 있는지 아니면 비정상적인 통신형태가 이루어지는지 파악하는 기술

 

iptables

- 리눅스 커널에 내장된 netfilter 기능을 관리하기 위한 툴

- rule 기반 패킷 필터링 기능 제공

- 상태추적 기능 제공

 ※ 상태추적 기능 : 방화벽을 통과하는 모든 패킷에 대한 연결상태를 추적해 기존 연결을 가장하여 접근시 상태목록과 비교해 적합하면 통과 부적합하면 거부함

- NAT 기능 제공

- 패킷 레벨에서의 로깅기능 제공

- 확장모듈을 통한 다양한 기능 제공

- iptables 사용법

iptables 테이블명 체인명 룰설정 타깃지정

 

1. table : iptables가 제공하는 기능, 패킷필터링 제공하는 filter 테이블과 NAT 기능 제공하는 nat 테이블이 존재

2. chain : 패킷이 이동하는 경로

- INPUT 체인 : 방화벽을 최종 목적지로 하는 체인

- OUTPUT 체인 : 방화벽을 최초 출발지로 하는 체인

- FORWARD 체인 : 방화벽을 통과하는 채널

3. 룰설정할 체인

- A : append, 해당 체인의 제일 마지막에 룰 추가

- I : insert, 해당 체인 첫 행에 룰 추가

- D : delete, 행번호를 지정해 특정 위치의 룰 삭제

- F : flush, 해당 체인의 모든 룰 삭제

- P : default, 해당 체인의 모든 룰에 매칭되지 않을 경우 적용

4. 룰 설정

- p : 프로토콜 지정

- s : 출발지 IP, 명시하지 않으면 any

- d : 목적지 I, 명시하지 않으면 any

- --sport : 출발지 포트

- --dport : 목적지 포트

- -i : 패킷이 들어오는 인터페이스 지정

- -o : 패킷이 나가는 인터페이스 지정

5. 타깃지정

-j : 룰에 매칭될 때 적용할 정책 또는 타깃체인 지정

REJECT : 차단과 함께 ICMP 에러응답 전송

DROP : 차단과 함께 아무것도 하지 않는다.

 

 

반응형