반응형
AWS - Amazon EC2의 Security Group(보안 그룹)
AWS에서는 네트워크 보안을 위한 기본적인 요소로 Security Group(보안 그룹)을 제공합니다. Security Group은 EC2 인스턴스로의 트래픽을 허용하거나 차단하는 규칙을 설정하여 네트워크 보안을 관리합니다. 이를 통해 인스턴스의 포트 접근, IP 인증, 인바운드 및 아웃바운드 네트워크 제어 등을 구성할 수 있습니다.
Security Group의 역할
- Security Group은 EC2 인스턴스의 방화벽 역할을 수행합니다. EC2 인스턴스로 들어오려는 트래픽의 허용 여부를 결정하며, 허용되는 규칙(Rule) 만을 포함합니다.
- Security Group 규칙은 IP 또는 다른 Security Group을 참조할 수 있습니다. 이를 통해 특정 IP 범위나 다른 Security Group의 허용된 트래픽을 지정할 수 있습니다.
Security Group의 기능
- 포트 접근 제어: 허용되는 포트에 대한 접근을 관리합니다.
- IP 인증: 허용되는 IPv4 및 IPv6 주소 범위를 설정하여 특정 IP에서의 접근을 제한합니다.
- 인바운드 네트워크 제어: 다른 소스로부터 인스턴스로 들어오는 트래픽을 제어합니다.
- 아웃바운드 네트워크 제어: 인스턴스에서 다른 목적지로 향하는 트래픽을 제어합니다.
Security Group의 특징
- 다수의 인스턴스에 연결 가능: 하나의 Security Group은 여러 인스턴스에 연결할 수 있습니다.
- 지역 및 VPC 제한: 특정 지역 및 VPC 조합에 제한될 수 있습니다.
- EC2 인스턴스 외부에 위치: Security Group은 EC2 인스턴스 외부에서 관리되며, Security Group에 의해 트래픽이 차단되면 EC2 인스턴스에 영향을 주지 않습니다.
- 인바운드 트래픽은 기본적으로 차단됩니다.
- 아웃바운드 트래픽은 기본적으로 허용됩니다.
Security Group에 대한 고려사항
- SSH 접근을 위한 별도의 Security Group 유지: SSH 접근을 위한 별도의 Security Group을 유지하는 것이 좋습니다.
- 애플리케이션에 접근하지 못하는 경우(타임아웃)에는 Security Group 설정을 확인해야 하며, "connection refused" 오류가 발생하는 경우 애플리케이션 에러 또는 인스턴스의 시작 여부를 확인해야 합니다.
Security Group 설정에 필요한 포트번호
- 22: SSH(Secure Shell) - Linux 인스턴스에 로그인하기 위한 포트
- 21: FTP(File Transfer Protocol) - 파일 공유를 위한 파일 전송 프로토콜
- 22: SFTP(Secure File Transfer Protocol) - SSH를 사용하여 파일 업로드하는 포트
- 80: HTTP - 보안되지 않은 웹사이트 접근을 위한 포트
- 443: HTTPS - 보안된 웹사이트 접근을 위한 포트
- 3389: RDP(Remote Desktop Protocol) - Windows 인스턴스에 로그인하기 위한 포트
SSH(Secure Sheell)
SSH(Secure Shell)는 원격 호스트에 안전하게 접속하기 위해 사용되는 보안 프로토콜입니다. 기존의 원격 접속 방식이였던 텔넷(Telnet)은 암호화를 제공하지 않아, 암호화를 제공하는 SSH를 통해 이전보다 안전한 통신을 제공할 수 있게 되었습니다. 특히, 클라우드 서비스의 원격 접속 보안을 위해, AWS와 같은 CSP에서 서버 생성시 SSH를 필수적으로 적용시켰습니다.
SSH를 사용하면 데이터가 암호화되어 전송되므로, 중간에서 데이터를 가로채거나 엿들을 수 있는 공격자에 의해 데이터가 탈취되는 것을 방지할 수 있습니다. SSH는 원격 서버 관리, 파일 전송, 원격 프로그램 실행 등 다양한 용도로 사용되며, AWS와 같은 CSP(Cloud Service Provider)에서도 원격 보안 접속을 위해 SSH를 사용합니다.
SSH의 작동 원리는 대칭키와 비대칭키(또는 공개 키) 방식을 사용합니다.
- 비대칭키 방식:
- 사용자와 서버 간에 키 페어(공개 키와 개인 키) 생성
- 사용자는 공개 키를 서버에 전송
- 서버는 공개 키로 암호화된 랜덤한 값을 생성하여 사용자에게 전송
- 서버는 전송받은 값과 처음에 생성한 것이 일치하는지 확인하여 사용자를 인증
- 대칭키 방식:
- 사용자와 서버는 대칭 키를 공유
- 암호화된 정보를 주고받을 때, 대칭 키를 사용하여 데이터를 암호화하고 해독
- 정보 교환 후 대칭 키는 폐기, 다음 접속 때 마다 새로운 대칭 키 생성
참조: Udemy - Ultimate AWS Certified Solutions Architect Associate SAA-C03
https://library.gabia.com/contents/infrahosting/9002/
반응형
'IT인프라 > AWS' 카테고리의 다른 글
[AWS] Amazon EC2(Elastic Compute Cloud) 알아보기(3) - EC2 인스턴스 구매 옵션 (0) | 2023.06.20 |
---|---|
[AWS] Amazon EC2(Elastic Compute Cloud) 알아보기 (0) | 2023.06.14 |
[AWS] IAM(Identity and Access Management)이란? (1) | 2023.06.08 |