이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
Securing Backend Applications with SSLEnglish version of this document is available
이 블로그의 대상 독자는 IT 개발자입니다.
TLS(Transport Layer Security) 프로토콜은 클라이언트와 서버 간의 통신 보안을 위한 업계 표준입니다. TLS는 암호화 및 인증을 제공하여 전송 중인 데이터가 가로채거나 변조되지 않도록 보호합니다.
TLS가 클라이언트와 서버 간의 통신을 보호하는 데 사용되는 경우 이를 SSL(Secure Sockets Layer)이라고 합니다. SSL은 TLS의 가장 일반적인 형식이며 모든 주요 브라우저에서 지원됩니다.
백엔드 애플리케이션은 처리하고 저장하는 민감한 데이터로 인해 공격의 대상이 되는 경우가 많습니다. 백엔드 애플리케이션을 공격으로부터 보호하려면 SSL을 사용하여 애플리케이션과 해당 클라이언트 간의 통신을 보호하는 것이 필수적입니다.
백엔드 애플리케이션에 대해 SSL을 구성하는 기본 방법에는 두 가지가 있습니다.
SSL 연결을 종료하고 보안 연결을 통해 애플리케이션 서버로 트래픽을 전달하는 리버스 프록시 서버를 사용합니다.
SSL 연결을 종료하도록 응용 프로그램 서버를 구성합니다.
두 접근 방식 모두 장단점이 있으며 이에 대해서는 아래에서 자세히 설명합니다.
리버스 프록시 서버는 애플리케이션 서버 앞에 위치하며 들어오는 모든 트래픽을 처리하는 서버입니다. 리버스 프록시 서버는 SSL 연결을 종료하고 보안 연결을 통해 애플리케이션 서버로 트래픽을 전달하도록 구성할 수 있습니다.
이 접근 방식의 장점은 애플리케이션 서버에서 SSL 종료 작업을 오프로드한다는 것입니다. SSL 종료는 CPU를 많이 사용하는 작업이므로 이는 성능에 중요할 수 있습니다.
이 접근 방식의 단점은 시스템에 추가 장애 지점을 추가한다는 것입니다. 리버스 프록시 서버가 다운되면 전체 시스템을 사용할 수 없게 됩니다.
다른 접근 방식은 SSL 연결을 종료하도록 애플리케이션 서버를 구성하는 것입니다. 이 접근 방식의 장점은 별도의 리버스 프록시 서버가 필요하지 않다는 것입니다.
이 접근 방식의 단점은 SSL 종료가 CPU를 많이 사용하는 작업이므로 응용 프로그램 서버의 부하가 증가한다는 것입니다.
백엔드 애플리케이션에 대해 SSL을 구성하는 기본 방법에는 두 가지가 있습니다.
SSL 연결을 종료하고 보안 연결을 통해 애플리케이션 서버로 트래픽을 전달하는 리버스 프록시 서버를 사용합니다.
SSL 연결을 종료하도록 응용 프로그램 서버를 구성합니다.
두 접근 방식 모두 장단점이 있으므로 특정 애플리케이션에 가장 적합한 접근 방식을 선택할 때 고려해야 합니다.