네트워크 보안-빠른 가이드

이 현대 시대에 조직은 효율적이고 생산적인 방식으로 조직 전체에서 정보를 공유하기 위해 컴퓨터 네트워크에 크게 의존합니다. 조직의 컴퓨터 네트워크는 이제 크고 유비쿼터스가되고 있습니다. 각 직원이 전용 워크 스테이션을 가지고 있다고 가정하면 대규모 회사는 네트워크에 수천 개의 워크 스테이션과 많은 서버를 보유하게됩니다.

이러한 워크 스테이션은 중앙에서 관리되지 않거나 경계 보호 기능이 없을 가능성이 높습니다. 사용자간에 사이버 인식 수준이 다른 다양한 운영 체제, 하드웨어, 소프트웨어 및 프로토콜이있을 수 있습니다. 이제 회사 네트워크에있는 수천 개의 워크 스테이션이 인터넷에 직접 연결되어 있다고 상상해보십시오. 이러한 종류의 보안되지 않은 네트워크는 중요한 정보를 보유하고 취약성을 표시하는 공격의 표적이됩니다.

이 장에서는 네트워크의 주요 취약점과 네트워크 보안의 중요성에 대해 설명합니다. 다음 장에서는이를 달성하는 방법에 대해 설명합니다.

물리적 네트워크

네트워크는 리소스를 효율적으로 공유하기 위해 함께 연결된 두 개 이상의 컴퓨팅 장치로 정의됩니다. 또한 두 개 이상의 네트워크를 함께 연결하는 것을internetworking. 따라서 인터넷은 상호 연결된 네트워크의 모음 인 인터 네트워크 일뿐입니다.

내부 네트워크를 설정하기 위해 조직에는 다양한 옵션이 있습니다. 유선 네트워크 또는 무선 네트워크를 사용하여 모든 워크 스테이션을 연결할 수 있습니다. 오늘날 조직은 대부분 유선 및 무선 네트워크의 조합을 사용하고 있습니다.

유선 및 무선 네트워크

유선 네트워크에서 장치는 케이블을 사용하여 서로 연결됩니다. 일반적으로 유선 네트워크는 장치가 UTP (Unshielded Twisted Pair) 케이블을 사용하여 다른 스위치에 연결되는 이더넷 프로토콜을 기반으로합니다. 이러한 스위치는 인터넷에 액세스하기 위해 네트워크 라우터에 추가로 연결됩니다.

무선 네트워크에서 장치는 무선 전송을 통해 액세스 포인트에 연결됩니다. 액세스 포인트는 외부 네트워크 액세스를 위해 스위치 / 라우터에 케이블을 통해 추가로 연결됩니다.

무선 네트워크는 제공되는 이동성으로 인해 인기를 얻었습니다. 모바일 장치는 케이블에 연결할 필요가 없으며 무선 네트워크 범위 내에서 자유롭게 로밍 할 수 있습니다. 이를 통해 효율적인 정보 공유가 보장되고 생산성이 향상됩니다.

취약성 및 공격

유선 및 무선 네트워크 모두에 존재하는 일반적인 취약점은 네트워크에 대한 "무단 액세스"입니다. 공격자는 비보안 허브 / 스위치 포트를 통해 자신의 장치를 네트워크에 연결할 수 있습니다. 이와 관련하여 무선 네트워크는 물리적 연결없이 쉽게 액세스 할 수 있기 때문에 유선 네트워크보다 덜 안전하다고 간주됩니다.

액세스 후 공격자는이 취약점을 악용하여 다음과 같은 공격을 시작할 수 있습니다.

  • 귀중한 정보를 훔치기 위해 패킷 데이터를 스니핑합니다.

  • 스퓨리어스 패킷으로 네트워크 매체를 플러딩하여 네트워크의 합법적 인 사용자에 대한 서비스 거부.

  • 합법적 인 호스트의 물리적 ID (MAC)를 스푸핑 한 다음 데이터를 훔치거나 '중간자 (man-in-the-middle)'공격을 추가로 실행합니다.

네트워크 프로토콜

네트워크 프로토콜은 네트워크에 연결된 장치 간의 통신을 제어하는 ​​규칙 집합입니다. 여기에는 연결을위한 메커니즘과주고받는 메시지에 대한 데이터 패키징 규칙의 서식이 포함됩니다.

특정 목적을 위해 각각 설계된 여러 컴퓨터 네트워크 프로토콜이 개발되었습니다. 널리 사용되고 널리 사용되는 프로토콜은 관련된 상위 및 하위 수준 프로토콜이있는 TCP / IP입니다.

TCP / IP 프로토콜

Transmission Control Protocol (TCP) 및 Internet Protocol(IP)는 주로 함께 사용되는 두 개의 서로 다른 컴퓨터 네트워크 프로토콜입니다. 인기와 폭 넓은 채택으로 인해 네트워크 장치의 모든 운영 체제에 내장되어 있습니다.

IP는 네트워크 계층 (계층 3)에 해당하는 반면 TCP는 OSI의 전송 계층 (계층 4)에 해당합니다. TCP / IP는 TCP 전송이 IP 네트워크를 통해 데이터를 전달하는 데 사용되는 네트워크 통신에 적용됩니다.

TCP / IP 프로토콜은 일반적으로 HTTP, FTP, 애플리케이션 계층의 SSH 및 데이터 링크 / 물리적 계층의 이더넷과 같은 다른 프로토콜과 함께 사용됩니다.

TCP / IP 프로토콜 제품군은 보안 측면에 대한 관심이 거의없는 인터 네트워크 솔루션으로 1980 년에 만들어졌습니다.

제한된 신뢰할 수있는 네트워크에서의 통신을 위해 개발되었습니다. 그러나 일정 기간 동안이 프로토콜은 보안되지 않은 인터넷 통신을위한 사실상의 표준이되었습니다.

TCP / IP 프로토콜 슈트의 일반적인 보안 취약점 중 일부는 다음과 같습니다.

  • HTTP는 웹 서버에서 웹 페이지를 구성하는 전송 파일에 사용되는 TCP / IP 제품군의 애플리케이션 계층 프로토콜입니다. 이러한 전송은 일반 텍스트로 이루어지며 침입자는 서버와 클라이언트간에 교환되는 데이터 패킷을 쉽게 읽을 수 있습니다.

  • 또 다른 HTTP 취약점은 세션을 초기화하는 동안 클라이언트와 웹 서버 간의 약한 인증입니다. 이 취약점은 공격자가 합법적 인 사용자의 HTTP 세션을 훔치는 세션 하이재킹 공격으로 이어질 수 있습니다.

  • TCP 프로토콜 취약점은 연결 설정을위한 3 방향 핸드 셰이크입니다. 공격자는이 취약점을 악용하기 위해 서비스 거부 공격 "SYN-flooding"을 실행할 수 있습니다. 그는 악수를하지 않고 반 개방 세션을 많이 만든다. 이로 인해 서버 과부하 및 결국 충돌이 발생합니다.

  • IP 계층은 많은 취약점에 취약합니다. IP 프로토콜 헤더 수정을 통해 공격자는 IP 스푸핑 공격을 시작할 수 있습니다.

위에서 언급 한 것 외에도 TCP / IP 프로토콜 제품군의 설계 및 구현에는 다른 많은 보안 취약점이 존재합니다.

덧붙여서 TCP / IP 기반 네트워크 통신에서 한 계층이 해킹되면 다른 계층은 해킹을 인식하지 못하여 전체 통신이 손상됩니다. 따라서 완벽한 보안을 보장하기 위해 각 계층에서 보안 제어를 채택해야합니다.

DNS 프로토콜

Domain Name System(DNS)는 호스트 도메인 이름을 IP 주소로 확인하는 데 사용됩니다. 네트워크 사용자는 주로 웹 브라우저에 URL을 입력하여 인터넷을 검색하는 동안 DNS 기능에 의존합니다.

DNS에 대한 공격에서 공격자의 목표는 올바른 DNS 레코드를 수정하여 잘못된 IP 주소로 확인되도록하는 것입니다. 해당 IP에 대한 모든 트래픽을 잘못된 컴퓨터로 보낼 수 있습니다. 공격자는 DNS 프로토콜 취약성을 악용하거나 공격을 구체화하기 위해 DNS 서버를 손상시킬 수 있습니다.

DNS cache poisoningDNS 프로토콜에서 발견 된 취약점을 악용하는 공격입니다. 공격자는 확인자가 권한있는 서버로 보낸 재귀 DNS 쿼리에 대한 응답을 위조하여 캐시를 감염시킬 수 있습니다. DNS 리졸버의 캐시가 감염되면 호스트는 악성 웹 사이트로 이동하고이 사이트와의 통신을 통해 자격 증명 정보를 손상시킬 수 있습니다.

ICMP 프로토콜

Internet Control Management Protocol(ICMP)는 TCP / IP 네트워크의 기본 네트워크 관리 프로토콜입니다. 네트워크로 연결된 장치의 상태에 대한 오류 및 제어 메시지를 보내는 데 사용됩니다.

ICMP는 IP 네트워크 구현의 필수적인 부분이므로 매우 네트워크 설정에 존재합니다. ICMP는 자체 취약성이 있으며 네트워크 공격을 시작하기 위해 악용 될 수 있습니다.

ICMP 취약점으로 인해 네트워크에서 발생할 수있는 일반적인 공격은 다음과 같습니다.

  • ICMP를 사용하면 공격자가 네트워크 정찰을 수행하여 네트워크 토폴로지와 네트워크 경로를 결정할 수 있습니다. ICMP 스윕은 전체 대상 네트워크에서 살아있는 모든 호스트 IP 주소를 검색하는 것을 포함합니다.

  • 추적 경로는 클라이언트에서 원격 호스트로의 경로를 실시간으로 설명하여 대상 네트워킹을 매핑하는 데 사용되는 널리 사용되는 ICMP 유틸리티입니다.

  • 공격자는 ICMP 취약점을 사용하여 서비스 거부 공격을 시작할 수 있습니다. 이 공격은 65,535 바이트를 초과하는 IPMP ping 패킷을 대상 장치로 보내는 것과 관련됩니다. 대상 컴퓨터가이 패킷을 제대로 처리하지 못하여 운영 체제가 손상 될 수 있습니다.

ARP, DHCP, SMTP 등과 같은 다른 프로토콜도 공격자가 네트워크 보안을 손상시킬 수있는 취약점을 가지고 있습니다. 이 취약점 중 일부는 이후 장에서 설명합니다.

프로토콜 설계 및 구현 과정에서 보안 측면에 대한 최소한의 관심이 네트워크 보안 위협의 주요 원인이되었습니다.

네트워크 보안의 목표

이전 섹션에서 설명한 것처럼 네트워크에는 많은 취약점이 있습니다. 따라서 전송 중에 데이터는 공격에 매우 취약합니다. 공격자는 통신 채널을 표적으로 삼아 데이터를 획득하고 동일한 내용을 읽거나 잘못된 메시지를 다시 삽입하여 악의적 인 목표를 달성 할 수 있습니다.

네트워크 보안은 통신 체인의 각 끝에있는 컴퓨터의 보안에만 관심이있는 것이 아닙니다. 그러나 전체 네트워크의 보안을 보장하는 것을 목표로합니다.

네트워크 보안은 네트워크 및 데이터의 유용성, 신뢰성, 무결성 및 안전을 보호하는 것을 수반합니다. 효과적인 네트워크 보안은 네트워크에 유입되거나 확산되는 다양한 위협을 제거합니다.

네트워크 보안의 주요 목표는 기밀성, 무결성 및 가용성입니다. 네트워크 보안의이 세 가지 기둥은 종종CIA triangle.

  • Confidentiality− 기밀 유지 기능은 권한이없는 사람으로부터 소중한 비즈니스 데이터를 보호하는 것입니다. 네트워크 보안의 기밀성 부분은 데이터가 의도되고 승인 된 사람 만 사용할 수 있도록합니다.

  • Integrity−이 목표는 데이터의 정확성과 일관성을 유지하고 보장하는 것을 의미합니다. 무결성의 기능은 데이터가 신뢰할 수 있고 권한이없는 사람이 변경하지 않도록하는 것입니다.

  • Availability − Network Security의 가용성 기능은 합법적 인 사용자가 필요할 때마다 데이터, 네트워크 리소스 / 서비스를 지속적으로 사용할 수 있도록하는 것입니다.

네트워크 보안 달성

네트워크 보안을 보장하는 것은 매우 간단 해 보일 수 있습니다. 달성해야 할 목표는 간단 해 보입니다. 그러나 실제로 이러한 목표를 달성하는 데 사용되는 메커니즘은 매우 복잡하며이를 이해하려면 건전한 추론이 필요합니다.

International Telecommunication Union(ITU)는 보안 아키텍처 X.800에 대한 권장 사항에서 네트워크 보안을 달성하기위한 방법의 표준화를 가져 오는 특정 메커니즘을 정의했습니다. 이러한 메커니즘 중 일부는-

  • En-cipherment−이 메커니즘은 권한이없는 사람을 위해 데이터를 읽을 수없는 형태로 변환하여 데이터 기밀 서비스를 제공합니다. 이 메커니즘은 비밀 키와 함께 암호화-복호화 알고리즘을 사용합니다.

  • Digital signatures−이 메커니즘은 전자 데이터의 일반 서명과 동등한 전자 방식입니다. 데이터의 신뢰성을 제공합니다.

  • Access control−이 메커니즘은 액세스 제어 서비스를 제공하는 데 사용됩니다. 이러한 메커니즘은 엔티티의 액세스 권한을 결정하고 시행하기 위해 엔티티의 식별 및 인증을 사용할 수 있습니다.

네트워크 보안을 달성하기위한 다양한 보안 메커니즘을 개발하고 식별 했으므로 적용 할 위치를 결정하는 것이 중요합니다. 물리적으로 (어떤 위치에서) 논리적으로 (TCP / IP와 같은 아키텍처의 어떤 계층에서) 둘 다.

네트워킹 계층의 보안 메커니즘

OSI 네트워크 계층 모델의 특정 계층에서 개발 될 수 있도록 여러 보안 메커니즘이 개발되었습니다.

  • Security at Application Layer−이 계층에서 사용되는 보안 조치는 애플리케이션에 따라 다릅니다. 애플리케이션 유형에 따라 별도의 보안 조치가 필요합니다. 애플리케이션 계층 보안을 보장하려면 애플리케이션을 수정해야합니다.

    암호 학적으로 건전한 응용 프로그램 프로토콜을 설계하는 것은 매우 어렵고 제대로 구현하는 것이 훨씬 더 어렵다고 생각됩니다. 따라서 네트워크 통신을 보호하기위한 애플리케이션 계층 보안 메커니즘은 한동안 사용되어 온 표준 기반 솔루션으로 만 선호됩니다.

    응용 프로그램 계층 보안 프로토콜의 예로는 전자 메일 메시지를 암호화하는 데 일반적으로 사용되는 S / MIME (Secure Multipurpose Internet Mail Extensions)가 있습니다. DNSSEC는 DNS 쿼리 메시지의 보안 교환에 사용되는이 계층의 또 다른 프로토콜입니다.

  • Security at Transport Layer−이 계층의 보안 조치를 사용하여 두 호스트 간의 단일 통신 세션에서 데이터를 보호 할 수 있습니다. 전송 계층 보안 프로토콜의 가장 일반적인 용도는 HTTP 및 FTP 세션 트래픽을 보호하는 것입니다. TLS (Transport Layer Security) 및 SSL (Secure Socket Layer)은 이러한 용도로 사용되는 가장 일반적인 프로토콜입니다.

  • Network Layer−이 계층의 보안 조치는 모든 애플리케이션에 적용될 수 있습니다. 따라서 응용 프로그램별로 다르지 않습니다. 두 호스트 또는 네트워크 간의 모든 네트워크 통신은 응용 프로그램을 수정하지 않고도이 계층에서 보호 할 수 있습니다. 일부 환경에서 IPsec (인터넷 프로토콜 보안)과 같은 네트워크 계층 보안 프로토콜은 개별 응용 프로그램에 제어를 추가하는 데 어려움이 있기 때문에 전송 또는 응용 프로그램 계층 제어보다 훨씬 더 나은 솔루션을 제공합니다. 그러나이 계층의 보안 프로토콜은 일부 응용 프로그램에서 요구할 수있는 통신 유연성이 떨어집니다.

덧붙여서, 상위 레이어에서 작동하도록 설계된 보안 메커니즘은 하위 레이어가 상위 레이어가 인식하지 못하는 기능을 수행하기 때문에 하위 레이어의 데이터를 보호 할 수 없습니다. 따라서 네트워크 보안을 강화하기 위해 여러 보안 메커니즘을 배포해야 할 수 있습니다.

