AWS 퍼블릭 서브넷에서 서버를 실행하는 것은 테스트에는 적합하지만 실제 사용 환경에서는 보안 위험이 존재 한다.
전 세게의 해커는 취약점을 찾기 위해 IP 주소를 무작위로 그래고 지속적으로 스캔하고 있다.
서버가 공개적으로 노출되는 경우 보안이 설정되지 않은 포트로 누군가가 침입 하거나 보안 취약점이 드러난 유효하지 않은 코드를 실행하여 침입 할 수 있다.
따라서 실제 시스템의 경우 퍼블릭 인터넷이 아닌 VPC 내에서만 엑세스 할 수 있는 프라이빗 서브넷을 통해 모든 서버와 데이터 저장소를 배포해야 한다.
퍼블릭 서브넷에서 실행해야 하는 유일한 서버는 프록시 역할을 하는 서버 및 로드 밸런서 뿐이다.
프록시 서버란?
프록시 서버(proxy server)는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다.
프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둔다. 이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 된다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 효과도 얻을 수 있게 된다.
'보안 (Security) > AWS 보안' 카테고리의 다른 글
AES (Advanced Encryption Standard), RSA (Rivest-Shamir-Adleman)를 활용한 암호화 (0) | 2024.08.21 |
---|---|
AWS 기본 네트워크 보안 (0) | 2022.04.14 |