일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 광주인공지능학원
- 크롬
- 도서관관리
- 파이썬
- 멜론
- 스마트인재개발원
- 딥러닝기초수학
- 프로젝트
- 정보보호
- 컴퓨터보안
- 딥러닝
- 보안용어
- 딥러닝실행
- Python
- 머신러닝
- 기본목록
- 문자태그
- java
- 보안
- 딥러닝수학
- HTML
- 웹툰
- Selenium
- 스마트인재개발원 후기
- 크롤링
- for문
- 웹 크롤링
- 주식
- Visual Studio Code
- while문
- Today
- Total
자신의 일은 스스로하자
[컴퓨터 보안] 보안 관련 용어_방화벽 #2 [광주인공지능학원] 본문
광주인공지능학원 스마트인재개발원에서 컴퓨터 언어들에 관해 공부하게 되었고 더 나아가 컴퓨터 보안에도 관심을 가지게 되었습니다.
2021.10.18 - [컴퓨터 보안] - [컴퓨터 보안] 보안 관련 용어_ 방화벽 [광주인공지능학원]
이전 발행 글과 이어집니다.
방화벽은 미리 정의된 보안 규칙에 기반한 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안시스템입니다.
이전 발행 글에서 방화벽의 역할, 역사를 알아보았습니다.
이번 글에서는 방화벽의 기능과 구성에 따른 분류와 구현 방법에 따른 분류를 설명합니다.
광주인공지능학원 스마트인재개발원에서 컴퓨터 언어들에 관해 공부하게 되었고 더 나아가 컴퓨터 보안에도 관심을 가지게 되었습니다.
기능과 구성에 따른 분류
1. 패킷 필터
패킷 필터는 패킷을 검사하여 미리 설정된 정책에 맞지 않을 경우 통과시키지 않도록 하는 형태의 방화벽입니다. 패킷을 다룬다는 측면에서 TCP/IP의 네트워크 계층에서 동작하는 방화벽입니다. 방화벽 관리자는 보호할 네트워크에 적용하 규칙 도는 정책을 설정해야 하고 설정이 되어있지 않다면 기본 정책이 적용됩니다. 커널 레벨에서 수행이 되고 프록시 방식에 비해 제한된 검사만을 수행하여 더 많은 트래픽을 처리할 수 있다는 장점이 있습니다.
패킷 필터 방화벽은 순수하게 패킷 자체를 볼 것인지, 패킷이 속하는 TCP 또는 UDP세션(플로우)도 같이 관리할 것인지에 따라 두 종류로 분류할 수 있습니다. 패킷 자체를 본다면 내부적으로 상태를 관리할 필요가 없으므로 이 종류를 스테이트이스 또는 무상태 방화벽이라고 합니다. 이 종류의 방화벽은 쉽게 구현할 수 있지만, 모든 패킷에 대해서 매번 정책을 검사하여야 하므로 정책이 많아질수록 속도가 느려지는 단점이 있습니다.
패킷이 속하는 세션을 관리하여 이 세션에 속하는 패킷 글에 대해서 모두 동일한 처리를 하게 하는 방화벽의 종류를 스테이트 풀 방화벽이라 하고 상태가 있는 방화벽(유상태 방화벽)이라고 합니다. 방화벽은 두 통신 당사자 간에 세션이 생성될 수 있는 패킷 조합을 감지하여 동적 정책을 내부적으로 관리하며 이 세션에 속하는 패킷들은 방화벽 관리자에 의해서 한번 설정된 후 자주 바뀌지 않는 정적 정책에 비해 빠르게 검색할 수 있는 동적 정책에 의해서 먼저 허용 또는 거부되므로 무상태 방화벽에 비해서 일반적으로 높은 속도를 제공할 수 있습니다. 유닉스 계열의 OS는 ipfw(FreeBSD), pf(OpenBSD 및 다른 BSD계열), ipf(다양한 유닉스에서 지원), iptables/ipchain(리눅스) 등의 다양한 커널 기반의 방화벽을 제공합니다.
2. 프록시(Proxy)
세션에 포함되어 있는 정보의 유해성을 검사하기 위해 방화벽에서 세션을 종료하고 새로운 세션을 형성하는 방식의 방화벽입니다. 출발지에서 목적지로 가는 세션을 명시적으로 또는 암시적으로 가로채어 출발지에서 방화벽까지의 세션과 방화벽에서 목적지까지 두 세션으로 만든 다음 하나의 세션에서 다른 세션으로 정보를 넘겨주기 전에 검사를 수행하는 형태입니다. 패킷 필터에 비해서 방화벽에 더 많은 부하를 주어 속도는 느리지만 더 많은 검사를 수행할 수 있고 프로토콜 변경 등 추가적인 기능을 수행할 수 있다.
광주인공지능학원 스마트인재개발원에서 컴퓨터 언어들에 관해 공부하게 되었고 더 나아가 컴퓨터 보안에도 관심을 가지게 되었습니다.
3. 네트워크 주소 변환 (NAT)
많은 방화벽은 네트워크 주소 변환 (NAT) 기능을 가집니다. 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 어느 정도의 보안 기능을 합니다. 또한 내부에서 사용하는 IP 주소 수보다 더 적은 외부 IP 주소 수만 사용할 수 있기 때문에 인터넷 통신을 위해서 사용하는 모든 컴퓨터 수만큼의 IP 주소를 구매할 필요가 없어져 경제적입니다. 동시에 IPv4 주소를 더 효율적으로 이용할 수 있게 해서 IPv4 주소의 완전 고갈을 늦추고 있는 기능이기도 합니다.
내부 IP 주소 개수보다 더 적은 외부 IP 주소를 사용하므로 하나의 외부 IP 주소 당 여러 내부 IP 주소가 짝지어져야 합니다. 이때 내부에서는 서로 다른 세션이 외부에서는 하나의 세션으로 보일 경우가 생기며, 이처럼 세션 충돌이 생겼을 경우 출발지 포트를 변경하여 충돌을 피하는데 이를 포트 주소 변환 (PAT)라고 부르기도 합니다.
네트워크 주소 변환을 위해서도 방화벽 정책과 같은 정책을 수립하여야 합니다. 일반적으로 RFC1918에 정해진 내부 네트워크 대역인 10.0.0.0, 172.16.0.0, 192.168.0.0 대역을 내부 네트워크의 주소로 하고 이 네트워크 전체가 적은 수의 외부 IP 주소로 변환되도록 정책이 만들어져야 합니다.
NAT 정책의 예시로 변환 전 내부 (출발지:172.16.0.0 /12 목적지:Any )<=> 변환 후 외부 (출발지: AAA.BBB.CCC.D1, AAA.BBB.CCC.D2 목적지: Org) 내부에서 사용하는 네트워크 주소 172.16.0.0/12가 외부에서는 AAA.BBB.CCC.D1 또는 D2로 보이게 변환하는 목적의 정책으로 내부 네트워크에서 외부의 어떤 (Any) 서버나 컴퓨터랑 연결할 때, 출발지는 변환이 되지만 목적지는 원래 그대로(Org)로 유지하도록 하겠다는 정책입니다. 이 정책은 패킷이 외부로 나갈 때도 적용되어야 하지만 외부로부터 돌아오는 응답 패킷에도 동일하게 적용되어야 합니다.
광주인공지능학원 스마트인재개발원에서 컴퓨터 언어들에 관해 공부하게 되었고 더 나아가 컴퓨터 보안에도 관심을 가지게 되었습니다.
구현 방법에 따른 분류
1. 소프트웨어 방화벽
흔히 구할 수 있는 CPU를 장착한 네트워크 장비(PC와 같은 컴퓨터)에 순수하게 소프트웨어를 이용하여 방화벽 기능을 구현한 방화벽입니다.
오픈소스 소프트웨어 방화벽 종류 => IPCOP, IPFIRE, PFSENSE, ENDIAN, MONOWALL, SMOOTHWALL
2. 하드웨어 방화벽
네트워크가 복잡해지고 트래픽이 증가하면서 방화벽이 설치되는 네트워크 관문을 통과하는 네트워크 트래픽의 양은 순수 소프트웨어 방식의 방화벽으로 처리할 수 있는 한계를 넘어서기 시작했습니다. 소프트웨어의 발전 속도보다 네트워크 트래픽의 증가 속도가 더 빠르기 때문입니다. 이에 대한 해결법으로 사람들에 의해서 고안된 것이 ASIC 등을 이용하여 방화벽의 초당 패킷 처리 수를 늘리는 것입니다.
3. NPU 기반의 방화벽
소프트웨어 기반의 방화벽은 속도를 빠르게 하기 힘들고, 순수 하드웨어 기반의 방화벽은 유연성이 떨어지기 때문에 양쪽의 장점만을 취하는 방법이 발달하기 시작했습니다. 공통으로 사용되는 패킷처리 함수를 하드웨어로 구현하되 프로그래밍도 가능한 NPU가 그중 하나입니다.
4. 멀티코어 프로세서 기반의 방화벽
NPU 기반의 방화벽이 뛰어난 성능에 유연성을 겸비하였습니다. 하지만 많은 경우 너무 프로그래밍하기가 어렵습니다. 따라서, 제품 개발에 소요되는 시간이 제품의 전체 수명 주기의 많은 부분을 차지하게 되는 문제가 있습니다. 시장에서 흔하게 팔리고 있는 CPU와 같은 명령어를 가지고 있어서 개발자에게 익숙한 처리 단위(CPU의 코어)를 가지고 있어서 한 번에 많은 양의 패킷을 처리할 수 있게 한 것이 멀티코어 프로세서 기반의 방화벽입니다.
광주인공지능학원 스마트인재개발원에서 컴퓨터 언어들에 관해 공부하게 되었고 더 나아가 컴퓨터 보안에도 관심을 가지게 되었습니다.
아래 링크는 광주인공지능학원입니다.
'컴퓨터 보안' 카테고리의 다른 글
[컴퓨터 보안] 보안 관련 용어_암호학 [ 광주인공지능학원] (0) | 2021.10.25 |
---|---|
[컴퓨터 보안] 보안 관련 용어_ 방화벽 [광주인공지능학원] (0) | 2021.10.18 |
[컴퓨터 보안] 컴퓨터 취약점, 공격의 종류 [광주인공지능학원] (0) | 2021.10.18 |
[컴퓨터 보안] 내부 불법행위의 이유 [광주인공지능학원] (0) | 2021.10.11 |
[컴퓨터 보안] 인적위협_기술적위협_물리적위협 [광주인공지능학원] (0) | 2021.10.11 |