튜토리얼의 다음 장에서는 네트워크 보안을 달성하기 위해 OSI 네트워킹 아키텍처의 여러 계층에서 사용되는 보안 메커니즘에 대해 설명합니다.

이제 클라이언트-서버 애플리케이션을 통해 다양한 비즈니스 서비스가 온라인으로 제공됩니다. 가장 많이 사용되는 양식은 웹 애플리케이션과 이메일입니다. 두 응용 프로그램에서 클라이언트는 지정된 서버와 통신하고 서비스를 얻습니다.

서버 응용 프로그램에서 서비스를 사용하는 동안 클라이언트와 서버는 기본 인트라넷 또는 인터넷에서 많은 정보를 교환합니다. 우리는 이러한 정보 거래가 다양한 공격에 취약하다는 사실을 알고 있습니다.

네트워크 보안은 데이터가 네트워크에서 전송되는 동안 공격으로부터 데이터를 보호하는 것을 수반합니다. 이 목표를 달성하기 위해 많은 실시간 보안 프로토콜이 설계되었습니다. 이러한 프로토콜은 최소한 다음과 같은 주요 목표를 제공해야합니다.

  • 당사자는 대화식으로 협상하여 서로를 인증 할 수 있습니다.
  • 네트워크에서 정보를 교환하기 전에 비밀 세션 키를 설정하십시오.
  • 암호화 된 형식으로 정보를 교환하십시오.

흥미롭게도 이러한 프로토콜은 네트워킹 모델의 여러 계층에서 작동합니다. 예를 들어 S / MIME 프로토콜은 응용 프로그램 계층에서 작동하고 SSL 프로토콜은 전송 계층에서 작동하도록 개발되었으며 IPsec 프로토콜은 네트워크 계층에서 작동합니다.

이 장에서는 전자 메일 통신 및 관련 보안 프로토콜에 대한 보안을 달성하기위한 다양한 프로세스에 대해 설명합니다. DNS 보안 방법은 이후에 설명합니다. 이후 장에서는 웹 보안을 달성하기위한 프로토콜에 대해 설명합니다.

이메일 보안

오늘날 전자 메일은 매우 널리 사용되는 네트워크 응용 프로그램이되었습니다. 전자 메일 보안 프로토콜에 대해 알아보기 전에 전자 메일 인프라에 대해 간단히 살펴 보겠습니다.

이메일 인프라

이메일을 보내는 가장 간단한 방법은 보낸 사람의 컴퓨터에서받는 사람의 컴퓨터로 직접 메시지를 보내는 것입니다. 이 경우 두 시스템이 네트워크에서 동시에 실행되어야합니다. 그러나이 설정은 사용자가 때때로 자신의 컴퓨터를 네트워크에 연결할 수 있으므로 비실용적입니다.

따라서 전자 메일 서버 설정 개념이 도래했습니다. 이 설정에서 메일은 네트워크에서 영구적으로 사용할 수있는 메일 서버로 전송됩니다. 수신자의 기기가 네트워크에 연결되면 메일 서버에서 메일을 읽습니다.

일반적으로 이메일 인프라는 메일 서버의 메시로 구성되며 Message Transfer Agents (MTA) 및 UA (사용자 에이전트) 및 로컬 MTA로 구성된 전자 메일 프로그램을 실행하는 클라이언트 컴퓨터.

일반적으로 전자 메일 메시지는 UA에서 전달되고 MTA 메시를 통과하여 최종적으로 수신자 컴퓨터의 UA에 도달합니다.

이메일에 사용되는 프로토콜은 다음과 같습니다.

  • 전자 메일 메시지 전달에 사용되는 SMTP (Simple Mail Transfer Protocol)입니다.

  • POP (Post Office Protocol) 및 IMAP (Internet Message Access Protocol)는 서버에서받는 사람별로 메시지를 검색하는 데 사용됩니다.

몸짓 광대극

기본 인터넷 전자 메일 표준은 1982 년에 작성되었으며 인터넷에서 교환되는 전자 메일 메시지 형식을 설명합니다. 주로 기본 로마자 문자로 작성된 이메일 메시지를 지원합니다.

1992 년까지이를 개선 할 필요성이 느껴졌습니다. 따라서 추가 표준 MIME ( Multipurpose Internet Mail Extensions )가 정의되었습니다. 기본 인터넷 전자 메일 표준에 대한 확장 집합입니다. MIME는 키릴 문자 (러시아어에 사용됨), 그리스 문자 또는 중국어 표의 문자와 같은 기본 로마 알파벳 이외의 문자를 사용하여 전자 메일을 보내는 기능을 제공합니다.

MIME에 의해 충족되는 또 다른 요구는 이미지 나 비디오 클립과 같은 텍스트가 아닌 콘텐츠를 보내는 것입니다. 이 기능으로 인해 MIME 표준은 전자 메일 통신을 위해 SMTP에 널리 채택되었습니다.

이메일 보안 서비스

중요하고 중요한 거래를위한 이메일 통신 사용이 증가함에 따라 다음과 같은 특정 기본 보안 서비스를 제공해야합니다.

  • Confidentiality − 이메일 메시지는 의도 된 수신자가 아닌 다른 사람이 읽을 수 없습니다.

  • Authentication − 이메일 수신자는 발신자의 신원을 확인할 수 있습니다.

  • Integrity − 이메일 메시지가 보낸 사람이 전송 한 이후 변경되지 않았 음을받는 사람에게 보증.

  • Non-repudiation − 이메일 수신자는 보낸 사람이 실제로 메시지를 보냈다는 것을 제 3 자에게 증명할 수 있습니다.

  • Proof of submission − 이메일 발신자는 메시지가 메일 전달 시스템으로 전달되었다는 확인을받습니다.

  • Proof of delivery − 발신자는 수신자가 메시지를 수신했다는 확인을받습니다.

개인 정보 보호, 인증, 메시지 무결성 및 부인 방지와 같은 보안 서비스는 일반적으로 공개 키 암호화를 사용하여 제공됩니다.

일반적으로 전자 메일 통신에는 세 가지 시나리오가 있습니다. 이러한 시나리오에서 위의 보안 서비스를 달성하는 방법에 대해 설명합니다.

일대일 이메일

이 시나리오에서 보낸 사람은 한 명의받는 사람에게만 전자 메일 메시지를 보냅니다. 일반적으로 두 개 이상의 MTA가 통신에 포함됩니다.

보낸 사람이받는 사람에게 기밀 전자 메일을 보내려고한다고 가정 해 보겠습니다. 이 경우 프라이버시 제공은 다음과 같이 달성됩니다.

  • 발신자와 수신자는 각각 (S PVT , S PUB ) 및 (R PVT , R PUB ) 로 개인-공개 키를 갖습니다 .

  • 발신자는 암호화를 위해 비밀 대칭 키 K S 를 생성합니다 . 발신자는 암호화에 R PUB 를 사용할 수 있었지만 더 빠른 암호화 및 암호 해독을 위해 대칭 키가 사용됩니다.

  • 발신자는 K S 키로 메시지를 암호화 하고 수신자 R PUB 의 공개 키로 K S 를 암호화합니다 .

  • 발신자는 암호화 된 메시지와 암호화 된 K S 를 수신자 에게 보냅니다 .

  • 수신자는 먼저 자신의 개인 키 R PVT를 사용하여 인코딩 된 K S 를 해독 하여 K S 를 얻습니다 .

  • 그런 다음 수신자는 대칭 키 K S를 사용하여 메시지를 해독합니다 .

이 시나리오에서 메시지 무결성, 인증 및 부인 방지 서비스도 필요한 경우 위의 프로세스에 다음 단계가 추가됩니다.

  • 발신자는 메시지 해시를 생성하고 개인 키 S PVT를 사용 하여이 해시에 디지털 서명합니다 .

  • 보낸 사람은이 서명 된 해시를 다른 구성 요소와 함께받는 사람에게 보냅니다.

  • 수신자는 공개 키 S PUB를 사용 하여 보낸 사람의 서명으로받은 해시를 추출합니다.

  • 그런 다음 수신자는 해독 된 메시지를 해시하고 이제 두 해시 값을 비교합니다. 일치하면 메시지 무결성이 달성 된 것으로 간주됩니다.

  • 또한 수신자는 보낸 사람이 메시지를 보냈는지 확인합니다 (인증). 마지막으로 보낸 사람은 자신이 메시지를 보내지 않았다는 사실을 부인할 수 없습니다 (거부 금지).

일대 다 수신자 이메일

이 시나리오에서 보낸 사람은 둘 이상의받는 사람에게 전자 메일 메시지를 보냅니다. 목록은 보낸 사람의 전자 메일 프로그램 (UA + 로컬 MTA)에서 관리합니다. 모든 수신자가 동일한 메시지를받습니다.

보낸 사람이 많은받는 사람 (예 : R1, R2 및 R3)에게 기밀 전자 메일을 보내려고한다고 가정 해 보겠습니다. 이 경우 프라이버시 제공은 다음과 같이 달성됩니다.

  • 보낸 사람과 모든받는 사람은 자신의 개인 공개 키 쌍을 가지고 있습니다.

  • 송신자는 대칭 비밀 키 K를 생성 과,이 키를 사용하여 메시지를 암호화한다.

  • 송신자는 K 암호화 S R1의 점점 R1, R2 및 R3의 공개 키를 여러 번 PUB (K S ), R2 용 PUB (K S ), 및 R3의 PUB (K S ).

  • 발신자는 암호화 된 메시지와 해당 암호화 된 K S 를 수신자 에게 보냅니다 . 예를 들어, 수신자 (1) (R1)은 메시지의 암호화 및 R1 수신 PUB (K S를 ).

  • 각받는 첫번째 추출 키 K S 로는 K 코드 해독 S를 자신의 개인 키를 사용하여.

  • 그런 다음 각 수신자는 대칭 키 K S를 사용하여 메시지를 해독합니다 .

메시지 무결성, 인증 및 부인 방지를 제공하기 위해 따라야 할 단계는 일대일 전자 메일 시나리오에서 위에서 언급 한 단계와 유사합니다.

일대일 배포 목록 이메일

이 시나리오에서 보낸 사람은 둘 이상의받는 사람에게 전자 메일 메시지를 보내지 만받는 사람 목록은 보낸 사람이 로컬로 관리하지 않습니다. 일반적으로 전자 메일 서버 (MTA)는 메일 링리스트를 유지합니다.

보낸 사람은 메일 링 목록을 관리하는 MTA에 메일을 보낸 다음 MTA에 의해 목록의 모든 수신자에게 메일이 폭발합니다.

이 경우 발신자가 메일 링리스트의 수신자 (예 : R1, R2, R3)에게 기밀 이메일을 보내려고 할 때 개인 정보는 다음과 같이 보장됩니다.

  • 보낸 사람과 모든받는 사람은 자신의 개인 공개 키 쌍을 가지고 있습니다. Exploder Server에는 자신이 관리하는 각 메일 링리스트 (List PUB , List PVT )에 대한 개인-공개 키 쌍이 있습니다.

  • 송신자는 비밀 대칭 키 K를 생성 다음이 키를 사용하여 메시지를 암호화한다.

  • 보낸 후 K 암호화 S를 리스트와 연관된 공개 키를 사용하여,리스트 획득 PUB (K S를 ).

  • 보낸 사람은 암호화 된 메시지 목록 전송 PUB (K S를 ). 익스플로 MTA는 목록 복호화 PUB (K S 에서 사용하여) PVT를 하고 K 취득 S를 .

  • 익스플로 더 는 목록에있는 구성원 수만큼 공개 키를 사용 하여 K S 를 암호화 합니다.

  • Exploder는 수신 된 암호화 된 메시지와 해당 암호화 된 K S 를 목록의 모든 수신자에게 전달합니다. 예를 들면, 폭발이 암호화 된 메시지의 전달 R1 PUB (K S 등 수신자 1) 및.

메시지 무결성, 인증 및 부인 방지를 제공하기 위해 따라야 할 단계는 일대일 전자 메일 시나리오의 경우와 유사합니다.

흥미롭게도 전자 메일 보안을 위해 위의 보안 방법을 사용하는 전자 메일 프로그램은 위에서 설명한 모든 가능한 시나리오에서 작동 할 것으로 예상됩니다. 위의 전자 메일에 대한 대부분의 보안 메커니즘은 PGP (Pretty Good Privacy)와 S / MIME의 두 가지 인기있는 체계에 의해 제공됩니다. 다음 섹션에서 두 가지를 모두 논의합니다.

PGP

Pretty Good Privacy(PGP)는 이메일 암호화 체계입니다. 이는 이메일 통신을위한 보안 서비스를 제공하기위한 사실상의 표준이되었습니다.

위에서 설명한 것처럼 공개 키 암호화, 대칭 키 암호화, 해시 함수 및 디지털 서명을 사용합니다. 그것은 제공합니다-

  • Privacy
  • 발신자 인증
  • 메시지 무결성
  • Non-repudiation

이러한 보안 서비스와 함께 데이터 압축 및 키 관리 지원도 제공합니다. PGP는 새로운 알고리즘을 개발하는 대신 RSA, IDEA, MD5 등과 같은 기존 암호화 알고리즘을 사용합니다.

PGP의 작동

  • 메시지의 해시가 계산됩니다. (MD5 알고리즘)

  • 결과 128 비트 해시는 보낸 사람의 개인 키 (RSA 알고리즘)를 사용하여 서명됩니다.

  • 디지털 서명이 메시지에 연결되고 결과가 압축됩니다.

  • 128 비트 대칭 키 K S 가 생성되어 IDEA로 압축 된 메시지를 암호화하는 데 사용됩니다.

  • K S 는 RSA 알고리즘을 사용하여 수신자의 공개 키를 사용하여 암호화되고 그 결과는 암호화 된 메시지에 추가됩니다.

PGP 메시지의 형식은 다음 다이어그램과 같습니다. ID는 KS를 암호화하는 데 사용되는 키와 해시의 서명을 확인하는 데 사용할 키를 나타냅니다.

PGP 체계에서는 메시지가 서명되고 암호화 된 다음 MIME가 전송 전에 인코딩됩니다.

PGP 인증서

PGP 키 인증서는 일반적으로 신뢰 체인을 통해 설정됩니다. 예를 들어 A의 공개 키는 B가 공개 키를 사용하여 서명하고 B의 공개 키는 C가 공개 키를 사용하여 서명합니다. 이 과정이 진행됨에 따라 신뢰 망이 형성됩니다.

PGP 환경에서는 모든 사용자가 인증 기관의 역할을 할 수 있습니다. 모든 PGP 사용자는 다른 PGP 사용자의 공개 키를 인증 할 수 있습니다. 그러나 이러한 인증서는 사용자가 인증자를 신뢰할 수있는 소개 자로 인식하는 경우에만 다른 사용자에게 유효합니다.

이러한 인증 방법에는 몇 가지 문제가 있습니다. 알려져 있고 신뢰할 수있는 공개 키에서 원하는 키로 이어지는 체인을 찾기가 어려울 수 있습니다. 또한 원하는 사용자에 대해 서로 다른 키로 이어질 수있는 여러 체인이있을 수 있습니다.

PGP는 또한 인증 기관과 함께 PKI 인프라를 사용할 수 있으며 공개 키는 CA (X.509 인증서)에서 인증 할 수 있습니다.

S / MIME

S / MIME는 Secure Multipurpose Internet Mail Extension의 약자입니다. S / MIME는 보안 이메일 표준입니다. MIME라고하는 이전의 비보안 전자 메일 표준을 기반으로합니다.

S / MIME 작동

S / MIME 접근 방식은 PGP와 유사합니다. 또한 공개 키 암호화, 대칭 키 암호화, 해시 함수 및 디지털 서명을 사용합니다. 이메일 통신을위한 PGP와 유사한 보안 서비스를 제공합니다.

S / MIME에서 사용되는 가장 일반적인 대칭 암호는 RC2 및 TripleDES입니다. 일반적인 공개 키 방법은 RSA이고 해싱 알고리즘은 SHA-1 또는 MD5입니다.

S / MIME는 암호화 후 데이터 엔 벨로 핑을 위해 "application / pkcs7-mime"와 같은 추가 MIME 유형을 지정합니다. 전체 MIME 엔터티는 암호화되어 개체에 압축됩니다. S / MIME에는 표준화 된 암호화 메시지 형식 (PGP와 다름)이 있습니다. 실제로 MIME는 메시지에서 암호화 및 / 또는 서명 된 부분을 식별하기 위해 일부 키워드로 확장됩니다.

S / MIME는 공개 키 배포를 위해 X.509 인증서를 사용합니다. 인증 지원을 위해 하향식 계층 PKI가 필요합니다.

