본문 바로가기
IT&과학/미래 이야기

네트워크 이론 방화벽(firewall)에 대하여 알아보기

by 낭만기사 2020. 8. 5.
반응형

방화벽 개념

서로 다른 네트워크를 지나는 데이터를 특정 규칙에 따라 허용 또는 거부하거나 검열, 수정하는 하드웨어나 소프트웨어 장치이다. 현재는 NPU(Network Processing Unit)기반의 방화벽이 사용되고 있으며, 소프트웨어 방화벽의 유연성과 하드웨어 방화벽의 높은 처리속도를 겸비하고 있다.

 

 

Windows 방화벽

 

 

방화벽 주요 기능

1. 접근제어: 정책에 의하여 허용/차단 결정하기 위한 검사

2. 로깅(Logging) 및 감사 추적(Audit trail): 허가되지 않은 정보에 대한 로그파일 기록, 의심스러운 사항이나 명백한 침입 사실이 학인될 경우, 이에 대한 자세한 정보를 관리자가 추적할 수 있도록 하는 기능

3. 사용자 인증(Authentication): 전통적인 패스워드 시스템의 취약점을 방지하기 위하여 스마트카드나 인증토큰과 같은 강력한 인증기법등이 제시되고 있음

4. 데이터 암호화: 방화벽에서 다른 방화벽까지 전송되는 데이터를 암호, 중요한 트래픽에 대한 암호화 기능을 제공, 외부침입자에게 노출되어도 비밀성 보장됨

 

방화벽의 종류

1. 패킷 필터링 방식

2. 어플리케이션 게이트웨이 방식

3. 서킷 게이트웨이 방식

4. 하이브리드 방식

5. 상태추적(Stateful Inspection) 방식

 

 패킷 필터링 방식

데이터링크 계층에서 네트워크 계층으로 전달되는 패킷 헤더의 주소와 서비스 포트를 검색하여 서비스 허용 여부 파악

 

<특장점>

- 네트워크 계층 - 전송계층에서 동작

- 속도 빠름

- 1세대 방화벽

 

<단점>

- 패킷 내 데이터 파악 힘듬.

- 패킷 헤더 조작 가능 -> 보안상 취약점

- 사용자 인증 및 로깅 기능 약함

- 패킷 필터링 규칙 검증 힘듬  -> 방화벽 부하

 

어플리케이션 게이트웨이 방식

OSI 7계층 전 구간 동작, 페킷의 헤더안의 Data 영역까지 확인. 해당 서비스별로 프락시라는 통신 중계용 데몬이 구동됩. 이 것을 바탕으로 서비스 요청에 대해 방화벽이 접근 규칙을 적용하고 연결을 대신하는 역할을 수행

 

<특장점>

- 외부 network, 내부 network가 프록시 서버를 통해만 연결이 됨.

- 태킷 필터링 방화벽 보다 높은 보안 설정 가능

- 일회용 패스워드를 이용한 강력한 인증기능 제공

- Session에 대한 정보 추적 및 내용 보안 가능

 

<단점>

- 응용 계층에서 동작, 네트워크에 많은 부하 예상

- 일부 서비스에 투명성 제공 어려움.

- 하드웨어에 의존적

- 새로운 서비스 추가 = 새로운 데몬 추가

- 시그니쳐 기반으로 미리 정의된 Application만 수용 가능.

 

서킷 게이트웨이 방식

OSI 7계층 구조에서 5계층(세션) ~ 7계층(응용) 사이에서 접근제어를 실시하는 방화벽을 지칭. 서비스별로 프락시가 존재하는 는게 아니라 어느 서비스도 이용할 수 있는 일반적이고 대표적인 프락시가 존재함.

 

<특장점>

- 내부 IP 주소를 숨길 수 있음.

- 첫 패킷 검사 후, 다음 패킷은 전달만 한다.

- 모든 서비스가 이용 가능한 일반적인 프록시가 존재한다.

- 수정된 클라이언트 프로그램이 설치된 사용자에게 별도의 인증절차 없이 투명한 서비스를 제공가능

 

<단점>

- 방화벽에 접속하기 위해서 서킷 게이트웨이를 인식할 수 있는 수정된 클라이언트 프로그램이 필요하므로 사용자에게 배포 혹은 사용 중인 프로그램을 수정해야함.

 

하이브리드 방식

 하이브리드 방식은 패킷 필터링과 어플리케이션 방식을 혼합한 것이다. 패킷 필터링의 장점과 어플리케이션 방식의 장점을 결합한 방식으로 패킷 레벨 접근 제어 뿐만 아니라 응용 프로그램의 사용자 제어의 장점을 가지게 됨.

 

<특장점>

- 내부 보안 정책 및 어플리케이션 등에 맞추어 선택적인 보안설정 가능

- 여러 유형의 방화벽 특징을 보유함으로써 모든 서비스에 유동적으로 대처가 가능.

 

<단점>

- 관리가 복잡하다.

- 설치 시 전문적인 컨설팅이 필요하다.

 

상태추적(Stateful inspection) 방식

방화벽의 보안정책(ACL)을 통해서 허용된 패킷은 일정 시간 동안 상태 테이블에 저장이 되고, 패킷이 올 때마다 OSI 7계층을 거치지 않고 방화벽에서의 상태 테이블의 허용된 내용을 통해 패킷을 통과시켜주는 방식임. 네트워크 계층(3계층)에서 패킷을 처리하며 프로토콜의 상태정보 테이블을 유지하여 프로토콜에 대한 특성에 따른 변화를 통적으로 대응해주는 대응해주는 방화벽으로 최근에 거의 모든 방화벽 시스템에서 채용되는 시스템. 패킷 필터링 기능에 Session 추적 기능을 추가하여 순서에 위배되는 패킷들을 모두 차단시킴.

 

