DevOps/aws

[AWS] Security Groups

Sophie소피 2023. 5. 31. 14:13

Introduction to Security Groups

  • Security Group are fundamental of network security in AWS
  • They control how traffic is allowed into or out of our EC2 Instances
  • security groups only contain allow rules

  • security group rules can reference by or by security group

 

Deeper Dive

  • Security group are action as a "firewall" on EC2 instances
  • They regulate:
    • Access to ports
    • Authorised IP ranges - IPv4 and IPv6
    • Control of inbound network (from other to the instance)
    • Control of outbound network(from the instance to other)

 

 

Security Group Diagram

보안 그룹은 EC2 인스턴스에 연결된 방화벽 역할을 합니다.

보안 그룹은 인바운드 규칙과 아웃바운드 규칙으로 구성되어 있습니다.

인바운드 규칙은 외부에서 EC2 인스턴스로 들어오는 트래픽을 제어합니다.

예를 들어, SSH 연결을 허용하기 위해 포트 22에서의 인바운드 규칙을 설정할 수 있습니다.

따라서, 우리 컴퓨터의 IP 주소를 특정하여 해당 IP 주소에서만 SSH 연결이 허용됩니다.

아웃바운드 규칙은 EC2 인스턴스에서 외부로 나가는 트래픽을 제어합니다.

기본적으로 모든 트래픽이 아웃바운드로 허용되지만,

특정한 보안 그룹을 지정하여 나가는 트래픽을 제한할 수도 있습니다.

예를 들어, EC2 인스턴스가 특정 웹사이트에 접근하려는 경우,

해당 웹사이트의 IP 주소나 도메인을 아웃바운드 규칙으로 추가해야만 접근이 허용됩니다.

따라서, 우리 컴퓨터에서 EC2 인스턴스로의 연결을 위해서는

보안 그룹의 인바운드 규칙에 우리 컴퓨터의 IP 주소를 포함시켜야 합니다.

이렇게 하면 우리 컴퓨터에서 EC2 인스턴스로의 SSH 연결이 허용됩니다.

아웃바운드 규칙은 일반적으로 기본적으로 모든 트래픽이 허용되므로 별도의 설정이 필요하지 않습니다.

이러한 방식으로 보안 그룹은 EC2 인스턴스의 연결과 트래픽을 제어하여 보안을 유지합니다.

 

 

 

 

Security Groups Good to know

  • Can be attached to multiple instances 여러 인스턴스에 부착이 가능하다.
  • locked down to region /VPC combination 지역과 VPC 조합으로 묶여있다. 다른 지역으로 이동하게되면 새 보안 그룹을 만들거나 또 다른 VPC를 만들어야한다.
  • Does live "outside" the EC2 -if traffic blocked the EC2 instance won't see it 트레픽이 막히면 EC2 인스턴스는 보이지도 않을 것이다. EC2에서 실행되는 응용 프로그램이 아니라 EC2 인스턴스 밖의 방화벽이에요
  • It's good to maintain one separate security group for SHH access 엑세스를 위한 분리된 보안그룹 하나를 유지하는 것이 좋다.
  • If your application is not accessible(time-out), then it's a security group issue 응용프로그램이 접근 가능하지않는다면, 타임아웃이다. 이건 보안 그룹의 문제인데 어떤 port로든 연결하려고 하면 컴퓨터는 계속 기다리고 또 기다린다.
  • If your application gives a "connection refused" error, then it's an application error or it's not launched 만약 연결을 받으면 오류가 거부되고 응답이오면 연결은 거부된다. 그럼 보안 그룹은 실제로 작동한다. 트레픽이 지나가면 응용프로그램이 오류나 실행되지않았다는 식인 것이다.
  • All inbounded traffic is blocked by default 기본 설정 상 모든 내향 트레픽은 차단되고
  • All outbound traffic is authorised by default 승인된다

 

 

 

 

Referencing other security groups Diagram

일반적으로 웹 서버를 운영할 때, 여러 대의 EC2 인스턴스를 사용합니다.

이때 각 인스턴스는 보안 그룹으로 설정된 방화벽을 가지고 있습니다.

보안 그룹은 특정 포트에서의 인바운드 트래픽을 제어하는 규칙을 정의하는데,

웹 서버와 관련된 보안 그룹은 웹 애플리케이션에 들어오는 트래픽을 허용하는 규칙을 가지고 있을 것입니다.

여기서 "Referencing other security groups"를 사용하면,

웹 서버와 관련된 보안 그룹에서 정의된 규칙을 다른 보안 그룹에서 참조할 수 있습니다.

즉, 웹 서버와 관련된 모든 인스턴스는 동일한 인바운드 규칙을 갖게 됩니다.

이는 일관성을 유지하고 유지보수를 용이하게 합니다.

새로운 인스턴스를 추가하거나 기존 인스턴스를 변경할 때,

중복된 설정을 수정할 필요 없이 웹 서버와 관련된 보안 그룹만 업데이트하면 됩니다.

이렇게 보안 그룹의 "Referencing other security groups" 기능을 사용하면,

분산 시스템에서의 보안 정책을 효율적으로 관리할 수 있습니다.

보안 그룹 간의 의존성을 줄이고, 일관된 보안 규칙을 유지할 수 있습니다.

 

 

Classic Port to know

22 = SSH (Secure Shell) - log into a Linux instance

21 = FTP (File Transfer Protocol) - upload files into a file share

22 = SFTP (Secure File Transfer Protocol) - upload files using SSH

80 = HTTP - access unsecured websites

443 = HTTPS - access secured websites

3389 = RDP (Remote Desktop Protocol) - log into a Windows instance