S / MIME의 사용 가능성

구현을위한 인증 기관의 인증서 요구 사항으로 인해 일부 사용자는 공개 / 개인 키 쌍으로 메시지를 암호화하기를 원할 수 있으므로 모든 사용자가 S / MIME를 이용할 수있는 것은 아닙니다. 예를 들어, 인증서의 개입이나 관리 오버 헤드가 없습니다.

실제로 대부분의 전자 메일 응용 프로그램이 S / MIME를 구현하지만 인증서 등록 프로세스는 복잡합니다. 대신 PGP 지원은 일반적으로 플러그인을 추가해야하며 해당 플러그인은 키 관리에 필요한 모든 것을 제공합니다. 신뢰의 웹은 실제로 사용되지 않습니다. 사람들은 다른 매체를 통해 공개 키를 교환합니다. 획득 한 후에는 일반적으로 이메일을 교환하는 사람들의 공개 키 사본을 보관합니다.

PGP 및 S / MIME 체계를위한 네트워크 아키텍처의 구현 계층은 다음 이미지에 나와 있습니다. 이 두 스키마는 전자 메일 통신을위한 응용 프로그램 수준 보안을 제공합니다.

환경에 따라 PGP ​​또는 S / MIME 체계 중 하나가 사용됩니다. 캡 티브 네트워크에서 안전한 전자 메일 통신은 PGP를 적용하여 제공 할 수 있습니다. 알 수없는 새로운 사용자와 메일이 자주 교환되는 인터넷을 통한 전자 메일 보안의 경우 S / MIME이 좋은 옵션으로 간주됩니다.

DNS 보안

첫 번째 장에서 공격자가 DNS 캐시 중독을 사용하여 대상 사용자에 대한 공격을 수행 할 수 있다고 언급했습니다. Domain Name System Security Extensions (DNSSEC)는 이러한 공격을 막을 수있는 인터넷 표준입니다.

표준 DNS의 취약성

표준 DNS 체계에서는 사용자가 도메인 이름에 연결하려고 할 때마다 컴퓨터가 DNS 서버에 연결하여 해당 도메인 이름에 대한 관련 IP 주소를 찾습니다. IP 주소를 얻으면 컴퓨터는 해당 IP 주소에 연결합니다.

이 체계에서는 확인 프로세스가 전혀 필요하지 않습니다. 컴퓨터는 DNS 서버에 웹 사이트와 관련된 주소를 요청하고 DNS 서버는 IP 주소로 응답하며 컴퓨터는 의심 할 여지없이이를 합법적 인 응답으로 받아들이고 해당 웹 사이트에 연결합니다.

DNS 조회는 실제로 여러 단계에서 발생합니다. 예를 들어, 컴퓨터가“www.tutorialspoint.com”을 요청하면 DNS 조회가 여러 단계로 수행됩니다.

  • 컴퓨터는 먼저 로컬 DNS 서버 (ISP 제공)를 요청합니다. ISP가 캐시에이 이름을 가지고있는 경우 ".com"을 찾을 수있는 "루트 영역 디렉터리"로 쿼리를 전달합니다. 및 루트 영역 응답.

  • 응답에 따라 컴퓨터는 "tutorialspoint.com"을 찾을 수있는 ".com"디렉토리를 요청합니다.

  • 수신 된 정보에 따라 컴퓨터는 www를 찾을 수있는 "tutorialspoint.com"을 조회합니다. tutorialspoint.com.

DNSSEC 정의

DNSSEC를 사용하여 수행되는 DNS 조회에는 응답 엔터티의 응답 서명이 포함됩니다. DNSSEC는 공개 키 암호화를 기반으로합니다.

DNSSEC 표준에서 모든 DNS 영역에는 공개 / 개인 키 쌍이 있습니다. DNS 서버에서 보낸 모든 정보는 인증을 보장하기 위해 원래 영역의 개인 키로 서명됩니다. DNS 클라이언트는 서명을 확인하기 위해 영역의 공개 키를 알아야합니다. 클라이언트는 모든 최상위 도메인 또는 루트 DNS의 공개 키로 미리 구성 될 수 있습니다.

DNSSEC를 사용하면 조회 프로세스는 다음과 같습니다.

  • 컴퓨터가 .com을 찾을 수있는 루트 영역을 물으면 루트 영역 서버가 응답에 서명합니다.

  • 컴퓨터는 루트 영역의 서명 키를 확인하고 실제 정보가있는 합법적 인 루트 영역인지 확인합니다.

  • 회신에서 루트 영역은 .com 영역 서버의 서명 키와 해당 위치에 대한 정보를 제공하여 컴퓨터가 .com 디렉터리에 접속할 수 있도록하고 합법적인지 확인합니다.

  • 그런 다음 .com 디렉토리는 tutorialspoint.com에 대한 서명 키와 정보를 제공하여 google.com에 접속하고 그 위에있는 영역에서 확인한대로 실제 tutorialspoint.com에 연결되어 있는지 확인할 수 있습니다.

  • 전송 된 정보는 RRSet (Resource Record Set) 형식입니다. 다음 표에는 최상위 ".com"서버에서 도메인 "tutorialspoint.com"에 대한 RRSet의 예가 나와 있습니다.

도메인 이름 살 시간 유형
tutorialspoint.com 86400 NS dns.tutorialspoint.com
dns.tutorialspoint.com 86400 36..1.2.3
tutorialspoint.com 86400 3682793A7B73F731029CE2737D ...
tutorialspoint.com 86400 SIG 86947503A8B848F5272E53930C ...
  • KEY 레코드는“tutorialspoint.com”의 공개 키입니다.

  • SIG 레코드는 인증을 확인하기 위해 NS, A 및 KEY 레코드 필드의 최상위 .com 서버의 서명 된 해시입니다. 값은 Kcom pvt (H (NS, A, KEY))입니다.

따라서 DNSSEC가 완전히 롤아웃되면 사용자의 컴퓨터는 DNS 응답이 합법적이고 사실인지 확인할 수 있고 DNS 캐시 포이즈 닝을 통해 시작된 DNS 공격을 피할 수있는 것으로 간주됩니다.

요약

이메일 보안 프로세스는 통신의 종단 간 보안을 보장합니다. 기밀성, 보낸 사람 인증, 메시지 무결성 및 부인 방지의 보안 서비스를 제공합니다.

전자 메일 보안을 위해 PGP 및 S / MIME의 두 가지 체계가 개발되었습니다. 이 두 방식 모두 비밀 키와 공개 키 암호화를 사용합니다.

표준 DNS 조회는 DNS 스푸핑 / 캐시 감염과 같은 공격에 취약합니다. DNS 조회 보안은 공개 키 암호화를 사용하는 DNSSEC를 사용하여 가능합니다.

이 장에서는 종단 간 통신을위한 네트워크 보안을 제공하기 위해 애플리케이션 계층에서 사용되는 메커니즘에 대해 설명했습니다.

네트워크 보안은 데이터가 네트워크에서 전송되는 동안 공격으로부터 데이터를 보호하는 것을 수반합니다. 이 목표를 달성하기 위해 많은 실시간 보안 프로토콜이 설계되었습니다. S / MIME, SSL / TLS, SSH 및 IPsec과 같은 실시간 네트워크 보안 프로토콜에 대한 인기있는 표준이 있습니다. 앞서 언급했듯이 이러한 프로토콜은 서로 다른 네트워킹 모델 계층에서 작동합니다.

지난 장에서 우리는 애플리케이션 계층 보안을 제공하도록 설계된 몇 가지 인기있는 프로토콜에 대해 논의했습니다. 이 장에서는 전송 계층 및 관련 보안 프로토콜에서 네트워크 보안을 달성하는 프로세스에 대해 설명합니다.

TCP / IP 프로토콜 기반 네트워크의 경우 물리적 및 데이터 링크 계층은 일반적으로 사용자 터미널 및 네트워크 카드 하드웨어에서 구현됩니다. TCP 및 IP 계층은 운영 체제에서 구현됩니다. TCP / IP 이상의 모든 것은 사용자 프로세스로 구현됩니다.

전송 계층 보안의 필요성

일반적인 인터넷 기반 비즈니스 트랜잭션에 대해 살펴 보겠습니다.

Bob은 상품을 판매하기 위해 Alice의 웹 사이트를 방문합니다. 웹 사이트의 양식에 Bob은 원하는 상품의 유형과 수량, 주소 및 지불 카드 세부 정보를 입력합니다. Bob은 제출을 클릭하고 자신의 계정에서 금액이 차감 된 상품 배송을 기다립니다. 이 모든 것이 좋게 들리지만 네트워크 보안이 없으면 Bob은 몇 가지 놀라움을 느낄 수 있습니다.

  • 거래에서 기밀성 (암호화)을 사용하지 않는 경우 공격자는 결제 카드 정보를 얻을 수 있습니다. 그런 다음 공격자는 Bob의 비용으로 구매할 수 있습니다.

  • 데이터 무결성 측정이 사용되지 않는 경우 공격자는 상품 유형 또는 수량 측면에서 Bob의 주문을 수정할 수 있습니다.

  • 마지막으로 서버 인증을 사용하지 않으면 서버에 Alice의 유명한 로고가 표시 될 수 있지만 해당 사이트는 Alice로 가장 한 공격자가 유지 관리하는 악성 사이트 일 수 있습니다. Bob의 명령을받은 후 그는 Bob의 돈을 받고 도망 갈 수있었습니다. 또는 Bob의 이름과 신용 카드 정보를 수집하여 신원 도용을 수행 할 수 있습니다.

전송 계층 보안 체계는 기밀성, 데이터 무결성, 서버 인증 및 클라이언트 인증을 통해 TCP / IP 기반 네트워크 통신을 강화하여 이러한 문제를 해결할 수 있습니다.

이 계층의 보안은 주로 네트워크에서 HTTP 기반 웹 트랜잭션을 보호하는 데 사용됩니다. 그러나 TCP를 통해 실행되는 모든 응용 프로그램에서 사용할 수 있습니다.

TLS 설계 철학

TLS (전송 계층 보안) 프로토콜은 TCP 계층 위에서 작동합니다. 이러한 프로토콜의 설계는 TCP 계층과의 인터페이스를 위해 "소켓"이라고하는 TCP에 대한 널리 사용되는 API (응용 프로그램 인터페이스)를 사용합니다.

이제 응용 프로그램이 TCP 대신 전송 보안 계층에 직접 인터페이스됩니다. Transport Security Layer는 TCP의 API와 유사하고 유사한 소켓이있는 간단한 API를 제공합니다.

위의 다이어그램에서 TLS는 기술적으로 애플리케이션과 전송 계층 사이에 있지만 일반적인 관점에서는 보안 서비스로 강화 된 TCP 계층 역할을하는 전송 프로토콜입니다.

TLS는 신뢰할 수있는 계층 4 프로토콜 (UDP 프로토콜이 아님) 인 TCP를 통해 작동하도록 설계되어 '시간 초과'및 '손실 된 데이터 재전송'에 대해 걱정할 필요가 없기 때문에 TLS 설계를 훨씬 간단하게 만듭니다. TCP 계층은 TLS의 요구를 충족시키기 위해 평소와 같이 계속합니다.

TLS가 인기있는 이유는 무엇입니까?

전송 계층에서 보안을 사용하는 이유는 단순성 때문입니다. 이 계층에서 보안을 설계하고 배포하기 위해 운영 체제에 구현 된 TCP / IP 프로토콜을 변경할 필요가 없습니다. 덜 복잡한 사용자 프로세스와 애플리케이션 만 설계 / 수정하면됩니다.

SSL (Secure Socket Layer)

이 섹션에서는 TLS 용으로 설계된 프로토콜 제품군에 대해 설명합니다. 이 제품군에는 SSL 버전 2 및 3과 TLS 프로토콜이 포함됩니다. SSLv2는 이제 SSLv3로 대체되었으므로 SSL v3 및 TLS에 중점을 둘 것입니다.

SSL의 간략한 역사

1995 년에 Netscape는 SSLv2를 개발하여 Netscape Navigator 1.1에서 사용되었습니다. SSL 버전 1은 게시 및 사용되지 않았습니다. 나중에 Microsoft는 SSLv2를 개선하고 PCT (Private Communications Technology)라는 또 다른 유사한 프로토콜을 도입했습니다.

Netscape는 다양한 보안 문제에 대해 SSLv2를 크게 개선했으며 1999 년에 SSLv3를 배포했습니다. IETF (Internet Engineering Task Force)는 이후에 유사한 TLS (Transport Layer Security) 프로토콜을 개방형 표준으로 도입했습니다. TLS 프로토콜은 SSLv3와 상호 운용되지 않습니다.

TLS는 키 확장 및 인증을 위해 암호화 알고리즘을 수정했습니다. 또한 TLS는 SSL에서 사용되는 특허받은 RSA 암호화 대신 개방형 암호화 DH (Diffie-Hellman) 및 DSS (디지털 서명 표준) 사용을 제안했습니다. 그러나 2000 년에 RSA 특허가 만료 되었기 때문에 사용자가 널리 배포 된 SSLv3에서 TLS로 전환해야하는 강력한 이유가 없었습니다.

SSL의 두드러진 특징

SSL 프로토콜의 두드러진 특징은 다음과 같습니다.

  • SSL은 다음을 통해 네트워크 연결 보안을 제공합니다.

    • Confidentiality − 정보는 암호화 된 형태로 교환됩니다.

    • Authentication− 통신 엔티티는 디지털 인증서를 사용하여 서로를 식별합니다. 웹 서버 인증은 필수이지만 클라이언트 인증은 선택 사항입니다.

    • Reliability − 메시지 무결성 검사를 유지합니다.

  • SSL은 모든 TCP 애플리케이션에 사용할 수 있습니다.

  • 거의 모든 웹 브라우저에서 지원됩니다.

  • 새로운 온라인 엔티티와의 비즈니스 수행을 용이하게합니다.

  • 주로 웹 전자 상거래를 위해 개발되었습니다.

SSL 아키텍처

SSL은 TCP에만 해당되며 UDP에서는 작동하지 않습니다. SSL은 애플리케이션에 API (Application Programming Interface)를 제공합니다. C 및 Java SSL 라이브러리 / 클래스를 즉시 사용할 수 있습니다.

SSL 프로토콜은 다음 이미지와 같이 응용 프로그램과 전송 계층간에 상호 작용하도록 설계되었습니다.

SSL 자체는 이미지에 표시된 단일 레이어 프로토콜이 아닙니다. 실제로 두 개의 하위 계층으로 구성됩니다.

  • 하위 하위 계층은 SSL 레코드 프로토콜이라고하는 SSL 프로토콜의 한 구성 요소로 구성됩니다. 이 구성 요소는 무결성 및 기밀성 서비스를 제공합니다.

  • 상위 하위 계층은 세 개의 SSL 관련 프로토콜 구성 요소와 애플리케이션 프로토콜로 구성됩니다. 응용 프로그램 구성 요소는 클라이언트 / 서버 상호 작용 간의 정보 전송 서비스를 제공합니다. 기술적으로는 SSL 레이어 위에서도 작동 할 수 있습니다. 세 가지 SSL 관련 프로토콜 구성 요소는-

    • SSL 핸드 셰이크 프로토콜
    • 암호 사양 프로토콜 변경
    • 경보 프로토콜.
  • 이 세 가지 프로토콜은 모든 SSL 메시지 교환을 관리하며이 섹션의 뒷부분에서 설명합니다.

SSL 프로토콜 구성 요소의 기능

SSL 프로토콜의 네 가지 하위 구성 요소는 클라이언트 시스템과 서버 간의 보안 통신을위한 다양한 작업을 처리합니다.

  • 기록 프로토콜

    • 레코드 계층은 상위 계층 프로토콜 메시지를 형식화합니다.

    • 데이터를 관리 가능한 블록 (최대 길이 16KB)으로 분할합니다. 선택적으로 데이터를 압축합니다.

    • 데이터를 암호화합니다.

    • 각 메시지에 대한 헤더와 끝에 해시 (MAC (Message Authentication Code))를 제공합니다.

    • 전송을 위해 포맷 된 블록을 TCP 계층으로 넘깁니다.

  • SSL 핸드 셰이크 프로토콜

    • SSL에서 가장 복잡한 부분입니다. 애플리케이션 데이터가 전송되기 전에 호출됩니다. 클라이언트와 서버 사이에 SSL 세션을 생성합니다.

    • 세션 설정에는 서버 인증, 키 및 알고리즘 협상, 키 설정 및 클라이언트 인증 (선택 사항)이 포함됩니다.

    • 세션은 고유 한 암호화 보안 매개 변수 세트로 식별됩니다.

    • 클라이언트와 서버 간의 여러 보안 TCP 연결은 동일한 세션을 공유 할 수 있습니다.

    • 4 단계를 통한 핸드 셰이크 프로토콜 작업. 이에 대해서는 다음 섹션에서 설명합니다.

  • ChangeCipherSpec 프로토콜

    • SSL 프로토콜의 가장 간단한 부분. 이는 두 통신 엔티티 인 클라이언트와 서버간에 교환되는 단일 메시지로 구성됩니다.

    • 각 엔터티는 ChangeCipherSpec 메시지를 보낼 때 연결 측면을 합의 된 보안 상태로 변경합니다.

    • 암호 매개 변수 보류 상태가 현재 상태로 복사됩니다.

    • 이 메시지의 교환은 향후 모든 데이터 교환이 암호화되고 무결성이 보호됨을 나타냅니다.

  • SSL 경보 프로토콜

    • 이 프로토콜은 예기치 않은 메시지, 불량 레코드 MAC, 보안 매개 변수 협상 실패 등과 같은 오류를보고하는 데 사용됩니다.

    • 또한 TCP 연결 종료 알림, 불량 또는 알 수없는 인증서 수신 알림 등과 같은 다른 목적으로도 사용됩니다.

