애플리케이션 레벨 게이트웨이

Application-level gateway

애플리케이션 수준 게이트웨이(ALG, 애플리케이션 계층 게이트웨이, 애플리케이션 게이트웨이, 애플리케이션 프록시 또는 애플리케이션 수준 프록시라고도 함)는 컴퓨터 네트워크에 고용된 방화벽 또는 NAT을 확장하는 보안 구성 요소다.[1][2] 사용자 지정된 NAT 통과 필터를 게이트웨이에 연결하여 FTP, BitTorrent, SIP, RTSP, IM 애플리케이션의 파일 전송과 같은 특정 애플리케이션 계층 "제어/데이터" 프로토콜의 주소포트 변환을 지원할 수 있다. 이러한 프로토콜이 NAT 또는 방화벽을 통해 작동하려면 애플리케이션이 수신 패킷을 허용하는 주소/포트 번호 조합을 알아야 하거나 NAT이 제어 트래픽을 모니터링하고 필요에 따라 동적으로 포트 매핑(방화벽 핀홀)을 열어야 한다. 따라서 합법적인 애플리케이션 데이터는 제한된 필터 기준을 충족하지 못해 트래픽을 제한했을 방화벽 또는 NAT의 보안 검사를 통해 전달될 수 있다.

기능들

ALG는 다음과 같은 기능을 제공할 수 있다.

  • 방화벽 구성이 제한된 수의 알려진 포트만 허용할 수 있지만 클라이언트 애플리케이션이 서버 애플리케이션에서 사용하는 알려진 포트와 통신하기 위해 동적 사용 후 삭제 TCP/UDP 포트를 사용하도록 허용한다. ALG가 없는 경우, 포트가 차단되거나 네트워크 관리자가 방화벽의 많은 포트를 명시적으로 열어야 하므로 네트워크가 해당 포트에 대한 공격에 취약할 수 있다.
  • 방화벽/NAT 양쪽에 있는 호스트가 허용하는 주소 간에 애플리케이션 페이로드 내에서 발견된 네트워크 계층 주소 정보를 변환하는 작업. 이 측면은 ALG의 '게이트웨이'라는 용어를 도입한다.
  • 애플리케이션별 명령 인식 및 세부적인 보안 제어 제공
  • 데이터를 교환하는 두 호스트 간의 다중 스트림/데이터 교환 간 동기화 예를 들어 FTP 응용프로그램은 제어 명령 전달 및 클라이언트와 원격 서버 간의 데이터 교환을 위해 별도의 연결을 사용할 수 있다. 대용량 파일 전송 중에 제어 연결은 유휴 상태로 유지될 수 있다. ALG는 긴 파일 전송이 완료되기 전에 네트워크 장치에 의해 제어 연결이 시간 초과되는 것을 방지할 수 있다.[3]

주어진 네트워크를 통해 ALG가 취급하는 모든 패킷에 대한 심층 패킷 감사는 이 기능을 가능하게 한다. ALG는 자신이 지원하는 특정 애플리케이션에서 사용하는 프로토콜을 이해한다.

예를 들어 SIP(Session Initiation Protocol) Back-to-Back User 에이전트(B2B)의 경우UA), ALG는 SIP로 방화벽 통과를 허용할 수 있다. 방화벽이 SIP 트래픽을 ALG에서 종료한 경우 SIP 세션 허용 책임은 방화벽 대신 ALG로 전달된다. ALG는 또 다른 주요 SIP 골칫거리인 NAT을 통과시킬 수 있다. 기본적으로 ALG가 내장된 NAT은 SIP 메시지 내에 정보를 다시 작성할 수 있으며 세션이 종료될 때까지 주소 바인딩을 유지할 수 있다. SIP ALG는 또한 번역되어야 하는 리터럴 IP 주소와 포트를 포함하고 있기 때문에 SIP 메시지 본문(VoIP에서 보편적으로 미디어 엔드포인트를 설정하는 데 사용됨)에서도 SDP를 처리할 것이다.

일부 장비의 SIP ALG는 같은 문제를 해결하려는 다른 기술에 간섭하는 것이 일반적이며, 다양한 제공자가 끌 것을 권고하고 있다.[4][5][6]

ALG는 클라이언트와 실제 서버 사이에 위치하여 교환을 용이하게 하기 때문에 프록시 서버와 매우 유사하다. ALG는 응용프로그램을 사용하지 않고 메시지를 가로채서 제 역할을 다한다는 업계 관례가 있는 것 같다. 반면에 프록시는 일반적으로 클라이언트 애플리케이션에서 구성되어야 한다. 그러면 클라이언트는 프록시를 명시적으로 인식하고 실제 서버가 아닌 프록시에 연결된다.

마이크로소프트 윈도

Microsoft WindowsApplication Layer Gateway 서비스는 네트워크 프로토콜이 Windows 방화벽을 통과하여 그 뒤에서 작동하도록 하는 타사 플러그인에 대한 지원을 제공한다.[citation needed] ALG 플러그인은 포트를 열고 포트나 IP 주소 등 패킷에 내장된 데이터를 변경할 수 있다. 또한 윈도우즈 서버 2003에는 ALG FTP 플러그인이 포함되어 있다. ALG FTP 플러그인은 윈도우즈에서 NAT 엔진을 통해 활성 FTP 세션을 지원하도록 설계되었으며, 이를 위해 ALG FTP 플러그인은 NAT을 통과하고 FTP 제어 포트(FTP 제어 포트)로 예정된 모든 트래픽을 마이크로소프트 루프백 어댑터의 3000–5000 범위의 개인 수신 포트로 리디렉션한다. 그러면 ALG FTP 플러그인은 FTP 데이터 채널에 대한 NAT을 통해 FTP 플러그인이 포트 매핑을 플럼브할 수 있도록 FTP 제어 채널은 FTP 플러그인은 FTP 데이터 채널의 트래픽을 모니터링/업데이트한다.

리눅스

리눅스 에서 NAT을 구현하는 리눅스 커널의 Netfilter 프레임워크에는 다음과 같은 몇 가지 NAT AG를 위한 기능과 모듈이 있다.

참고 항목

참조

  1. ^ RFC 2663, 섹션 2.9 - ALG: 공식 정의
  2. ^ "What is Application Gateway?". 26 June 2001.
  3. ^ FTP(파일 전송 프로토콜) 및 방화벽/NAT(네트워크 주소 변환) 라우터/로드 밸런싱 라우터.
  4. ^ "Why is SIP ALG an Issue?".
  5. ^ https://docs.skyswitch.com/en/articles/578-what-is-sip-alg-and-should-it-be-on-or-off
  6. ^ "SIP ALG and why it should be disabled on most routers VoiceHost - UK VoIP Provider".

외부 링크