Application Gateway 및 암호화
전송 중 데이터 암호화는 애플리케이션을 보호하는 중요한 단계입니다. 인증 기관에서 인증서를 구매하여 서버로 들어오고 나가는 메시지를 암호화하는 데 사용할 수 있습니다. 이 암호화를 사용하면 전송 중인 메시지를 권한 없는 사용자가 가로채서 그 안에 있는 정보를 볼 수 없게 됩니다.
이 배송 포털에서는 고객 주문을 전달하므로 암호화가 중요합니다. 누군가가 전송된 데이터에 액세스할 수 있는 경우 고객 세부 정보 또는 재무 계정 데이터와 같은 중요한 정보를 볼 수 있습니다.
이 데이터를 보호하기 위해 Azure Application Gateway를 사용할 수 있습니다. 사용자에서 애플리케이션 서버로 연결된 네트워크를 이동하는 데이터를 암호화합니다.
Application Gateway와 그 장점
Azure Application Gateway는 애플리케이션 제공 컨트롤러입니다. 부하 분산 HTTP 트래픽, 웹 애플리케이션 방화벽 및 데이터의 SSL 암호화 지원과 같은 기능을 제공합니다. Application Gateway는 사용자와 애플리케이션 게이트웨이 간 및 애플리케이션 서버와 애플리케이션 게이트웨이 간의 트래픽 암호화를 지원합니다.
애플리케이션 게이트웨이에서 SSL 연결을 종료하면 애플리케이션 게이트웨이는 CPU 집약적인 SSL 종료 워크로드를 서버에서 오프로드합니다. 또한 서버에 인증서를 설치하고 SSL을 구성할 필요가 없습니다.
엔드투엔드 암호화가 필요한 경우 Application Gateway는 프라이빗 키를 사용하여 게이트웨이의 트래픽을 해독할 수 있습니다. 그런 다음 백 엔드 풀에서 실행되는 서비스의 공개 키를 사용하여 트래픽을 다시 암호화합니다.
또한 Application Gateway를 통해 웹 사이트 또는 웹 애플리케이션을 노출한다는 것은 서버를 웹에 직접 연결하지 않는다는 의미입니다. Application Gateway에 포트 80 또는 포트 443만 노출하는 것입니다. 웹 서버는 인터넷에서 직접 액세스할 수 없으므로 인프라의 공격 노출 영역이 줄어듭니다.
Application Gateway 구성 요소
Application Gateway에는 여러 구성 요소가 있습니다. 암호화와 관련된 주요 파트는 프런트 엔드 포트, 수신기 및 백 엔드 풀입니다.
다음 이미지는 SSL을 통해 클라이언트에서 Application Gateway로 들어오는 트래픽이 암호 해독된 다음, 백 엔드 풀의 서버로 전송될 때 다시 암호화되는 방식을 보여줍니다.
프런트 엔드 포트 및 수신기
트래픽은 프런트 엔드 포트를 통해 게이트웨이로 들어갑니다. 여러 포트를 열 수 있으며, Application Gateway는 아무 포트에서나 메시지를 받을 수 있습니다. 트래픽이 포트를 통해 게이트웨이로 들어갈 때 가장 먼저 만나는 것이 수신기입니다. 특정 IP 주소에서 특정 호스트 이름 및 특정 포트를 수신 대기하도록 설정됩니다. 수신기는 SSL 인증서를 사용하여 게이트웨이로 들어오는 트래픽을 암호 해독할 수 있습니다. 그런 다음, 수신기는 개발자가 정의하는 규칙을 사용하여 수신 요청을 백 엔드 풀에 전달합니다.
백 엔드 풀
백 엔드 풀에는 애플리케이션 서버가 포함됩니다. 이러한 서버는 가상 머신일 수도 있고, 가상 머신 확장 집합일 수도 있고, Azure App Service에서 실행되는 애플리케이션일 수도 있습니다. 수신 요청의 부하를 이 풀의 서버에 분산할 수 있습니다. 백 엔드 풀에는 백 엔드 서버를 인증하는 데 사용되는 인증서를 참조하는 HTTP 설정이 있습니다. 게이트웨이는 이 인증서를 사용하여 트래픽을 다시 암호화한 후 백 엔드 풀의 서버 중 하나에 보냅니다.
Azure 앱 Service를 사용하여 백 엔드 애플리케이션을 호스트하는 경우 백 엔드 풀에 연결하기 위해 Application Gateway에 인증서를 설치할 필요가 없습니다. 모든 통신은 자동으로 암호화됩니다. Application Gateway는 Azure가 서버를 관리하기 때문에 서버를 신뢰합니다.