SSL 세션 설정

위에서 논의한 바와 같이 SSL 세션 설정에는 4 단계가 있습니다. 이들은 주로 SSL Handshake 프로토콜에 의해 처리됩니다.

Phase 1 − 보안 기능 구축.

  • 이 단계는 Client_helloServer_hello 의 두 메시지 교환으로 구성 됩니다.

  • Client_hello 에는 클라이언트가 지원하는 암호화 알고리즘 목록이 내림차순으로 포함됩니다.

  • Server_hello 에는 선택한 CipherSpec (CipherSpec) 및 새 session_id가 포함 됩니다.

  • CipherSpec에는 다음과 같은 필드가 있습니다.

    • 암호 알고리즘 (DES, 3DES, RC2 및 RC4)

    • MAC 알고리즘 (MD5, SHA-1 기반)

    • 공개 키 알고리즘 (RSA)

    • 두 메시지 모두 재생 공격을 방지하기 위해 "nonce"가 있습니다.

Phase 2 − 서버 인증 및 키 교환.

  • 서버가 인증서를 보냅니다. 클라이언트 소프트웨어는 다양한 "신뢰할 수있는"기관 (CA)의 공개 키로 구성되어 인증서를 확인합니다.

  • 서버는 선택한 암호 스위트를 보냅니다.

  • 서버가 클라이언트 인증서를 요청할 수 있습니다. 일반적으로 수행되지 않습니다.

  • 서버는 Server_hello의 끝을 나타냅니다 .

Phase 3 − 클라이언트 인증 및 키 교환.

  • 클라이언트는 서버에서 요청한 경우에만 인증서를 보냅니다.

  • 또한 서버의 공개 키로 암호화 된 PMS (Pre-master Secret)를 보냅니다.

  • 클라이언트는 또한 자신 이이 인증서와 관련된 개인 키를 가지고 있음을 증명하기 위해 인증서를 보낸 경우 Certificate_verify 메시지를 보냅니다 . 기본적으로 클라이언트는 이전 메시지의 해시에 서명합니다.

Phase 4 − 마침.

  • 클라이언트와 서버는 Change_cipher_spec 메시지를 서로 에게 전송 하여 보류중인 암호 상태가 현재 상태로 복사되도록합니다.

  • 이제부터 모든 데이터는 암호화되고 무결성이 보호됩니다.

  • 각 끝에서 "Finished"라는 메시지는 키 교환 및 인증 프로세스가 성공했는지 확인합니다.

위에서 논의한 네 단계는 모두 TCP 세션 설정 내에서 발생합니다. SSL 세션 설정은 TCP SYN / SYNACK 이후에 시작되고 TCP Fin 이전에 완료됩니다.

연결이 끊긴 세션 재개

  • 클라이언트 가 암호화 된 session_id 정보 와 함께 hello_request 를 서버에 전송하면 연결이 끊긴 세션 ( 경고 메시지를 통해)을 재개 할 수 있습니다 .

  • 그런 다음 서버는 session_id 가 유효한지 확인합니다. 유효성이 확인되면 ChangeCipherSpec 및 완료된 메시지를 클라이언트와 교환 하고 보안 통신이 재개됩니다.

  • 이렇게하면 세션 암호 매개 변수의 재 계산을 방지하고 서버와 클라이언트 쪽에서 컴퓨팅을 절약 할 수 있습니다.

SSL 세션 키

SSL 세션 설정의 3 단계 동안 클라이언트가 사전 마스터 비밀을 서버의 공개 키를 사용하여 암호화 된 서버로 전송하는 것을 확인했습니다. 마스터 비밀과 다양한 세션 키는 다음과 같이 생성됩니다.

  • 마스터 비밀은 (의사 난수 생성기를 통해) 다음을 사용하여 생성됩니다.

    • 사전 마스터 비밀.

    • client_hello 및 server_hello 메시지에서 교환 된 두 개의 nonce (RA 및 RB).

  • 6 개의 비밀 값은 다음과 같이이 마스터 비밀에서 파생됩니다.

    • MAC과 함께 사용되는 비밀 키 (서버에서 보낸 데이터 용)

    • MAC과 함께 사용되는 비밀 키 (클라이언트가 보낸 데이터 용)

    • 암호화에 사용되는 비밀 키 및 IV (서버 별)

    • 암호화에 사용되는 비밀 키 및 IV (클라이언트 별)

TLS 프로토콜

SSL의 개방형 인터넷 표준을 제공하기 위해 IETF는 1999 년 1 월 TLS (Transport Layer Security) 프로토콜을 발표했습니다. TLS는 RFC 5246에서 제안 된 인터넷 표준으로 정의됩니다.

두드러진 특징

  • TLS 프로토콜은 SSL과 동일한 목표를 갖습니다.

  • 이를 통해 클라이언트 / 서버 애플리케이션은 인증, 도청 방지 및 메시지 수정 방지를 통해 안전한 방식으로 통신 할 수 있습니다.

  • TLS 프로토콜은 네트워킹 계층 스택에서 안정적인 연결 지향 전송 TCP 계층 위에 있습니다.

  • TLS 프로토콜의 아키텍처는 SSLv3 프로토콜과 유사합니다. TLS 레코드 프로토콜과 TLS 핸드 셰이크 프로토콜의 두 가지 하위 프로토콜이 있습니다.

  • SSLv3 및 TLS 프로토콜의 아키텍처는 비슷하지만 특히 핸드 셰이크 프로토콜의 아키텍처와 기능에 몇 가지 변경 사항이 적용되었습니다.

TLS 및 SSL 프로토콜 비교

TLS와 SSLv3 프로토콜에는 8 가지 주요 차이점이 있습니다. 이들은 다음과 같습니다-

  • Protocol Version − TLS 프로토콜 세그먼트의 헤더는 SSL 프로토콜 세그먼트 헤더가 전달하는 3 번을 구별하기 위해 버전 번호 3.1을 전달합니다.

  • Message Authentication− TLS는 키가있는 해시 메시지 인증 코드 (H-MAC)를 사용합니다. 이점은 H-MAC가 SSL 프로토콜에서 명시 적으로 언급 한 것처럼 MD5 또는 SHA뿐만 아니라 모든 해시 함수와 함께 작동한다는 것입니다.

  • Session Key Generation − 키 자료 생성시 TLS와 SSL 프로토콜에는 두 가지 차이점이 있습니다.

    • 사전 마스터 및 마스터 비밀을 계산하는 방법은 비슷합니다. 그러나 TLS 프로토콜에서 마스터 비밀 계산은 ad-hoc MAC 대신 HMAC 표준 및 PRF (pseudorandom function) 출력을 사용합니다.

    • 세션 키 및 시작 값 (IV)을 계산하는 알고리즘은 SSL 프로토콜과 TLS에서 다릅니다.

  • 경고 프로토콜 메시지 −

    • TLS 프로토콜은 중복되는 인증서 경고 메시지 없음을 제외하고 SSL의 경고 프로토콜에서 사용하는 모든 메시지를 지원합니다 . 클라이언트 인증이 필요하지 않은 경우 클라이언트는 빈 인증서를 보냅니다.

    • record_overflow, decode_error 등과 같은 다른 오류 조건에 대한 많은 추가 경고 메시지가 TLS 프로토콜에 포함됩니다 .

  • Supported Cipher Suites− SSL은 RSA, Diffie-Hellman 및 Fortezza 암호화 제품군을 지원합니다. TLS 프로토콜은 Fortezza를 제외한 모든 소송을 지원합니다.

  • Client Certificate Types− TLS는 certificate_request 메시지 에서 요청할 인증서 유형을 정의 합니다. SSLv3는이 모든 것을 지원합니다. 또한 SSL은 Fortezza와 같은 특정 유형의 인증서를 지원합니다.

  • CertificateVerify 및 완료된 메시지 −

    • SSL에서는 certificate_verify 메시지에 복잡한 메시지 절차가 사용됩니다 . TLS를 사용하면 확인 된 정보가 핸드 셰이크 메시지 자체에 포함되므로이 복잡한 절차를 피할 수 있습니다.

    • 완료된 메시지는 TLS 및 SSLv3에서 다른 방식으로 계산됩니다.

  • Padding of Data− SSL 프로토콜에서 암호화 전에 사용자 데이터에 추가되는 패딩은 전체 데이터 크기를 암호 블록 길이의 배수와 같게 만드는 데 필요한 최소량입니다. TLS에서 패딩은 최대 255 바이트까지 암호 블록 길이의 배수 인 데이터 크기가되는 양이 될 수 있습니다.

TLS와 SSLv3 프로토콜 간의 위의 차이점은 다음 표에 요약되어 있습니다.

보안 브라우징-HTTPS

이 섹션에서는 보안 웹 브라우징을 수행하기위한 SSL / TLS 프로토콜 사용에 대해 설명합니다.

HTTPS 정의

HTTP (Hyper Text Transfer Protocol) 프로토콜은 웹 검색에 사용됩니다. HTTPS의 기능은 HTTP와 유사합니다. 유일한 차이점은 HTTPS가 "안전한"웹 브라우징을 제공한다는 것입니다. HTTPS는 SSL을 통한 HTTP를 의미합니다. 이 프로토콜은 클라이언트 웹 브라우저와 웹 사이트 서버간에 암호화되고 인증 된 연결을 제공하는 데 사용됩니다.

HTTPS를 통한 보안 검색은 다음 콘텐츠가 암호화되도록합니다.

  • 요청 된 웹 페이지의 URL입니다.
  • 서버가 사용자 클라이언트에 제공하는 웹 페이지 컨텐츠입니다.
  • 사용자가 입력 한 양식의 내용입니다.
  • 양방향으로 설정된 쿠키.

HTTPS 작동

HTTPS 애플리케이션 프로토콜은 일반적으로 SSL 또는 TLS의 두 가지 인기있는 전송 계층 보안 프로토콜 중 하나를 사용합니다. 보안 브라우징 프로세스는 다음 사항에 설명되어 있습니다.

  • 브라우저 주소 표시 줄에 https : // 다음에 URL을 입력하여 웹 페이지에 대한 HTTPS 연결을 요청합니다.

  • 웹 브라우저가 웹 서버에 대한 연결을 시작합니다. https를 사용하면 SSL 프로토콜이 사용됩니다.

  • 이 경우 브라우저는 포트 80 대신 시스템 포트 443을 사용합니다 (http의 경우 사용됨).

  • SSL 프로토콜은 이전 섹션에서 설명한대로 보안 세션을 설정하기 위해 핸드 셰이크 프로토콜을 거칩니다.

  • 웹 사이트는 처음에 SSL 디지털 인증서를 브라우저로 보냅니다. 인증서 확인시 SSL 핸드 셰이크가 진행되어 세션에 대한 공유 비밀을 교환합니다.

  • 신뢰할 수있는 SSL 디지털 인증서를 서버에서 사용하는 경우 사용자는 브라우저 주소 표시 줄에 자물쇠 아이콘이 표시됩니다. 확장 유효성 검사 인증서가 웹 사이트에 설치되면 주소 표시 줄이 녹색으로 바뀝니다.

  • 일단 설정되면이 세션은 웹 서버와 브라우저 사이의 많은 보안 연결로 구성됩니다.

HTTPS 사용

  • HTTPS를 사용하면 사용자에게 기밀성, 서버 인증 및 메시지 무결성이 제공됩니다. 인터넷에서 전자 상거래를 안전하게 수행 할 수 있습니다.

  • 데이터 도청을 방지하고 HTTP에 대한 일반적인 공격 인 신원 도용을 거부합니다.

현재 웹 브라우저와 웹 서버는 HTTPS를 지원합니다. 그러나 HTTP를 통한 HTTPS를 사용하려면 암호화 및 SSL 핸드 셰이크를 수행하기 위해 클라이언트와 서버 쪽에서 더 많은 컴퓨팅 성능이 필요합니다.

SSH (Secure Shell Protocol)

SSH의 두드러진 특징은 다음과 같습니다.

  • SSH는 TCP / IP 계층 위에서 실행되는 네트워크 프로토콜입니다. 원격 로그온 기능의 안전하지 않은 수단을 제공 한 TELNET을 대체하도록 설계되었습니다.

  • SSH는 안전한 클라이언트 / 서버 통신을 제공하며 파일 전송 및 이메일과 같은 작업에 사용할 수 있습니다.

  • SSH2는 이전 버전 SSH1보다 향상된 네트워크 통신 보안을 제공하는 널리 사용되는 프로토콜입니다.

SSH 정의

SSH는 세 개의 하위 프로토콜로 구성됩니다.

  • Transport Layer Protocol− SSH 프로토콜의이 부분은 데이터 기밀성, 서버 (호스트) 인증 및 데이터 무결성을 제공합니다. 선택적으로 데이터 압축도 제공 할 수 있습니다.

    • Server Authentication− 호스트 키는 공개 / 개인 키와 같이 비대칭입니다. 서버는 공개 키를 사용하여 클라이언트에게 ID를 증명합니다. 클라이언트는 연결된 서버가 유지 관리하는 데이터베이스에서 "알려진"호스트인지 확인합니다. 서버가 인증되면 세션 키가 생성됩니다.

    • Session Key Establishment− 인증 후 서버와 클라이언트는 사용할 암호에 동의합니다. 세션 키는 클라이언트와 서버 모두에서 생성됩니다. 사용자 인증 전에 세션 키가 생성되므로 사용자 이름과 암호를 암호화하여 보낼 수 있습니다. 이러한 키는 일반적으로 세션 중에 정기적으로 (예 : 매시간) 교체되며 사용 후 즉시 폐기됩니다.

    • Data Integrity− SSH는 데이터 무결성 검사를 위해 MAC (Message Authentication Code) 알고리즘을 사용합니다. SSH1에서 사용하는 32 비트 CRC보다 개선 된 것입니다.

  • User Authentication Protocol− SSH의이 부분은 사용자를 서버에 인증합니다. 서버는 의도 된 사용자에게만 액세스 권한이 부여되었는지 확인합니다. 현재 입력 된 암호, Kerberos, 공개 키 인증 등과 같은 많은 인증 방법이 사용됩니다.

  • Connection Protocol − 단일 기본 SSH 연결을 통해 여러 논리 채널을 제공합니다.

SSH 서비스

SSH는 많은 보안 솔루션을 제공 할 수있는 세 가지 주요 서비스를 제공합니다. 이러한 서비스는 다음과 같이 간략하게 설명됩니다.

  • Secure Command-Shell (Remote Logon)− 사용자가 파일을 편집하고, 디렉토리 내용을보고, 연결된 장치의 애플리케이션에 액세스 할 수 있습니다. 시스템 관리자는 서비스 및 프로세스를 원격으로 시작 /보기 / 중지하고, 사용자 계정을 생성하고, 파일 / 디렉터리 권한을 변경할 수 있습니다. 시스템의 명령 프롬프트에서 가능한 모든 작업은 이제 보안 원격 로그온을 사용하여 원격 시스템에서 안전하게 수행 할 수 있습니다.

  • Secure File Transfer− SFTP (SSH File Transfer Protocol)는 안전한 파일 전송을 위해 SSH-2의 확장으로 설계되었습니다. 본질적으로 파일 전송을 처리하기 위해 Secure Shell 프로토콜 위에 계층화 된 별도의 프로토콜입니다. SFTP는 사용자 이름 / 암호 및 전송중인 파일 데이터를 모두 암호화합니다. 보안 셸 서버와 동일한 포트 (즉, 시스템 포트 22 번)를 사용합니다.

  • Port Forwarding (Tunneling)− 보안되지 않은 TCP / IP 기반 애플리케이션의 데이터를 보호 할 수 있습니다. 포트 전달이 설정된 후 Secure Shell은 프로그램 (일반적으로 클라이언트)에서 트래픽을 다시 라우팅하고 암호화 된 터널을 통해 다른 쪽 프로그램 (일반적으로 서버)으로 전송합니다. 여러 응용 프로그램이 단일 다중 보안 채널을 통해 데이터를 전송할 수 있으므로 방화벽이나 라우터에서 많은 포트를 열 필요가 없습니다.

