네트워크 보안 – 방화벽
거의 모든 중간 규모 및 대규모 조직은 인터넷에 존재하며 이에 연결된 조직 네트워크를 가지고 있습니다. 외부 인터넷과 내부 네트워크 사이의 경계에서 네트워크 파티셔닝은 네트워크 보안을 위해 필수적입니다. 내부 네트워크 (인트라넷)를 "신뢰할 수있는"쪽이라고하고 외부 인터넷을 "신뢰할 수없는"쪽이라고하는 경우가 있습니다.
방화벽 유형
방화벽은 조직의 내부 네트워크를 대규모 외부 네트워크 / 인터넷과 격리하는 네트워크 장치입니다. 내부 네트워크에 대한 무단 액세스를 방지하는 하드웨어, 소프트웨어 또는 결합 된 시스템 일 수 있습니다.
내부 네트워크에 들어 오거나 나가는 모든 데이터 패킷은 방화벽을 통과하여 각 패킷을 검사하고 지정된 보안 기준을 충족하지 않는 패킷을 차단합니다.
네트워크 경계에 방화벽을 배포하는 것은 단일 지점에서 보안을 통합하는 것과 같습니다. 그것은 입구에서 아파트를 잠그는 것과 유사하며 각 문에서 반드시 필요한 것은 아닙니다.
방화벽은 다음과 같은 이유로 네트워크 보안을 달성하기위한 필수 요소로 간주됩니다.
내부 네트워크 및 호스트는 제대로 보호되지 않을 수 있습니다.
인터넷은 범죄자, 경쟁 회사의 사용자, 불만을 품은 전직 직원, 비우호적 인 국가의 스파이, 파괴자 등이있는 위험한 곳입니다.
공격자가 네트워크 리소스에 대한 서비스 거부 공격을 시작하지 못하도록 방지합니다.
외부 공격자가 내부 데이터에 대한 불법적 인 수정 / 접근을 방지하기 위해.
방화벽은 세 가지 기본 유형으로 분류됩니다.
- 패킷 필터 (상태 비 저장 및 상태 저장)
- 애플리케이션 수준 게이트웨이
- 회로 수준 게이트웨이
그러나이 세 가지 범주는 상호 배타적이지 않습니다. 최신 방화벽에는 세 가지 범주 중 하나 이상에 배치 할 수있는 다양한 기능이 있습니다.
상태 비 저장 및 상태 저장 패킷 필터링 방화벽
이러한 유형의 방화벽 배포에서 내부 네트워크는 라우터 방화벽을 통해 외부 네트워크 / 인터넷에 연결됩니다. 방화벽은 패킷 단위로 데이터를 검사하고 필터링합니다.
Packet-filtering firewalls 소스 및 / 또는 대상 IP 주소, 프로토콜, 소스 및 / 또는 대상 포트 번호, IP 헤더 내의 다양한 기타 매개 변수와 같은 기준에 따라 패킷을 허용하거나 차단합니다.
결정은 ICMP 메시지 유형, TCP SYN 및 ACK 비트 등과 같은 IP 헤더 필드 이외의 요소를 기반으로 할 수 있습니다.
패킷 필터 규칙은 두 부분으로 구성됩니다.
Selection criteria − 의사 결정을위한 조건 및 패턴 매칭으로 사용됩니다.
Action field−이 부분은 IP 패킷이 선택 기준을 충족하는 경우 취할 조치를 지정합니다. 조치는 방화벽을 통해 패킷을 차단 (거부)하거나 허용 (허용) 할 수 있습니다.
패킷 필터링은 일반적으로 라우터 또는 스위치에서 액세스 제어 목록 (ACL)을 구성하여 수행됩니다. ACL은 패킷 필터 규칙 테이블입니다.
트래픽이 인터페이스에 들어 오거나 나갈 때 방화벽은 각 수신 패킷에 대해 위에서 아래로 ACL을 적용하고 일치하는 기준을 찾고 개별 패킷을 허용하거나 거부합니다.
Stateless firewall일종의 단단한 도구입니다. 패킷을 확인하고 설정된 진행중인 통신의 일부가 아니더라도 기준을 충족하는 경우 허용합니다.
따라서 이러한 방화벽은 stateful firewalls현대 네트워크에서. 이러한 유형의 방화벽은 상태 비 저장 방화벽의 유일한 ACL 기반 패킷 검사 방법보다 더 심층적 인 검사 방법을 제공합니다.
상태 저장 방화벽은 연결 설정 및 해제 프로세스를 모니터링하여 TCP / IP 수준에서 연결을 확인합니다. 이를 통해 연결 상태를 추적하고 어떤 호스트가 특정 시점에 열려 있고 인증 된 연결을 가지고 있는지 확인할 수 있습니다.
새 연결이 요청 될 때만 룰베이스를 참조합니다. 기존 연결에 속하는 패킷을 방화벽의 열린 연결 상태 테이블과 비교하고 허용 또는 차단 여부를 결정합니다. 이 프로세스는 시간을 절약하고 추가 보안을 제공합니다. 이미 설정된 연결에 속하지 않는 한 패킷은 방화벽을 침입 할 수 없습니다. 방화벽에서 비활성 연결 시간이 초과되면 해당 연결에 대한 패킷이 더 이상 허용되지 않습니다.
애플리케이션 게이트웨이
애플리케이션 수준 게이트웨이는 애플리케이션 수준 트래픽에 대한 릴레이 노드 역할을합니다. 수신 및 발신 패킷을 가로 채고 게이트웨이를 통해 정보를 복사 및 전달하는 프록시를 실행하며proxy server, 신뢰할 수있는 서버 또는 클라이언트와 신뢰할 수없는 호스트 간의 직접 연결을 방지합니다.
프록시는 애플리케이션에 따라 다릅니다. OSI 모델의 애플리케이션 계층에서 패킷을 필터링 할 수 있습니다.
애플리케이션 별 프록시
응용 프로그램 특정 프록시는 복사, 전달 및 필터링하도록 설계된 지정된 응용 프로그램에서만 생성 된 패킷을 허용합니다. 예를 들어 Telnet 프록시 만 Telnet 트래픽을 복사, 전달 및 필터링 할 수 있습니다.
네트워크가 응용 프로그램 수준의 게이트웨이에만 의존하는 경우 들어오고 나가는 패킷은 구성된 프록시가없는 서비스에 액세스 할 수 없습니다. 예를 들어 게이트웨이가 FTP 및 Telnet 프록시를 실행하는 경우 이러한 서비스에서 생성 된 패킷 만 방화벽을 통과 할 수 있습니다. 다른 모든 서비스는 차단됩니다.
애플리케이션 수준 필터링
애플리케이션 수준 프록시 게이트웨이는 개별 패킷을 단순히 복사하여 게이트웨이를 통해 맹목적으로 전달하는 것이 아니라 검사하고 필터링합니다. 응용 프로그램 별 프록시는 게이트웨이를 통과하는 각 패킷을 확인하여 응용 프로그램 계층을 통해 패킷의 내용을 확인합니다. 이러한 프록시는 응용 프로그램 프로토콜에서 특정 종류의 명령이나 정보를 필터링 할 수 있습니다.
애플리케이션 게이트웨이는 특정 작업이 수행되는 것을 제한 할 수 있습니다. 예를 들어, 사용자가 'FTP put'명령을 수행하지 못하도록 게이트웨이를 구성 할 수 있습니다. 이는 공격자가 서버에 저장된 정보를 수정하는 것을 방지 할 수 있습니다.
투명한
응용 프로그램 수준 게이트웨이는 투명 할 수 있지만 많은 구현에서는 사용자가 신뢰할 수없는 네트워크에 액세스하기 전에 사용자 인증이 필요합니다.이 프로세스는 진정한 투명성을 감소시킵니다. 사용자가 내부 네트워크 또는 인터넷에있는 경우 인증이 다를 수 있습니다. 내부 네트워크의 경우 간단한 IP 주소 목록을 사용하여 외부 응용 프로그램에 연결할 수 있습니다. 그러나 인터넷 측면에서 강력한 인증을 구현해야합니다.
애플리케이션 게이트웨이는 실제로 두 방향 (클라이언트 ↔ 프록시 ↔ 서버)으로 두 TCP 연결간에 TCP 세그먼트를 릴레이합니다.
아웃 바운드 패킷의 경우 게이트웨이는 원본 IP 주소를 자체 IP 주소로 바꿀 수 있습니다. 이 프로세스를 NAT (Network Address Translation)라고합니다. 내부 IP 주소가 인터넷에 노출되지 않도록합니다.
회로 수준 게이트웨이
회로 수준 게이트웨이는 패킷 필터와 애플리케이션 게이트웨이 사이의 중간 솔루션입니다. 전송 계층에서 실행되므로 모든 응용 프로그램의 프록시 역할을 할 수 있습니다.
애플리케이션 게이트웨이와 마찬가지로 회로 수준 게이트웨이는 게이트웨이를 통한 종단 간 TCP 연결도 허용하지 않습니다. 두 개의 TCP 연결을 설정하고 한 네트워크에서 다른 네트워크로 TCP 세그먼트를 중계합니다. 그러나 애플리케이션 게이트웨이와 같은 애플리케이션 데이터는 검사하지 않습니다. 따라서 '파이프 프록시'라고도합니다.
양말
SOCKS (RFC 1928)는 회로 수준 게이트웨이를 나타냅니다. SOCKS 서버의 한쪽에있는 호스트가 직접적인 IP 연결 없이도 다른쪽에있는 호스트에 대한 전체 액세스 권한을 얻을 수 있도록하는 네트워킹 프록시 메커니즘입니다. 클라이언트는 방화벽에서 SOCKS 서버에 연결합니다. 그런 다음 클라이언트는 사용할 인증 방법에 대한 협상을 입력하고 선택한 방법으로 인증합니다.
클라이언트는 원하는 대상 IP 주소와 전송 포트를 포함하는 연결 릴레이 요청을 SOCKS 서버로 보냅니다. 서버는 클라이언트가 기본 필터링 기준을 충족하는지 확인한 후 요청을 수락합니다. 그런 다음 클라이언트를 대신하여 게이트웨이는 요청 된 신뢰할 수없는 호스트에 대한 연결을 연 다음 뒤 따르는 TCP 핸드 셰이 킹을 면밀히 모니터링합니다.
SOCKS 서버는 클라이언트에게 알리고 성공하면 두 연결 사이에서 데이터 중계를 시작합니다. 회로 수준 게이트웨이는 조직이 내부 사용자를 신뢰하고 인터넷에서 전송되는 콘텐츠 또는 응용 프로그램 데이터를 검사하지 않을 때 사용됩니다.
DMZ를 사용한 방화벽 배포
방화벽은 조직 내부 네트워크의 '들어오고 나가는'네트워크 트래픽을 제어하는 데 사용되는 메커니즘입니다. 대부분의 경우 이러한 시스템에는 두 개의 네트워크 인터페이스가 있습니다. 하나는 인터넷과 같은 외부 네트워크 용이고 다른 하나는 내부 용입니다.
방화벽 프로세스는 한 쪽에서 다른쪽으로 이동할 수있는 항목을 엄격하게 제어 할 수 있습니다. 웹 서버에 대한 외부 액세스를 제공하려는 조직은 포트 80 (표준 http 포트)에 대해 방화벽에 도착하는 모든 트래픽을 제한 할 수 있습니다. 메일 트래픽, FTP, SNMP 등과 같은 다른 모든 트래픽은 방화벽을 통해 내부 네트워크로 허용되지 않습니다. 다음 다이어그램에는 간단한 방화벽의 예가 나와 있습니다.
위의 간단한 배포에서는 외부로부터의 다른 모든 액세스가 차단되지만 공격자가 웹 서버뿐만 아니라 우연히 또는 다른 방법으로 포트 80을 열어 둔 내부 네트워크의 다른 호스트에 연결할 수 있습니다.
따라서 대부분의 조직이 직면 한 문제는 내부 네트워크의 엄격한 보안을 유지하면서 웹, FTP 및 전자 메일과 같은 공용 서비스에 대한 합법적 인 액세스를 가능하게하는 방법입니다. 일반적인 접근 방식은 방화벽을 배포하여 네트워크에 DMZ (비무장 지대)를 제공하는 것입니다.
이 설정 (다음 다이어그램에 설명 됨)에서는 두 개의 방화벽이 배포됩니다. 하나는 외부 네트워크와 DMZ 사이, 다른 하나는 DMZ와 내부 네트워크 사이입니다. 모든 공용 서버는 DMZ에 배치됩니다.
이 설정을 사용하면 공용 서버에 대한 공용 액세스를 허용하는 방화벽 규칙을 가질 수 있지만 내부 방화벽은 들어오는 모든 연결을 제한 할 수 있습니다. DMZ를 사용하면 공용 서버를 외부 네트워크에 직접 배치하는 대신 적절한 보호를받을 수 있습니다.
침입 탐지 / 예방 시스템
패킷 필터링 방화벽은 TCP / UDP / IP 헤더 만 포함하는 규칙에 따라 작동합니다. 서로 다른 세션 간의 상관 관계 검사를 설정하지 않습니다.
침입 탐지 / 방지 시스템 (IDS / IPS)은 패킷 내용을 확인하여 DPI (Deep Packet Inspection)를 수행합니다. 예를 들어, 알려진 바이러스의 데이터베이스, 공격 문자열에 대해 패킷의 문자열을 확인합니다.
애플리케이션 게이트웨이는 패킷 콘텐츠를 확인하지만 특정 애플리케이션에만 적용됩니다. 패킷에서 의심스러운 데이터를 찾지 않습니다. IDS / IPS는 패킷에 포함 된 의심스러운 데이터를 찾고 여러 패킷 간의 상관 관계를 조사하여 포트 스캐닝, 네트워크 매핑, 서비스 거부 등과 같은 공격을 식별합니다.
IDS와 IPS의 차이점
IDS와 IPS는 네트워크에서 이상 징후를 감지하는면에서 유사합니다. IDS는 '가시성'도구 인 반면 IPS는 '제어'도구로 간주됩니다.
침입 감지 시스템은 네트워크 측면에 위치하여 다양한 지점에서 트래픽을 모니터링하고 네트워크의 보안 상태에 대한 가시성을 제공합니다. IDS에서 이상을보고하는 경우 네트워크 관리자 또는 네트워크의 다른 장치가 수정 작업을 시작합니다.
침입 방지 시스템은 방화벽과 같으며 두 네트워크 사이에 인라인으로 배치되어 통과하는 트래픽을 제어합니다. 네트워크 트래픽의 이상 감지에 대해 지정된 정책을 시행합니다. 일반적으로 관리자가 이상을 처리 할 때까지 이상을 발견하면 모든 패킷을 삭제하고 전체 네트워크 트래픽을 차단합니다.
IDS의 유형
IDS에는 두 가지 기본 유형이 있습니다.
Signature-based IDS
서명과 함께 알려진 공격의 데이터베이스가 필요합니다.
서명은 특정 공격을 특징 짓는 패킷의 유형과 순서로 정의됩니다.
이러한 유형의 IDS의 한계는 알려진 공격 만 탐지 할 수 있다는 것입니다. 이 IDS는 또한 잘못된 경보를 발생시킬 수 있습니다. 정상적인 패킷 스트림이 공격의 시그니처와 일치하면 잘못된 경보가 발생할 수 있습니다.
잘 알려진 공개 오픈 소스 IDS의 예는“Snort”IDS입니다.
Anomaly-based IDS
이러한 유형의 IDS는 정상적인 네트워크 작동의 트래픽 패턴을 생성합니다.
IDS 모드에서는 통계적으로 비정상적인 트래픽 패턴을 확인합니다. 예를 들어, ICMP 비정상적인로드, 포트 스캔의 기하 급수적 인 증가 등이 있습니다.
비정상적인 트래픽 패턴이 감지되면 경보가 발생합니다.
이러한 유형의 IDS 배포에서 직면 한 주요 문제는 정상적인 트래픽과 비정상적인 트래픽을 구분하기 어렵다는 것입니다.
요약
이 장에서는 네트워크 액세스 제어에 사용되는 다양한 메커니즘에 대해 설명했습니다. 액세스 제어를 통한 네트워크 보안에 대한 접근 방식은이 자습서의 이전 장에서 설명한 여러 네트워크 계층에서 보안 제어를 구현하는 것과 기술적으로 다릅니다. 그러나 구현 방법은 다르지만 서로 보완 적입니다.
네트워크 액세스 제어는 사용자 인증과 네트워크 경계 보호라는 두 가지 주요 구성 요소로 구성됩니다. RADIUS는 네트워크에서 중앙 인증을 제공하기위한 널리 사용되는 메커니즘입니다.
방화벽은 공용 인터넷에서 내부 네트워크를 분리하여 네트워크 경계 보호를 제공합니다. 방화벽은 네트워크 프로토콜의 여러 계층에서 작동 할 수 있습니다. IDS / IPS는 네트워크 트래픽의 이상을 모니터링하여 공격을 탐지하고 이에 대한 예방 조치를 취할 수 있습니다.