<특장점>

- 모든 통신채널에 대해 추적 가능

- 높은 필터링 기능 제공

- 어플리케이션 방화벽과 같은 성능저하가 발생하지 않음.

- UDP, RPC 패킷 추적이 가능

- 패킷 내 데이터의 상태가 저장되고 지속적으로 갱신됨.

 

<단점>

- 상태목록에 DOS, DDOS 공격으로 인한 거짓 정보가 차게 되면 장비가 일시적으로 정지하거나 재 가동 해야함.

- 예기치 않은 상황에서 방화벽 재가동 시 현재 연결에 대한 모든 정보를 잃어버리게 되고 정당한 패킷에 대해 거부가 발생할 수 있음.

 

  방화벽 무력화 방법

이색적 스캔 플래그

FIN 스캔, Maimon, Window, SYN/FIN, NULL 스캔 등을 이용해보는 방법.

많은 방화벽에선 FIN 패킷이 통과된다. 따라서 열린 포트 알아낼 수 있다

 

소스 포트 조작

 특정 포트로부터 오는 트래픽을 모두 허용하는 잘못된 설정되어 있는 방화벽들이 많다. 예를 들면 DNS 응답을 허용시키기 위해 53번 포트로부터 오는 패킷들 모두를 허용하는 그러한 설정을 말한다.

 

이러한 설정은 OS 에서도 발생된다. 윈도우 2000, XP 에 있는 IPSec 필터들은 포트 88 에서의 모든 트래픽을 허용하는 규칙이 있다. 다른 방화벽에서도 이러한 잘못된 설정이 존재한다. 즉, 다시 말하면, 방화벽 설정에서 모든 패킷을 차단하도록 하더라도, 특정 포트에 대해서는 통과할 가능성이 있다

 

 IP ID Idel 스캐닝

선택된 좀비 PC 의 IP ID 시퀀스에서 열린 포트들이 추정된다.

1. 좀비 IP ID 를 프로브해서 그것을 기록한다. (이 때 순차적으로 증가하는 PC 를 좀비로 사용 가능하다) ( SYN/ACK 를 보내면 좀비가 RST 으로 응답할 것이므로, 좀비의 IP ID 알 수 있다)

2. 공격자는 좀비 PC 로 위장하여 타겟 호스트 에 SYN 패킷 보낸다. 타겟 호스트는 좀비에게 응답할 수도 있고, 바로 RST 로 끊을 수도 있다.

3. 좀비 IP ID 를 다시 프로브한다. 1번의 IP ID 와 비교하여 포트의 상태를 알아낸다.

- 이 때, 두 개 이상 IP ID 가 증가했다는 것은 보통 악성 좀비 호스트를 의미한다. 왜냐면, 실제 IP ID 는 두 IP 간의 연결마다 변경된다.

 

단편화

일부 패킷 필터는 IP 패킷 단편을 처리하는데 문제가 있다. 또한 이런 처리가 복잡하기 때문에, 모든 단편을 무시하는 경우도 있고, 첫번째 단편 외에는 모두 자동으로 통과하게 하는 그러한 방화벽 혹은 필터도 존재한다. 첫째 단편이 TCP 헤더 포함할 정도로 길지 않거나, 두번째 패킷이 첫번째 패킷을 부분적으로 덮어쓰면 방화벽 오류가 발생할 수 있다.

 

프록시

잘못 설정된 프록시는 보안에 취약하다. 가장 큰 문제는 접근 제어 설정을 잘못하는 경우이다. 예를 들면, 내부 호스트 들이 인터넷 자원들에 접근하기 위해 프록시 설정해 두었다고 하자. 이 때 정상적이라면 내부 호스트에서 프록시로 가는 트래픽만 프록시에서 처리해야 한다. 하지만, 관리자가 반대 방향에서의 트래픽을 허용하도록 해 놓는다면, 공격자들은 해당 프록시를 통해 그 프록시에 연결된 호스트들( 원래는 접근 금지되던) 에 접근할 수 있게 되는 것이다. (역방향 프록시 기술).

 

MAC 주소 속이기

 

일단 기본적으로 이 방법은 End Network 에서만 가능 MAC 주소를 스니핑 하여 그 MAC 주소로 위조하는 것이 의미가 있는 이유는. IP 주소에 비해 이 MAC 주소를 좀 더 신뢰하는 방화벽이 있다

(공유기에 MAC주소를 사용자가 지정하는 기능이 존재)

 

소스 라우팅

먼저 소스 라우팅 이란 패킷을 보낼 경로를 송신자가 결정하는 것이다. 이 때 느슨한 소스 라우팅 은 송신자가 반드시 통과 할 IP 주소만 지정하는 것이다. 그 외는 다른 주소(라우터) 통과 가능하다. 엄격한 소스 라우팅은 수신 호스트까지 가기 위한 모든 통과 경로를 지정하는 것이다. 실패하면 ICMP 메시지 반송.

 

방화벽 내부 PC 또는 서버에 악성코드 감염

 방화벽내 PC또는 서버에 악성코드가 감염될 경우 방화벽을 우회하여 데이터에 접근할 수 있음.

반응형