이점 및 제한

전송 계층에서 통신 보안을 사용하는 이점과 한계는 다음과 같습니다.

  • 혜택

    • 전송 계층 보안은 애플리케이션에 투명합니다.

    • 서버가 인증되었습니다.

    • 응용 프로그램 계층 헤더가 숨겨집니다.

    • 전송 연결 수준에서 작동하므로 계층 3 (IPsec)의 보안 메커니즘보다 세분화됩니다.

  • 한계

    • TCP 기반 애플리케이션에만 적용됩니다 (UDP 제외).

    • TCP / IP 헤더가 명확합니다.

    • 클라이언트와 서버 간의 직접 통신에 적합합니다. 서버 체인 (예 : 이메일)을 사용하는 보안 애플리케이션을 제공하지 않습니다.

    • SSL은 클라이언트 인증이 선택 사항이므로 부인 방지를 제공하지 않습니다.

    • 필요한 경우 SSL 위에 클라이언트 인증을 구현해야합니다.

요약

지난 10 년 동안 인터넷에 수많은 웹 애플리케이션이 등장했습니다. 많은 e-Governance 및 e-Commerce 포털이 온라인 상태가되었습니다. 이러한 애플리케이션을 사용하려면 서버와 클라이언트 간의 세션이 세션의 기밀성, 인증 및 무결성을 제공하는 보안이 필요합니다.

사용자 세션 중에 잠재적 인 공격을 완화하는 한 가지 방법은 보안 통신 프로토콜을 사용하는 것입니다. 이러한 통신 프로토콜 중 두 가지 인 SSL (Secure Sockets Layer) 및 TLS (Transport Layer Security)가이 장에서 설명됩니다. 이 두 프로토콜은 모두 전송 계층에서 작동합니다.

TELNET을 대체하도록 설계된 또 다른 전송 계층 프로토콜 인 SSH (Secure Shell)는 원격 로그온 기능의 보안 수단을 제공합니다. Secure Command Shell, SFTP 등 다양한 서비스를 제공 할 수 있습니다.

전송 계층 보안을 사용하면 많은 이점이 있습니다. 그러나 이러한 계층에서 설계된 보안 프로토콜은 TCP에서만 사용할 수 있습니다. UDP를 사용하여 구현 된 통신에 대한 보안을 제공하지 않습니다.

네트워크 계층 보안 제어는 많은 애플리케이션을 수정하지 않고 한 번에 보호 할 수 있기 때문에 특히 인터넷과 같은 공유 네트워크를 통해 통신 보안을 위해 자주 사용되었습니다.

이전 장에서 우리는 네트워크 보안을 위해 많은 실시간 보안 프로토콜이 진화하여 프라이버시, 출처 인증, 메시지 무결성 및 부인 방지와 같은 기본 보안 원칙을 보장한다고 논의했습니다.

이러한 프로토콜의 대부분은 표준 인터넷 프로토콜의 본질적인 보안 부족을 보완하기 위해 OSI 프로토콜 스택의 상위 계층에 집중되어 있습니다. 이러한 방법은 가치가 있지만 모든 응용 프로그램에서 사용하기 위해 쉽게 일반화 할 수 없습니다. 예를 들어 SSL은 HTTP 또는 FTP와 같은 애플리케이션을 보호하기 위해 특별히 개발되었습니다. 그러나 보안 통신이 필요한 다른 여러 응용 프로그램이 있습니다.

이러한 요구로 인해 모든 상위 계층 프로토콜이이를 활용할 수 있도록 IP 계층에서 보안 솔루션을 개발해야했습니다. 1992 년 IETF (Internet Engineering Task Force)는 표준 'IPsec'을 정의하기 시작했습니다.

이 장에서는 매우 널리 사용되는 IPsec 프로토콜 집합을 사용하여 네트워크 계층에서 보안을 달성하는 방법에 대해 설명합니다.

네트워크 계층의 보안

네트워크 보안을 제공하기 위해 개발 된 모든 체계는 아래 다이어그램에 설명 된 것처럼 프로토콜 스택의 일부 계층에서 구현되어야합니다.

통신 프로토콜 보안 프로토콜
응용 계층 HTTP FTP SMTP PGP. S / MIME, HTTPS
전송 계층 TCP / UDP SSL, TLS, SSH
네트워크 계층 IP IPsec

네트워크 계층에서 보안을 보장하기 위해 개발 된 널리 사용되는 프레임 워크는 IPsec (인터넷 프로토콜 보안)입니다.

IPsec의 기능

  • IPsec은 전송 프로토콜로 TCP에서만 작동하도록 설계되지 않았습니다. UDP 및 ICMP, OSPF 등과 같은 IP 위의 다른 프로토콜과 함께 작동합니다.

  • IPsec은 상위 계층 헤더를 포함하여 IP 계층에 제공되는 전체 패킷을 보호합니다.

  • 포트 번호를 전달하는 상위 계층 헤더가 숨겨져 있기 때문에 트래픽 분석이 더 어렵습니다.

  • IPsec은 애플리케이션 프로세스에서 애플리케이션 프로세스로가 아니라 한 네트워크 엔티티에서 다른 네트워크 엔티티로 작동합니다. 따라서 개별 사용자 컴퓨터 / 응용 프로그램을 변경하지 않고도 보안을 채택 할 수 있습니다.

  • 네트워크 엔터티 간의 보안 통신을 제공하는 데 널리 사용되지만 IPsec은 호스트 간 보안도 제공 할 수 있습니다.

  • IPsec의 가장 일반적인 용도는 두 위치 (게이트웨이 간) 또는 원격 사용자와 엔터프라이즈 네트워크 (호스트 간)간에 가상 사설망 (VPN)을 제공하는 것입니다.

보안 기능

IPsec에서 제공하는 중요한 보안 기능은 다음과 같습니다.

  • 기밀성

    • 통신 노드가 메시지를 암호화하도록합니다.

    • 제 3 자의 도청을 방지합니다.

  • 오리진 인증 및 데이터 무결성.

    • 수신 된 패킷이 패킷 헤더에서 소스로 식별 된 당사자에 의해 실제로 전송되었음을 보장합니다.

    • 패킷이 변경되지 않았는지 확인합니다.

  • 핵심 관리.

    • 키의 안전한 교환을 허용합니다.

    • 재생 공격과 같은 특정 유형의 보안 공격에 대한 보호.

가상 사설 통신망

이상적으로 모든 기관은 보안을 보장하기 위해 통신을위한 자체 사설 네트워크를 원할 것입니다. 그러나 지리적으로 분산 된 지역에 이러한 사설 네트워크를 구축하고 유지하는 데는 비용이 많이들 수 있습니다. 통신 링크, 라우터, DNS 등의 복잡한 인프라를 관리해야합니다.

IPsec은 이러한 기관에 가상 사설망 (VPN)을 구현하기위한 쉬운 메커니즘을 제공합니다. VPN 기술을 사용하면 공용 인터넷에 들어가기 전에 트래픽을 암호화하고 다른 트래픽과 논리적으로 분리하여 기관의 사무실 간 트래픽을 공용 인터넷을 통해 전송할 수 있습니다. VPN의 단순화 된 작동은 다음 다이어그램에 나와 있습니다.

IPsec 개요

IPsec은 IP 계층에서 보안을 제공하기위한 프레임 워크 / 프로토콜 모음입니다.

유래

1990 년대 초에 인터넷은 거의 학문적 목적으로 사용되는 기관이 거의 ​​없었습니다. 그러나 이후 수십 년 동안 인터넷의 성장은 네트워크의 확장과 통신 및 기타 목적으로이를 사용하는 여러 조직으로 인해 기하 급수적으로 증가했습니다.

인터넷의 엄청난 성장과 TCP / IP 프로토콜의 고유 한 보안 약점과 함께 인터넷에 네트워크 보안을 제공 할 수있는 기술에 대한 필요성이 느껴졌습니다. 1994 년 IAB (Internet Architecture Board)에서 "인터넷 아키텍처의 보안"이라는 제목의 보고서를 발행했습니다.이 보고서는 보안 메커니즘의 핵심 영역을 식별했습니다.

IAB는 차세대 IP 인 IPv6의 필수 보안 기능으로 인증 및 암호화를 포함했습니다. 다행히도 이러한 보안 기능은 현재 IPv4 및 미래형 IPv6 모두에서 구현 될 수 있도록 정의되었습니다.

보안 프레임 워크 인 IPsec은 여러 '댓글 요청'(RFC)에 정의되어 있습니다. 일부 RFC는 프로토콜의 일부를 지정하고 다른 RFC는 솔루션 전체를 지정합니다.

IPsec 내 작업

IPsec 제품군은 한꺼번에 수행 될 때 두 가지 별도의 작업이있는 것으로 간주되어 완전한 보안 서비스 집합을 제공합니다. 이 두 작업은 IPsec 통신 및 인터넷 키 교환입니다.

  • IPsec 통신

    • 일반적으로 표준 IPsec 기능과 연결됩니다. 여기에는 IP 데이터 그램의 캡슐화, 암호화 및 해싱과 모든 패킷 프로세스 처리가 포함됩니다.

    • 통신 당사자간에 설정된 사용 가능한 SA (보안 연결)에 따라 통신을 관리합니다.

    • AH (인증 헤더) 및 ESP (Encapsulated SP)와 같은 보안 프로토콜을 사용합니다.

    • IPsec 통신은 키 생성이나 관리에 관여하지 않습니다.

    • IPsec 통신 작업 자체를 일반적으로 IPsec이라고합니다.

  • IKE (인터넷 키 교환)

    • IKE는 IPsec에 사용되는 자동 키 관리 프로토콜입니다.

    • 기술적으로 키 관리는 IPsec 통신에 필수적인 것은 아니며 키를 수동으로 관리 할 수 ​​있습니다. 그러나 대규모 네트워크에는 수동 키 관리가 바람직하지 않습니다.

    • IKE는 IPsec 용 키 생성 및 키 설정 프로세스 중에 인증을 제공합니다. IPsec은 다른 모든 키 관리 프로토콜에 사용할 수 있지만 기본적으로 IKE가 사용됩니다.

    • IKE는 이미 정의 된 키 관리 프레임 워크 ISAKMP (Internet Security Association Key Management Protocol)와 함께 사용할 두 가지 프로토콜 (Oakley 및 SKEME)을 정의합니다.

    • ISAKMP는 IPsec에 한정되지 않지만 모든 프로토콜에 대한 SA를 만들기위한 프레임 워크를 제공합니다.

이 장에서는 주로 보안을 달성하기 위해 사용되는 IPsec 통신 및 관련 프로토콜에 대해 설명합니다.

IPsec 통신 모드

IPsec 통신에는 두 가지 기능 모드가 있습니다. 운송 및 터널 모드. 이러한 모드는 조합하여 사용하거나 원하는 통신 유형에 따라 개별적으로 사용할 수 있습니다.

운송 모드

  • IPsec은 상위 계층에서받은 패킷을 캡슐화하지 않습니다.

  • 원래 IP 헤더가 유지되고 데이터는 상위 계층 프로토콜에서 설정 한 원래 속성을 기반으로 전달됩니다.

  • 다음 다이어그램은 프로토콜 스택의 데이터 흐름을 보여줍니다.

  • 전송 모드의 한계는 게이트웨이 서비스를 제공 할 수 없다는 것입니다. 다음 이미지에 설명 된대로 지점 간 통신용으로 예약되어 있습니다.

터널 모드

  • 이 IPsec 모드는 다른 보안 서비스와 함께 캡슐화 서비스를 제공합니다.

  • 터널 모드 동작에서는 보안 프로토콜을 적용하기 전에 상위 계층의 전체 패킷이 캡슐화됩니다. 새 IP 헤더가 추가되었습니다.

  • 다음 다이어그램은 프로토콜 스택의 데이터 흐름을 보여줍니다.

  • 터널 모드는 일반적으로 게이트웨이 활동과 연관됩니다. 캡슐화는 단일 게이트웨이를 통해 여러 세션을 보내는 기능을 제공합니다.

  • 일반적인 터널 모드 통신은 다음 다이어그램과 같습니다.

  • 엔드 포인트에 관한 한 직접 전송 계층 연결이 있습니다. 한 시스템에서 게이트웨이로 전달되는 데이터 그램은 캡슐화되어 원격 게이트웨이로 전달됩니다. 원격 관련 게이트웨이는 데이터를 캡슐화 해제하고 내부 네트워크의 대상 엔드 포인트로 전달합니다.

  • IPsec을 사용하면 게이트웨이와 개별 최종 시스템간에 터널링 모드를 설정할 수도 있습니다.

IPsec 프로토콜

IPsec은 보안 프로토콜을 사용하여 원하는 보안 서비스를 제공합니다. 이러한 프로토콜은 IPsec 작업의 핵심이며 다른 모든 프로토콜은 IPsec에서 이러한 프로토콜을 지원하도록 설계되었습니다.

통신 엔터티 간의 보안 연결은 사용되는 보안 프로토콜에 의해 설정되고 유지됩니다.

IPsec에 의해 정의 된 보안 프로토콜에는 AH (인증 헤더)와 ESP (Encapsulating Security Payload)가 있습니다.

인증 헤더

AH 프로토콜은 데이터 무결성 및 원본 인증 서비스를 제공합니다. 선택적으로 메시지 재생 저항을 충족시킵니다. 그러나 어떠한 형태의 기밀도 제공하지 않습니다.

AH는 헤더를 추가하여 데이터 그램 내용의 전체 또는 일부를 인증하는 프로토콜입니다. 헤더는 데이터 그램의 값을 기반으로 계산됩니다. 데이터 그램에서 계산에 사용되는 부분과 헤더를 배치 할 위치는 모드 협력 (터널 또는 전송)에 따라 다릅니다.

AH 프로토콜의 작동은 놀랍도록 간단합니다. 체크섬을 계산하거나 오류 감지를위한 CRC 검사를 수행하는 데 사용되는 알고리즘과 유사한 것으로 간주 될 수 있습니다.

AH의 개념은 단순 알고리즘을 사용하는 대신 AH가 통신 당사자에게만 알려진 특수 해싱 알고리즘과 비밀 키를 사용한다는 점을 제외하면 동일합니다. 이러한 세부 사항을 지정하는 두 장치 간의 보안 연결이 설정됩니다.

AH 프로세스는 다음 단계를 거칩니다.

  • 상위 프로토콜 스택에서 IP 패킷이 수신되면 IPsec은 패킷의 사용 가능한 정보에서 관련 SA (보안 연결)를 결정합니다. 예 : IP 주소 (소스 및 대상).

  • SA에서 보안 프로토콜이 AH임을 확인하면 AH 헤더의 매개 변수를 계산합니다. AH 헤더는 다음 매개 변수로 구성됩니다.

  • 헤더 필드는 AH 헤더 다음에 오는 패킷의 프로토콜을 지정합니다. SPI (Sequence Parameter Index)는 통신 당사자간에 존재하는 SA에서 가져옵니다.

  • 시퀀스 번호가 계산되고 삽입됩니다. 이 숫자는 AH에 리플레이 공격에 저항하는 선택적 기능을 제공합니다.

  • 인증 데이터는 통신 모드에 따라 다르게 계산됩니다.

  • 전송 모드에서 인증 데이터 계산 및 전송을위한 최종 IP 패킷 조합은 다음 다이어그램에 나와 있습니다. 원래의 IP 헤더에서는 프로토콜 번호 51 만 AH의 지시 적용으로 변경합니다.

  • 터널 모드에서는 위의 프로세스가 다음 다이어그램과 같이 수행됩니다.

ESP (Encapsulation Security Protocol)

ESP는 기밀성, 무결성, 원본 인증 및 선택적 재생 저항과 같은 보안 서비스를 제공합니다. 제공되는 서비스 세트는 SA (Security Association) 설정시 선택한 옵션에 따라 다릅니다.

ESP에서 암호화 및 인증 자 생성에 사용되는 알고리즘은 SA를 만드는 데 사용되는 속성에 의해 결정됩니다.

ESP의 과정은 다음과 같습니다. 처음 두 단계는 위에서 언급 한 AH 프로세스와 유사합니다.

  • ESP가 관련되어 있다고 판단되면 ESP 패킷의 필드가 계산됩니다. ESP 필드 배열은 다음 다이어그램에 설명되어 있습니다.

  • 다음 다이어그램은 전송 모드의 암호화 및 인증 프로세스를 보여줍니다.

  • 터널 모드의 경우 암호화 및 인증 프로세스는 다음 다이어그램과 같습니다.

인증 및 기밀성은 ESP에서 제공하는 기본 서비스이지만 둘 다 선택 사항입니다. 기술적으로 인증없이 NULL 암호화를 사용할 수 있습니다. 그러나 실제로 ESP를 효과적으로 사용하려면 둘 중 하나를 구현해야합니다.

기본 개념은 인증 및 암호화를 원할 때 ESP를 사용하고 암호화없이 확장 인증을 원할 때 AH를 사용하는 것입니다.

IPsec의 보안 연결

SA (Security Association)는 IPsec 통신의 기초입니다. SA의 특징은-

  • 데이터를 보내기 전에 보내는 엔터티와받는 엔터티 사이에 "SA (Security Association)"라는 가상 연결이 설정됩니다.

  • IPsec은 네트워크 암호화 및 인증을 수행하기위한 많은 옵션을 제공합니다. 각 IPsec 연결은 암호화, 무결성, 신뢰성 또는 세 가지 서비스를 모두 제공 할 수 있습니다. 보안 서비스가 결정되면 두 IPsec 피어 엔터티는 사용할 알고리즘 (예 : 암호화의 경우 DES 또는 3DES, 무결성의 경우 MD5 또는 SHA-1)을 정확히 결정해야합니다. 알고리즘을 결정한 후 두 장치는 세션 키를 공유해야합니다.

  • SA는 IPsec 세션을 구축하기 위해 둘 이상의 시스템 간의 관계를 제공하는 위의 통신 매개 변수 집합입니다.

  • SA는 본질적으로 단순하므로 양방향 통신에는 두 개의 SA가 필요합니다.

  • SA는 보안 프로토콜 헤더에있는 SPI (Security Parameter Index) 번호로 식별됩니다.

  • 송신 및 수신 엔티티 모두 SA에 대한 상태 정보를 유지합니다. 상태 정보도 유지하는 TCP 끝점과 유사합니다. IPsec은 TCP와 같은 연결 지향적입니다.

SA의 매개 변수

모든 SA는 다음 세 가지 매개 변수로 고유하게 식별됩니다.

  • 보안 매개 변수 색인 (SPI).

    • SA에 할당 된 32 비트 값입니다. 동일한 대상에서 종료되고 동일한 IPsec 프로토콜을 사용하는 서로 다른 SA를 ​​구별하는 데 사용됩니다.

    • 모든 IPsec 패킷은 SPI 필드를 포함하는 헤더를 전달합니다. SPI는 들어오는 패킷을 SA에 매핑하기 위해 제공됩니다.

    • SPI는 수신자에게 SA를 식별하기 위해 발신자가 생성 한 임의의 숫자입니다.

  • Destination IP Address − 최종 라우터의 IP 주소 일 수 있습니다.

  • Security Protocol Identifier − 연결이 AH인지 ESP SA인지를 나타냅니다.

IPsec 통신에 관련된 두 라우터 간의 SA 예는 다음 다이어그램에 나와 있습니다.

보안 관리 데이터베이스

IPsec에는 IPsec 데이터 그램 처리를 제어하는 ​​두 개의 데이터베이스가 있습니다. 하나는 보안 연결 데이터베이스 (SAD)이고 다른 하나는 보안 정책 데이터베이스 (SPD)입니다. IPsec을 사용하는 각 통신 끝점에는 논리적으로 분리 된 SAD 및 SPD가 있어야합니다.

보안 연결 데이터베이스

IPsec 통신에서 엔드 포인트는 SAD (Security Association Database)에 SA 상태를 보유합니다. SAD 데이터베이스의 각 SA 항목은 다음 표와 같이 9 개의 매개 변수를 포함합니다.

Sr. 아니. 매개 변수 및 설명
1

Sequence Number Counter

아웃 바운드 통신용. AH 또는 ESP 헤더에 제공된 32 비트 시퀀스 번호입니다.

2

Sequence Number Overflow Counter

특정 SA를 사용하는 추가 통신을 방지하기 위해 옵션 플래그를 설정합니다.

32-bit anti-replay window

인바운드 AH 또는 ESP 패킷이 재생인지 확인하는 데 사용됩니다.

4

Lifetime of the SA

SA가 활성 상태를 유지하는 데 걸리는 시간

5

Algorithm - AH

AH 및 관련 키에 사용

6

Algorithm - ESP Auth

ESP 헤더의 인증 부분에 사용

7

Algorithm - ESP Encryption

ESP 및 관련 키 정보의 암호화에 사용됩니다.

8

IPsec mode of operation

운송 또는 터널 모드

9

Path MTU(PMTU)

관찰 된 모든 경로 최대 전송 단위 (조각화 방지)

SAD의 모든 SA 항목은 대상 IP 주소, 보안 프로토콜 식별자 및 SPI의 세 가지 SA 매개 변수에 의해 인덱싱됩니다.

보안 정책 데이터베이스

SPD는 나가는 패킷을 처리하는 데 사용됩니다. 사용할 SAD 항목을 결정하는 데 도움이됩니다. SAD 항목이 없으면 SPD를 사용하여 새 항목을 만듭니다.

모든 SPD 항목에는-

  • SAD에 보관 된 활성 SA에 대한 포인터.

  • 선택기 필드 – IPsec 적용을 결정하는 데 사용되는 상위 계층에서 들어오는 패킷의 필드입니다. 선택기는 소스 및 대상 주소, 관련이있는 경우 포트 번호, 애플리케이션 ID, 프로토콜 등을 포함 할 수 있습니다.

나가는 IP 데이터 그램은 인코딩 매개 변수를 얻기 위해 SPD 항목에서 특정 SA로 이동합니다. 수신 IPsec 데이터 그램은 SPI / DEST IP / 프로토콜 트리플을 사용하여 직접 올바른 SA에 도달하고 여기에서 연관된 SAD 항목을 추출합니다.

SPD는 IPsec을 우회해야하는 트래픽도 지정할 수 있습니다. SPD는 결정된 동작이 SA 프로세스의 활성화 인 패킷 필터로 간주 할 수 있습니다.

요약

IPsec은 네트워크 연결 보안을위한 프로토콜 모음입니다. 특정 암호화 알고리즘 및 인증 기능에 대한 직접적인 정의를 제공하는 대신 통신 끝이 동의하는 모든 것을 구현할 수있는 프레임 워크를 제공하기 때문에 다소 복잡한 메커니즘입니다.

AH (인증 헤더) 및 ESP (Encapsulating Security Payload)는 IPsec에서 사용하는 두 가지 주요 통신 프로토콜입니다. AH는 인증 만하는 반면 ESP는 연결을 통해 전송되는 데이터를 암호화하고 인증 할 수 있습니다.

전송 모드는 IP 헤더를 변경하지 않고 두 끝점간에 보안 연결을 제공합니다. 터널 모드는 전체 페이로드 IP 패킷을 캡슐화합니다. 새로운 IP 헤더를 추가합니다. 후자는 신뢰할 수없는 인터넷을 통해 가상 보안 터널을 제공하므로 기존 VPN을 형성하는 데 사용됩니다.

IPsec 연결 설정에는 모든 종류의 암호화 선택이 포함됩니다. 인증은 일반적으로 MD5 또는 SHA-1과 같은 암호화 해시 위에 구축됩니다. 암호화 알고리즘은 DES, 3DES, Blowfish 및 AES가 일반적입니다. 다른 알고리즘도 가능합니다.

통신하는 두 끝점 모두 해싱 또는 암호화에 사용되는 비밀 값을 알아야합니다. 수동 키를 사용하려면 양쪽 끝에서 비밀 값을 수동으로 입력해야하며, 아마도 일부 대역 외 메커니즘에 의해 전달 될 수 있으며 IKE (Internet Key Exchange)는이를 온라인으로 수행하기위한 정교한 메커니즘입니다.

인터넷의 급속한 성장으로 인해 네트워크 보안에 대한 주요 관심사가 제기되었습니다. 네트워크의 애플리케이션, 전송 또는 네트워크 계층에서 보안을 제공하기 위해 여러 가지 방법이 개발되었습니다.

많은 조직이 애플리케이션 계층에서 IP 계층에 이르기까지 상위 OSI 계층에서 보안 조치를 통합합니다. 그러나 일반적으로 방치되는 영역 중 하나는 데이터 링크 계층의 강화입니다. 이것은 네트워크를 다양한 공격과 손상에 노출시킬 수 있습니다.

이 장에서는 데이터 링크 계층의 보안 문제와 이에 대응하는 방법에 대해 설명합니다. 우리의 논의는 이더넷 네트워크에 초점을 맞출 것입니다.

데이터 링크 계층의 보안 문제

이더넷 네트워크의 데이터 링크 계층은 여러 공격에 매우 취약합니다. 가장 일반적인 공격은 다음과 같습니다.

ARP 스푸핑

ARP (Address Resolution Protocol)는 IP 주소를 로컬 이더넷에서 인식 할 수있는 물리적 컴퓨터 주소에 매핑하는 데 사용되는 프로토콜입니다. 호스트 머신이 IP 주소에 대한 물리적 MAC (Media Access Control) 주소를 찾아야하는 경우 ARP 요청을 브로드 캐스트합니다. IP 주소를 소유 한 다른 호스트는 물리적 주소와 함께 ARP 응답 메시지를 보냅니다.

네트워크의 각 호스트 시스템은 'ARP 캐시'라는 테이블을 유지합니다. 이 테이블에는 네트워크에있는 다른 호스트의 IP 주소 및 관련 MAC 주소가 있습니다.

ARP는 상태 비 저장 프로토콜이므로 호스트가 ARP 요청을 보내지 않았더라도 다른 호스트로부터 ARP 응답을받을 때마다 해당 ARP 항목을 수락하고 ARP 캐시를 업데이트합니다. ARP 포이즈 닝 또는 ARP 스푸핑이라고하는 위조 된 항목을 사용하여 대상 호스트의 ARP 캐시를 수정하는 프로세스입니다.

ARP 스푸핑을 사용하면 공격자가 합법적 인 호스트로 가장 한 다음 네트워크에서 데이터 프레임을 가로 채고 수정하거나 중지 할 수 있습니다. 종종 공격은 중간자, 세션 하이재킹 또는 서비스 거부와 같은 다른 공격을 시작하는 데 사용됩니다.

MAC 플러딩

이더넷의 모든 스위치에는 MAC 주소, 스위치 포트 번호 및 기타 정보를 저장하는 CAM (Content Addressable Memory) 테이블이 있습니다. 테이블의 크기는 고정되어 있습니다. MAC 플러딩 공격에서 공격자는 CAM 테이블이 가득 찰 때까지 위조 된 ARP 패킷을 사용하여 MAC 주소로 스위치를 플러딩합니다.

CAM이 플러드되면 스위치는 허브와 같은 모드로 전환되고 CAM 항목이없는 트래픽을 브로드 캐스팅하기 시작합니다. 동일한 네트워크에있는 공격자는 이제 특정 호스트만을 대상으로하는 모든 프레임을 수신합니다.

포트 훔치기

이더넷 스위치에는 MAC 주소를 학습하고 포트에 바인딩하는 기능이 있습니다. 스위치가 MAC 소스 주소가있는 포트에서 트래픽을 수신하면 포트 번호와 해당 MAC 주소를 바인딩합니다.

포트 도용 공격은 스위치의 이러한 기능을 악용합니다. 공격자는 대상 호스트의 MAC 주소를 소스 주소로 사용하여 위조 된 ARP 프레임으로 스위치를 플러딩합니다. 스위치는 대상 호스트가 실제로 공격자가 연결된 포트에 있다고 믿도록 속입니다.

이제 대상 호스트를위한 모든 데이터 프레임이 대상 호스트가 아닌 공격자의 스위치 포트로 전송됩니다. 따라서 공격자는 이제 실제로 대상 호스트로만 향하는 모든 프레임을 수신합니다.

DHCP 공격

DHCP (Dynamic Host Configuration Protocol)는 데이터 링크 프로토콜이 아니지만 DHCP 공격에 대한 솔루션은 계층 2 공격을 차단하는데도 유용합니다.

DHCP는 특정 기간 동안 컴퓨터에 IP 주소를 동적으로 할당하는 데 사용됩니다. 네트워크에서 서비스 거부를 유발하거나 DHCP 서버를 가장하여 DHCP 서버를 공격 할 수 있습니다. DHCP 기아 공격에서 공격자는 사용 가능한 모든 DHCP 주소를 요청합니다. 이로 인해 네트워크의 합법적 인 호스트에 대한 서비스 거부가 발생합니다.

DHCP 스푸핑 공격에서 공격자는 불량 DHCP 서버를 배포하여 클라이언트에 주소를 제공 할 수 있습니다. 여기서 공격자는 DHCP 응답과 함께 루즈 기본 게이트웨이를 호스트 컴퓨터에 제공 할 수 있습니다. 이제 호스트의 데이터 프레임은 공격자가 모든 패키지를 가로 채서 실제 게이트웨이에 응답하거나 삭제할 수있는 루즈 게이트웨이로 안내됩니다.

기타 공격

위에서 언급 한 일반적인 공격 외에도 레이어 2 기반 브로드 캐스팅, DoS (서비스 거부), MAC 복제와 같은 다른 공격이 있습니다.

브로드 캐스팅 공격에서 공격자는 스푸핑 된 ARP 응답을 네트워크의 호스트로 보냅니다. 이러한 ARP 응답은 기본 게이트웨이의 MAC 주소를 브로드 캐스트 주소로 설정합니다. 이로 인해 모든 아웃 바운드 트래픽이 브로드 캐스트되어 동일한 이더넷에있는 공격자가 스니핑 할 수 있습니다. 이러한 유형의 공격은 네트워크 용량에도 영향을 미칩니다.

레이어 2 기반 DoS 공격에서 공격자는 존재하지 않는 MAC 주소로 네트워크에있는 호스트의 ARP 캐시를 업데이트합니다. 네트워크에있는 각 네트워크 인터페이스 카드의 MAC 주소는 전역 적으로 고유해야합니다. 그러나 MAC 복제를 활성화하여 쉽게 변경할 수 있습니다. 공격자는 DoS 공격을 통해 대상 호스트를 비활성화 한 다음 대상 호스트의 IP 및 MAC 주소를 사용합니다.

공격자는 네트워크를 통해 이동하는 정보의 보안을 위태롭게하기 위해 공격을 실행하여 상위 수준의 공격을 시작합니다. 그는 모든 프레임을 가로 챌 수 있고 프레임 데이터를 읽을 수 있습니다. 공격자는 중간자 (man-in-middle) 역할을하고 데이터를 수정하거나 단순히 DoS로 이어지는 프레임을 삭제할 수 있습니다. 그는 대상 호스트와 다른 컴퓨터 간의 진행중인 세션을 가로 채서 잘못된 정보를 모두 전달할 수 있습니다.

이더넷 LAN 보안

이전 섹션에서 데이터 링크 계층에서 널리 알려진 공격에 대해 논의했습니다. 이러한 유형의 공격을 완화하기 위해 여러 가지 방법이 개발되었습니다. 중요한 방법 중 일부는-

포트 보안

지능형 이더넷 스위치에서 사용할 수있는 레이어 2 보안 기능입니다. 여기에는 스위치의 물리적 포트를 특정 MAC 주소에 연결하는 것이 포함됩니다. 호스트를 사용 가능한 스위치 포트 중 하나에 연결하기 만하면 누구나 비보안 네트워크에 액세스 할 수 있습니다. 그러나 포트 보안은 레이어 2 액세스를 보호 할 수 있습니다.

기본적으로 포트 보안은 수신 MAC 주소 수를 1로 제한합니다. 그러나 두 개 이상의 인증 된 호스트가 구성을 통해 해당 포트에서 연결하도록 허용 할 수 있습니다. 인터페이스 당 허용되는 MAC 주소는 정적으로 구성 할 수 있습니다. 편리한 대안은 포트의 최대 한계에 도달 할 때까지 스위치 포트에 의해 MAC 주소가 동적으로 학습되는 "고정"MAC 주소 학습을 활성화하는 것입니다.

보안을 보장하기 위해 포트의 지정된 MAC 주소 또는 포트의 초과 주소 변경에 대한 반응을 다양한 방법으로 제어 할 수 있습니다. 지정된 제한을 초과하는 MAC 주소를 종료하거나 차단하도록 포트를 구성 할 수 있습니다. 권장되는 모범 사례는 포트를 종료하는 것입니다. 포트 보안은 MAC 플러딩 및 복제 공격을 방지합니다.

DHCP 스누핑

DHCP 스푸핑은 공격자가 네트워크의 호스트로부터 DHCP 요청을 수신하고 인증 된 DHCP 응답이 호스트에 오기 전에 가짜 DHCP 응답으로 응답하는 공격입니다.

DHCP 스누핑은 이러한 공격을 방지 할 수 있습니다. DHCP 스누핑은 스위치 기능입니다. DHCP 요청에 응답 할 수있는 스위치 포트를 결정하도록 스위치를 구성 할 수 있습니다. 스위치 포트는 신뢰할 수 있거나 신뢰할 수없는 포트로 식별됩니다.

인증 된 DHCP 서버에 연결하는 포트만 "신뢰할 수있는"포트로 구성되며 모든 유형의 DHCP 메시지를 보낼 수 있습니다. 스위치의 다른 모든 포트는 신뢰할 수 없으며 DHCP 요청 만 보낼 수 있습니다. 신뢰할 수없는 포트에서 DHCP 응답이 표시되면 포트가 종료됩니다.

ARP 스푸핑 방지

포트 보안 방법은 MAC 플러딩 및 복제 공격을 방지 할 수 있습니다. 그러나 ARP 스푸핑을 방지하지는 않습니다. 포트 보안은 프레임 헤더의 MAC 소스 주소를 확인하지만 ARP 프레임은 데이터 페이로드에 추가 MAC 소스 필드를 포함하고 호스트는이 필드를 사용하여 ARP 캐시를 채 웁니다. ARP 스푸핑을 방지하는 몇 가지 방법은 다음과 같습니다.

  • Static ARP− 권장되는 작업 중 하나는 호스트 ARP 테이블에 정적 ARP 항목을 사용하는 것입니다. 정적 ARP 항목은 ARP 캐시의 영구 항목입니다. 그러나이 방법은 비실용적입니다. 또한 계층 2 네트워크의 모든 호스트에 고정 IP를 사용해야하므로 일부 DHCP (Dynamic Host Configuration Protocol)를 사용할 수 없습니다.

  • Intrusion Detection System− 방어 방법은 다량의 ARP 트래픽을 탐지하도록 구성된 침입 탐지 시스템 (IDS)을 활용하는 것입니다. 그러나 IDS는 오 탐지를보고하는 경향이 있습니다.

  • Dynamic ARP Inspection− ARP 스푸핑을 방지하는이 방법은 DHCP 스누핑과 유사합니다. 신뢰할 수있는 포트와 신뢰할 수없는 포트를 사용합니다. ARP 응답은 신뢰할 수있는 포트에서만 스위치 인터페이스로 허용됩니다. ARP 응답이 신뢰할 수없는 포트의 스위치로 오면 ARP 응답 패킷의 내용을 DHCP 바인딩 테이블과 비교하여 정확성을 확인합니다. ARP 응답이 유효하지 않으면 ARP 응답이 삭제되고 포트가 비활성화됩니다.

스패닝 트리 프로토콜 보안

STP (Spanning Tree Protocol)는 계층 2 링크 관리 프로토콜입니다. STP의 주요 목적은 네트워크에 중복 경로가있을 때 데이터 흐름 루프가 없는지 확인하는 것입니다. 일반적으로 네트워크에 안정성을 제공하기 위해 중복 경로가 구축됩니다. 그러나 네트워크에서 DoS 공격으로 이어질 수있는 치명적인 루프를 형성 할 수 있습니다.

스패닝 트리 프로토콜

원하는 경로 중복성을 제공하고 루프 조건을 방지하기 위해 STP는 네트워크의 모든 스위치에 걸쳐있는 트리를 정의합니다. STP는 특정 중복 데이터 링크를 차단 상태로 만들고 다른 링크를 전달 상태로 유지합니다.

전달 상태의 링크가 끊어지면 STP는 적절한 대기 경로를 활성화하여 네트워크를 재구성하고 데이터 경로를 재정의합니다. STP는 네트워크에 배포 된 브리지 및 스위치에서 실행됩니다. 모든 스위치는 루트 스위치 선택 및 후속 네트워크 구성에 대한 정보를 교환합니다. BPDU (Bridge Protocol Data Unit)는이 정보를 전달합니다. BPDU의 교환을 통해 네트워크의 모든 스위치는 네트워크에서 초점이되는 루트 브리지 / 스위치를 선택하고 차단 및 전달 된 링크를 제어합니다.

STP에 대한 공격

  • 루트 브리지 인수. 이는 계층 2에서 가장 파괴적인 공격 유형 중 하나입니다. 기본적으로 LAN 스위치는 주변 스위치에서 전송 된 모든 BPDU를 액면 그대로 가져옵니다. 덧붙여서 STP는 신뢰할 수 있고 상태 비 저장이며 사운드 인증 메커니즘을 제공하지 않습니다.

  • 루트 공격 모드에 들어가면 공격 스위치는 현재 루트 브리지와 동일한 우선 순위로 2 초마다 BPDU를 전송하지만 약간 낮은 MAC 주소를 사용하여 루트 브리지 선택 프로세스에서 승리를 보장합니다. 공격자 스위치는 BPDU 플러딩을 유발하는 다른 스위치를 제대로 인식하지 못하거나 한 번에 루트라고 주장하고 신속하게 철회하여 스위치를 오버 프로세스 BPDUS에 적용하여 DoS 공격을 시작할 수 있습니다.

  • Flood of Configuration BPDU를 사용하는 DoS. 공격 스위치는 루트로 인계를 시도하지 않습니다. 대신 초당 많은 수의 BPDU를 생성하여 스위치의 CPU 사용률이 매우 높아집니다.

STP에 대한 공격 방지

다행히 루트 탈취 공격에 대한 대책은 간단하고 간단합니다. 루트 탈취 공격을 물리 치는 데 도움이되는 두 가지 기능이 있습니다.

  • Root Guard− 루트 가드는 루트 브리지가 협상 될 수있는 스위치 포트를 제한합니다. '루트 가드 사용'포트가 현재 루트 브리지가 전송하는 것보다 우수한 BPDU를 수신하면 해당 포트는 루트 불일치 상태로 이동하고 데이터 트래픽이 해당 포트를 통해 전달되지 않습니다. 루트 가드는 루트 브리지로 인계 될 것으로 예상되지 않는 스위치에 연결되는 포트에 가장 적합합니다.

  • BPDU-Guard− BPDU 가드는 액세스 포트에서 BPDU 수신으로 인해 발생할 수있는 문제로부터 네트워크를 보호하는 데 사용됩니다. 수신하지 않아야하는 포트입니다. BPDU 가드는 공격자가 불량 스위치를 삽입하는 것을 방지하기 위해 사용자 방향 포트에 가장 잘 배치됩니다.

가상 LAN 보안

로컬 네트워크에서 VLAN (Virtual Local Area Network)은 때때로 계층 2 공격에 취약한 호스트 수를 제한하기위한 보안 조치로 구성됩니다. VLAN은 브로드 캐스트 (ARP, DHCP) 트래픽이 통과 할 수없는 네트워크 경계를 만듭니다.

가상 근거리 통신망

VLAN 기능을 지원하는 스위치를 사용하는 네트워크는 단일 물리적 LAN 인프라에서 여러 VLAN을 정의하도록 구성 할 수 있습니다.

VLAN의 일반적인 형태는 포트 기반 VLAN입니다. 이 VLAN 구조에서 스위치 포트는 스위치 관리 소프트웨어를 사용하여 VLAN으로 그룹화됩니다. 따라서 단일 물리적 스위치가 여러 가상 스위치로 작동 할 수 있습니다.

VLAN을 사용하면 트래픽 격리가 제공됩니다. 대규모 브로드 캐스트 계층 2 네트워크를 더 작은 논리 계층 2 네트워크로 분할하여 ARP / DHCP 스푸핑과 같은 공격 범위를 줄입니다. 한 VLAN의 데이터 프레임은 동일한 VLAN에 속한 포트 내에서만 이동할 수 있습니다. 두 VLAN 사이의 프레임 전달은 라우팅을 통해 수행됩니다.

VLAN은 일반적으로 위의 다이어그램에 표시된 것처럼 여러 스위치에 걸쳐 있습니다. 트렁크 포트 간의 링크는 여러 물리적 스위치를 통해 정의 된 모든 VLAN의 프레임을 전달합니다. 따라서 스위치간에 전달되는 VLAN 프레임은 단순한 IEEE 802.1 이더넷 형식 프레임이 될 수 없습니다. 이러한 프레임은 동일한 물리적 링크에서 이동하므로 이제 VLAN ID 정보를 전달해야합니다. IEEE 802.1Q 프로토콜은 트렁크 포트간에 전달되는 일반 이더넷 프레임에 추가 헤더 필드를 추가 / 제거합니다.

두 IP 주소 필드 다음의 필드가 0x8100 (> 1500) 인 경우 프레임은 802.1Q 프레임으로 식별됩니다. 2 바이트 TPI (Tag Protocol Identifier)의 값은 81-00입니다. TCI 필드는 3 비트 우선 순위 정보, 1 비트 DEI (Drop 적합 표시기) 및 12 비트 VLAN ID로 구성됩니다. 이 3 비트 우선 순위 필드 및 DEI 필드는 VLAN과 관련이 없습니다. 우선 순위 비트는 서비스 품질 제공에 사용됩니다.

프레임이 VLAN에 속하지 않는 경우 프레임이 연관된 것으로 간주되는 기본 VLAN ID가 있습니다.

VLAN 공격 및 예방 조치

VLAN 호핑 공격에서 한 VLAN의 공격자는 일반적으로 액세스 할 수없는 다른 VLAN의 트래픽에 액세스 할 수 있습니다. 하나의 VLAN에서 다른 VLAN으로 통신 할 때 레이어 3 장치 (라우터)를 우회하여 VLAN 생성 목적을 무효화합니다.

VLAN 호핑은 두 가지 방법으로 수행 할 수 있습니다. 스푸핑과 이중 태그를 전환합니다.

스푸핑 전환

공격자가 연결된 스위치 포트가 '트렁킹'모드 또는 '자동 협상'모드 일 때 발생할 수 있습니다. 공격자는 스위치 역할을하며 대상 원격 VLAN에 대한 VLAN 태그가있는 802.1Q 캡슐화 헤더를 나가는 프레임에 추가합니다. 수신 스위치는 이러한 프레임을 다른 802.1Q 스위치에서 가져온 것으로 해석하고 프레임을 대상 VLAN으로 전달합니다.

스위치 스푸핑 공격에 대한 두 가지 예방 조치는 에지 포트를 정적 액세스 모드로 설정하고 모든 포트에서 자동 협상을 비활성화하는 것입니다.

이중 태깅

이 공격에서 스위치의 기본 VLAN 포트에 연결된 공격자는 프레임 헤더에 두 개의 VLAN 태그를 추가합니다. 첫 번째 태그는 네이티브 VLAN이고 두 번째 태그는 대상 VLAN 용입니다. 첫 번째 스위치가 공격자의 프레임을 수신하면 기본 VLAN의 프레임이 트렁크 포트에서 태그없이 전달되므로 첫 번째 태그를 제거합니다.

  • 두 번째 태그는 첫 번째 스위치에 의해 제거되지 않았으므로 수신 스위치는 나머지 태그를 VLAN 대상으로 식별하고 프레임을 해당 VLAN의 대상 호스트로 전달합니다. 이중 태깅 공격은 네이티브 VLAN의 개념을 이용합니다. VLAN 1은 액세스 포트의 기본 VLAN이고 트렁크의 기본 기본 VLAN이므로 쉬운 대상입니다.

  • 첫 번째 예방 조치는 공격자의 포트가 스위치의 기본 VLAN의 포트와 일치해야하므로 기본 VLAN 1에서 모든 액세스 포트를 제거하는 것입니다. 두 번째 예방 조치는 모든 스위치 트렁크의 기본 VLAN을 사용하지 않는 일부 VLAN (예 : VLAN id 999)에 할당하는 것입니다. 마지막으로 모든 스위치는 트렁크 포트에서 기본 VLAN 프레임의 명시 적 태그 지정을 수행하도록 구성됩니다.

무선 LAN 보안

무선 근거리 통신망은 사무실 건물이나 학교 캠퍼스와 같이 제한된 지리적 영역 내의 무선 노드 네트워크입니다. 노드는 무선 통신이 가능합니다.

무선 랜

무선 LAN은 일반적으로 기존 유선 LAN의 확장으로 구현되어 장치 이동성으로 네트워크 액세스를 제공합니다. 가장 널리 구현 된 무선 LAN 기술은 IEEE 802.11 표준 및 그 수정 사항을 기반으로합니다.

무선 LAN의 두 가지 주요 구성 요소는 다음과 같습니다.

  • Access Points (APs)− 무선 네트워크 용 기지국입니다. 무선 클라이언트와 통신하기 위해 무선 주파수를 송수신합니다.

  • Wireless Clients− 무선 네트워크 인터페이스 카드 (WNIC)가 장착 된 컴퓨팅 장치입니다. 노트북, IP 전화, PDA는 무선 클라이언트의 전형적인 예입니다.

많은 조직에서 무선 LAN을 구현했습니다. 이러한 네트워크는 경이적으로 성장하고 있습니다. 따라서 무선 LAN의 위협을 이해하고 네트워크 보안을 보장하기위한 일반적인 예방 조치를 배우는 것이 중요합니다.

무선 LAN 공격

무선 LAN에서 수행되는 일반적인 공격은 다음과 같습니다.

  • Eavesdropping − 공격자는 인증 자격 증명을 포함한 데이터에 대해 무선 네트워크를 수동적으로 모니터링합니다.

  • Masquerading − 공격자는 인증 된 사용자로 가장하여 무선 네트워크에 대한 액세스 및 권한을 얻습니다.

  • Traffic Analysis − 공격자는 무선 네트워크를 통한 전송을 모니터링하여 통신 패턴과 참가자를 식별합니다.

  • Denial of Service − 공격자는 무선 LAN 또는 네트워크 장치의 정상적인 사용 또는 관리를 방지하거나 제한합니다.

  • Message Modification/Replay − 공격자는 무선 네트워크를 통해 전송 된 합법적 인 메시지를 삭제, 추가, 변경 또는 재정렬하여 변경하거나 응답합니다.

무선 랜 보안 대책

보안 조치는 공격을 차단하고 네트워크에 대한 위험을 관리 할 수있는 수단을 제공합니다. 네트워크 관리, 운영 및 기술적 조치입니다. 무선 LAN을 통해 전송되는 데이터의 기밀성, 가용성 및 무결성을 보장하기 위해 채택 된 기술적 조치를 아래에서 설명합니다.

무선 LAN에서 모든 AP는 암호화 및 클라이언트 인증을 통해 보안을 제공하도록 구성되어야합니다. 보안을 제공하기 위해 무선 LAN에서 사용되는 방식의 유형은 다음과 같습니다.

WEP (Wired Equivalent Privacy)

무선 네트워크를 보호하기 위해 802.11 표준에 내장 된 암호화 알고리즘입니다. WEP 암호화는 40 비트 / 104 비트 키와 24 비트 초기화 벡터가있는 RC4 (Rivest Cipher 4) 스트림 암호를 사용합니다. 또한 엔드 포인트 인증을 제공 할 수 있습니다.

그러나 WEP 암호화에서 많은 결함이 발견되어 가장 취약한 암호화 보안 메커니즘입니다. WEP에는 인증 프로토콜도 없습니다. 따라서 WEP를 사용하는 것은 적극 권장되지 않습니다.

802.11i 프로토콜

이 프로토콜에서는 다양하고 강력한 형태의 암호화가 가능합니다. 약한 WEP 체계를 대체하기 위해 개발되었습니다. 키 배포 메커니즘을 제공합니다. 스테이션 당 하나의 키를 지원하며 모두에 대해 동일한 키를 사용하지 않습니다. 액세스 포인트와 별도로 인증 서버를 사용합니다.

IEEE802.11i는 CBC-MAC 프로토콜 (CCMP)과 함께 카운터 모드라는 프로토콜의 사용을 요구합니다. CCMP는 전송 된 데이터의 기밀성과 무결성, 발신자의 신뢰성을 제공합니다. AES (Advanced Encryption Standard) 블록 암호를 기반으로합니다.

IEEE802.11i 프로토콜은 4 단계로 작동합니다.

  • STA와 AP는 통신하고 지원되는 알고리즘과 같은 상호 보안 기능을 발견합니다.

  • STA와 AS는 상호 인증하고 함께 마스터 키 (MK)를 생성합니다. AP는 "통과"역할을합니다.

  • STA는 PMK (Pairwise Master Key)를 파생합니다. AS는 동일한 PMK를 파생하여 AP로 보냅니다.

  • STA, AP는 PMK를 사용하여 메시지 암호화 및 데이터 무결성에 사용할 TK (임시 키)를 파생합니다.

기타 표준

  • Wi-Fi Protected Access(WPA)-이 프로토콜은 대부분의 IEEE 802.11i 표준을 구현합니다. IEEE 802.11i 이전에 존재했으며 암호화를 위해 RC4 알고리즘을 사용합니다. 두 가지 작동 모드가 있습니다. '엔터프라이즈'모드에서 WPA는 인증 프로토콜 802.1x를 사용하여 인증 서버와 통신하므로 PMK (사전 마스터 키)는 클라이언트 스테이션에 고유합니다. '개인'모드에서는 802.1x를 사용하지 않고 PMK는 SOHO (Small Office Home Office) 무선 LAN 환경에서 사용되는 것과 같이 미리 공유 된 키로 대체됩니다.

    WPA에는 WEP 표준에서 사용했던 CRC (Cyclic Redundancy Check)를 대체하는 사운드 메시지 무결성 검사도 포함되어 있습니다.

  • WPA2− WPA2가 WPA를 대체했습니다. WPA2는 IEEE 802.11i 체계의 모든 필수 요소를 구현합니다. 특히 강력한 보안을 갖춘 AES 기반 암호화 모드 인 CCMP에 대한 필수 지원이 포함되어 있습니다. 따라서 공격에 관한 한 WPA2 / IEEE802.11i는 WEP 약점, 중간자 공격, 위조 패킷 위조 및 재생 공격으로부터 방어 할 수있는 적절한 솔루션을 제공합니다. 그러나 DoS 공격은 제대로 처리되지 않았으며 이러한 공격은 주파수 대역을 방해하는 것과 같은 물리 계층을 표적으로하기 때문에 기본적으로 이러한 공격을 막을 수있는 견고한 프로토콜이 없습니다.

요약

이 장에서는 IP를 실행하는 스위치 이더넷 네트워크를 가정 한 공격 및 완화 기술을 고려했습니다. 네트워크에서 이더넷을 계층 2 프로토콜로 사용하지 않는 경우 이러한 공격 중 일부는 적용되지 않을 수 있지만 이러한 네트워크는 다른 유형의 공격에 취약 할 가능성이 있습니다.

보안은 가장 약한 링크만큼만 강합니다. 네트워킹과 관련하여 레이어 2는 매우 약한 링크가 될 수 있습니다. 이 장에서 언급 한 레이어 2 보안 조치는 여러 유형의 공격으로부터 네트워크를 보호하는 데 큰 도움이됩니다.

네트워크 액세스 제어는 네트워크 리소스의 가용성을 조직의 보안 정책을 준수하는 엔드 포인트 장치로 제한하여 사설 조직 네트워크의 보안을 강화하는 방법입니다. 일반적인 네트워크 액세스 제어 체계는 제한된 액세스 및 네트워크 경계 보호와 같은 두 가지 주요 구성 요소로 구성됩니다.

네트워크 장치에 대한 제한된 액세스는 네트워크 시스템에 대해 서로 다른 사용자를 식별하고 인증하는 사용자 인증 및 권한 제어를 통해 이루어집니다. 권한 부여는 보호 된 리소스에 대한 특정 액세스 권한을 부여하거나 거부하는 프로세스입니다.

Network Boundary Protection네트워크에 대한 논리적 연결을 제어합니다. 예를 들어, 네트워크 시스템에 대한 무단 액세스를 방지하기 위해 여러 방화벽을 배포 할 수 있습니다. 또한 침입 탐지 및 방지 기술을 배포하여 인터넷 공격을 방어 할 수 있습니다.

이 장에서는 네트워크 액세스를위한 사용자 식별 및 인증 방법과 다양한 유형의 방화벽 및 침입 탐지 시스템에 대해 설명합니다.

네트워크 장치에 대한 액세스 보안

네트워크의 장치에 대한 액세스를 제한하는 것은 네트워크 보안을위한 매우 중요한 단계입니다. 네트워크 장치는 통신 및 컴퓨팅 장비로 구성되기 때문에 이러한 장치를 손상 시키면 전체 네트워크와 리소스가 중단 될 수 있습니다.

역설적이게도 많은 조직은 서버와 애플리케이션에 대해 우수한 보안을 보장하지만 통신 네트워크 장치는 기본적인 보안을 유지합니다.

네트워크 장치 보안의 중요한 측면은 액세스 제어 및 권한 부여입니다. 이러한 두 가지 요구 사항을 해결하고 네트워크 보안을 더 높은 수준으로 향상시키기 위해 많은 프로토콜이 개발되었습니다.

사용자 인증 및 권한 부여

네트워크 시스템, 특히 네트워크 인프라 장치에 대한 액세스를 제어하려면 사용자 인증이 필요합니다. 인증에는 일반 액세스 인증과 기능 권한의 두 가지 측면이 있습니다.

일반 액세스 인증은 특정 사용자가 연결하려는 시스템에 대한 "모든"유형의 액세스 권한을 가지고 있는지 여부를 제어하는 ​​방법입니다. 일반적으로 이러한 종류의 액세스는 해당 시스템에 "계정"이있는 사용자와 연결됩니다. 승인은 개별 사용자 "권리"를 다룹니다. 예를 들어, 사용자가 인증되면 무엇을 할 수 있는지 결정합니다. 사용자는 장치를 구성하거나 데이터를 볼 수있는 권한 만 부여받을 수 있습니다.

사용자 인증은 그가 알고있는 것 (비밀번호), 그가 가진 것 (암호화 토큰) 또는 그가있는 것 (생체 인식)을 포함하는 요인에 따라 달라집니다. 식별 및 인증에 둘 이상의 요소를 사용하면 다단계 인증의 기반이됩니다.

암호 기반 인증

최소 수준에서 모든 네트워크 장치에는 사용자 이름-암호 인증이 있어야합니다. 암호는 사소하지 않아야합니다 (최소 10 자, 알파벳, 숫자 및 기호 혼합).

사용자가 원격으로 액세스하는 경우 사용자 이름과 암호가 네트워크를 통해 명확하게 전달되지 않도록하는 방법을 사용해야합니다. 또한 적절한 빈도로 암호를 변경해야합니다.

중앙 집중식 인증 방법

개별 장치 기반 인증 시스템은 기본적인 액세스 제어 수단을 제공합니다. 그러나 중앙 집중식 인증 방법은 네트워크에 이러한 장치에 액세스하는 사용자 수가 많은 장치가 많은 경우 더 효과적이고 효율적인 것으로 간주됩니다.

전통적으로 중앙 집중식 인증은 원격 네트워크 액세스에서 직면 한 문제를 해결하는 데 사용되었습니다. 원격 액세스 시스템 (RAS)에서는 네트워크 장치의 사용자 관리가 실용적이지 않습니다. 모든 사용자 정보를 모든 장치에 배치 한 다음 해당 정보를 최신 상태로 유지하는 것은 관리상의 악몽입니다.

RADIUS 및 Kerberos와 같은 중앙 집중식 인증 시스템은이 문제를 해결합니다. 이러한 중앙 집중식 방법을 사용하면 사용자 정보를 한 곳에서 저장하고 관리 할 수 ​​있습니다. 이러한 시스템은 일반적으로 Microsoft의 Active Directory 또는 LDAP 디렉토리와 같은 다른 사용자 계정 관리 체계와 원활하게 통합 될 수 있습니다. 대부분의 RADIUS 서버는 일반 RADIUS 프로토콜로 다른 네트워크 장치와 통신 한 다음 디렉터리에 저장된 계정 정보에 안전하게 액세스 할 수 있습니다.

예를 들어 Microsoft의 IAS (인터넷 인증 서버)는 RADIUS와 Active Directory를 연결하여 장치 사용자에게 중앙 집중식 인증을 제공합니다. 또한 사용자 계정 정보가 Microsoft 도메인 계정과 통합되도록합니다. 위의 다이어그램은 네트워크 요소가 Active Directory 도메인으로 인증하기 위해 Active Directory 서버 및 RADIUS 서버로 작동하는 Windows 도메인 컨트롤러를 보여줍니다.

액세스 제어 목록

액세스 목록으로 많은 네트워크 장치를 구성 할 수 있습니다. 이 목록은 장치 액세스 권한이있는 호스트 이름 또는 IP 주소를 정의합니다. 예를 들어, 네트워크 관리자를 제외하고 IP에서 네트워크 장비에 대한 액세스를 제한하는 것이 일반적입니다.

그러면 권한이없는 모든 유형의 액세스로부터 보호됩니다. 이러한 유형의 액세스 목록은 중요한 마지막 방어 역할을하며 서로 다른 액세스 프로토콜에 대해 서로 다른 규칙이있는 일부 장치에서 매우 강력 할 수 있습니다.

거의 모든 중간 규모 및 대규모 조직은 인터넷에 존재하며 이에 연결된 조직 네트워크를 가지고 있습니다. 외부 인터넷과 내부 네트워크 사이의 경계에서 네트워크 파티셔닝은 네트워크 보안을 위해 필수적입니다. 내부 네트워크 (인트라넷)를 "신뢰할 수있는"쪽이라고하고 외부 인터넷을 "신뢰할 수없는"쪽이라고하는 경우가 있습니다.

방화벽 유형

방화벽은 조직의 내부 네트워크를 대규모 외부 네트워크 / 인터넷과 격리하는 네트워크 장치입니다. 내부 네트워크에 대한 무단 액세스를 방지하는 하드웨어, 소프트웨어 또는 결합 된 시스템 일 수 있습니다.

내부 네트워크에 들어 오거나 나가는 모든 데이터 패킷은 방화벽을 통과하여 각 패킷을 검사하고 지정된 보안 기준을 충족하지 않는 패킷을 차단합니다.

네트워크 경계에 방화벽을 배포하는 것은 단일 지점에서 보안을 통합하는 것과 같습니다. 그것은 입구에서 아파트를 잠그는 것과 유사하며 각 문에서 반드시 필요한 것은 아닙니다.

방화벽은 다음과 같은 이유로 네트워크 보안을 달성하기위한 필수 요소로 간주됩니다.

  • 내부 네트워크 및 호스트는 제대로 보호되지 않을 수 있습니다.

  • 인터넷은 범죄자, 경쟁 회사의 사용자, 불만을 품은 전직 직원, 비우호적 인 국가의 스파이, 파괴자 등이있는 위험한 곳입니다.

  • 공격자가 네트워크 리소스에 대한 서비스 거부 공격을 시작하지 못하도록 방지합니다.

  • 외부 공격자가 내부 데이터에 대한 불법적 인 수정 / 접근을 방지하기 위해.

방화벽은 세 가지 기본 유형으로 분류됩니다.

  • 패킷 필터 (상태 비 저장 및 상태 저장)
  • 애플리케이션 수준 게이트웨이
  • 회로 수준 게이트웨이

그러나이 세 가지 범주는 상호 배타적이지 않습니다. 최신 방화벽에는 세 가지 범주 중 하나 이상에 배치 할 수있는 다양한 기능이 있습니다.

상태 비 저장 및 상태 저장 패킷 필터링 방화벽

이러한 유형의 방화벽 배포에서 내부 네트워크는 라우터 방화벽을 통해 외부 네트워크 / 인터넷에 연결됩니다. 방화벽은 패킷 단위로 데이터를 검사하고 필터링합니다.

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는 네트워크 트래픽의 이상을 모니터링하여 공격을 탐지하고 이에 대한 예방 조치를 취할 수 있습니다.

정보와 효율적인 커뮤니케이션은 모든 비즈니스의 성공을위한 가장 중요한 두 가지 전략 문제입니다. 전자 통신 및 저장 수단의 출현으로 점점 더 많은 기업이 데이터 네트워크를 사용하여 통신, 정보 저장 및 자원 확보로 전환했습니다. 비즈니스 운영에 사용되는 다양한 유형과 수준의 네트워크 인프라가 있습니다.

현대 사회에서 네트워크로 연결된 컴퓨터보다 비즈니스에 더 큰 영향을 미치는 것은 없다고 말할 수 있습니다. 그러나 네트워킹은 보안 위협을 수반하여 완화 할 경우 네트워킹의 이점이 위험을 능가 할 수 있습니다.

비즈니스에서 네트워크의 역할

오늘날 컴퓨터 네트워크는 거의 모든 기업에서 자원으로 간주됩니다. 이 리소스를 통해 수익성에 필수적인 정보를 수집, 분석, 구성 및 전파 할 수 있습니다. 대부분의 기업은 경쟁력을 유지하기 위해 네트워크를 설치했습니다.

컴퓨터 네트워킹의 가장 분명한 역할은 조직이 사실상 모든 종류의 정보를 중앙 위치에 저장하고 네트워크를 통해 원하는 위치에서 검색 할 수 있다는 것입니다.

네트워크의 이점

컴퓨터 네트워킹을 통해 사람들은 정보와 아이디어를 쉽게 공유 할 수 있으므로보다 효율적이고 생산적으로 작업 할 수 있습니다. 네트워크는 구매, 판매 및 고객 서비스와 같은 활동을 개선합니다. 네트워킹은 기존의 비즈니스 프로세스를보다 효율적이고 관리하기 쉬우 며 저렴하게 만듭니다.

비즈니스가 컴퓨터 네트워크에서 얻는 주요 이점은 다음과 같습니다.

  • Resource sharing − 기업은 네트워크에 연결된 구성 요소와 주변 장치를 공유하여 하드웨어에 지출되는 비용을 줄일 수 있습니다.

  • Streamlined business processes − 컴퓨터 네트워크를 통해 기업은 내부 비즈니스 프로세스를 간소화 할 수 있습니다.

  • Collaboration among departments − 두 개 이상의 비즈니스 부서가 네트워크의 선택된 부분을 연결하면 일반적으로 과도한 시간과 노력이 소요되고 생산성 향상에 어려움을 겪는 비즈니스 프로세스를 간소화 할 수 있습니다.

  • Improved Customer Relations − 네트워크는 고객에게 업무 수행의 편의성, 신속한 서비스 대응 등 많은 혜택을 제공합니다.

네트워킹을 통해 발생하는 다른 많은 비즈니스 특정 이점이 있습니다. 이러한 이점으로 인해 모든 유형의 비즈니스에서 컴퓨터 네트워킹을 채택하는 것이 필수적입니다.

네트워크 보안의 필요성

유선 또는 무선 네트워크에 대한 위협은 컴퓨터 네트워크의 용량이 증가하는 현대 기술의 발전으로 인해 크게 증가했습니다. 오늘날 세계에서 다양한 비즈니스 거래를 위해 인터넷을 압도적으로 사용함에 따라 비즈니스 지적 자산에 대한 정보 도용 및 기타 공격 문제가 발생했습니다.

오늘날 대부분의 비즈니스는 네트워크 애플리케이션을 통해 수행되므로 모든 네트워크가 공격을받을 위험이 있습니다. 비즈니스 네트워크에 대한 가장 일반적인 보안 위협은 데이터 가로 채기와 도용, 신원 도용입니다.

네트워크 보안은 이러한 위협을 차단하고 비즈니스 컴퓨터 네트워킹 인프라의 유용성, 신뢰성, 무결성 및 안전성을 보호하는 전문 분야입니다.

비즈니스를위한 네트워크 보안의 중요성

  • Protecting Business Assets− 이것이 네트워크 보안의 주요 목표입니다. 자산은 컴퓨터 네트워크에 저장된 정보를 의미합니다. 정보는 회사의 다른 유형 자산만큼 중요하고 가치가 있습니다. 네트워크 보안은 기밀 정보의 무결성, 보호 및 안전한 액세스와 관련이 있습니다.

  • Compliance with Regulatory Requirements − 네트워크 보안 조치는 기업이 정보 보안에 대한 정부 및 산업별 규정을 준수하는 데 도움이됩니다.

  • Secure Collaborative Working− 네트워크 보안은 동료의 협업을 장려하고 안전한 네트워크 액세스를 제공하여 고객 및 공급 업체와의 커뮤니케이션을 촉진합니다. 민감한 정보가 보호되고 있다는 고객과 소비자의 신뢰를 높입니다.

  • Reduced Risk − 네트워크 보안을 채택하면 중소기업을 파산시킬 수있는 법적 조치를 포함하여 보안 침해의 영향이 줄어 듭니다.

  • Gaining Competitive Advantage− 네트워크를위한 효과적인 보안 시스템을 개발하면 조직에 경쟁 우위를 제공합니다. 인터넷 금융 서비스 및 전자 상거래 분야에서 네트워크 보안이 가장 중요합니다.