AWS에서 보안 네트워크 구축(첫 번째 부분)

가령 AWS에 가상 머신을 만들어서 당신의 업무를 위해 관건적인 조작을 실행하도록 요구받는다면인터넷에 액세스해야 하지만 소프트웨어를 설치/업그레이드하려는 관리자/서비스 담당자만 액세스할 수 있습니다.어떻게 할 거예요?
이것은 일련의 두 편의 문장이다.첫 번째 문장에서 우리는 AWS에서 EC2 실례(VM)를 만들 때 어떤 일이 발생할지 토론할 것이다.구름 속의 안전 네트워크에서 안전 해결 방안을 구축하는 또 다른 글에 대한 소개문이 될 것이다.
왜 이게 중요합니까?
클라우드 컴퓨팅에서 해결 방안을 구축할 때 반드시 안전성을 명심해야 한다.사실 최고 우선순위가 아니라면 높은 우선순위를 유지하는 것이 중요하다.
그 밖에 AWS(또는 그 어떠한 다른 클라우드에서)의 개인 서브넷에서 자원을 보존하는 중요성을 강조하고 싶다. 왜냐하면 과거에 해결 방안을 점차적으로 실시할 때 나는 이 점을 소홀히 했기 때문이다.그러나 시스템이 확장됨에 따라 이러한 설정을 조정하고 변경하는 것은 더욱 어려워질 것이다.
앞에서 말한 바와 같이, 본 예에서, 우리는 이 서버가 인터넷에 대한 오프라인 접근을 가지고 있으나, SSH를 통해 관리자를 제외한 오프라인 데이터를 거부하는 서버를 구축하기를 희망한다.

EC2 인스턴스 생성하기


CloudFormation을 사용하여 새로운 EC2 인스턴스를 쉽게 생성할 수 있습니다.템플릿은 다음과 같습니다.
AWSTemplateFormatVersion: "2010-09-09"
Description: Secure EC2 instance that can access the internet

Resources:
  AwesomeEC2Instance:
    Type: "AWS::EC2::Instance"
    Properties:
      ImageId: "ami-0947d2ba12ee1ff75"
      InstanceType: "t2.micro"
      Tags:
        - Key: "Name"
          Value: "AwesomeEC2Instance"
        - Key: "Owner"
          Value: "Ali"
이제 CloudFormation에서 이 스택을 만듭니다.명령줄을 사용하지만 AWS 콘솔에서 수동으로 수행할 수 있습니다.
aws cloudformation create-stack --stack-name private-network --template-body file://infra/template.yml
AWS 콘솔을 열고 CloudFormation으로 이동합니다.검사 이벤트:
다음은 이러한 방식으로 EC2 인스턴스를 작성할 때 수행되는 일련의 작업입니다(이 목록 이후에는 각 어셈블리의 기능에 대해 자세히 설명함으로써 사용자 용어에 더 익숙해질 수 있습니다).
  • 가상 머신 자체가 만들어진 것이 분명하다.EC2로 이동하여 EC2 인스턴스 생성을 확인합니다.
  • 인스턴스를 선택하고 네트워크 탭으로 이동합니다.이 인스턴스가 VPC와 서브넷에서 어떻게 만들어졌는지 명시적으로 지정하지 않았습니다.
  • 보안 탭으로 이동합니다.기본 보안 그룹이 생성된 실례에 추가되었습니다.
  • 이 보안 그룹의 출구 규칙은 0.0.0.0/0을 목표로 표시합니다. 이것은 이 실례에서 나온 데이터가 공공 인터넷에 들어갈 수 있음을 의미합니다.
  • 이 안전팀의 입구 규칙은 src에서 온 모든 규칙이 같은 안전과 같다는 것을 보여 줍니다. 이것은 이 안전팀은 같은 안전팀 내의 다른 자원에서만 접근할 수 있음을 의미합니다.

  • SSH - 인스턴스


    이 구성 요소들을 설명하기 전에, 현재 접근 단계를 이해하기 위해 실례에 연결해 봅시다.
  • 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 연결을 클릭합니다.EC2 인스턴스 연결 탭에서 연결 버튼을 클릭합니다.
  • 이것은 secure Shell(SSH)을 사용하여 만든 EC2 실례에 간단하고 안전하게 연결할 수 있으며 키를 공유할 필요가 없음
  • 새로 열린 탭에 다음 오류가 표시됩니다.
    같은 보안 그룹 내의 자원으로만 입국 접근을 허용하기 때문이다.이 문제를 극복하기 위해서, 우리는 보안 그룹의 입국 규칙을 편집할 수 있으며, 사용자의 IP 주소에서만 ssh 접근을 허용합니다:
  • 연결을 다시 시도합니다.현재, 새 옵션에서 셸을 열고 ssh를 통해 이 실례에 연결합니다.ping 1.1.1.1를 입력하면 결과를 얻을 수 있을 것입니다.
  • 이것은 우리가 실례 내부에서 인터넷에 연결할 수 있고 SSH를 통해 안전하게 실례에 연결할 수 있음을 나타낸다.이 모든 것은 안전 등급 그룹에서 처리된 것이기 때문에 이상적인 상황에서 마지막 방어가 되어야 한다.어떻게 이 점을 더욱 잘 할 수 있습니까?이것은 아래의 블로그의 주제가 될 것이다. 그러나 그 전에 나는 너의 생각을 매우 알고 싶다.

    접속/사용된 모든 구성 요소는 무엇입니까?


    이 섹션에서는 EC2 인스턴스를 생성할 때 제공되는 이러한 어셈블리에 대해 자세히 설명합니다.
    우선, 특히 AWS의 EC2 서비스는 일종의 사유 서비스다.이것은 기본적으로 인터넷에 연결되지 않았다는 것을 의미한다. (이것은 접근할 수 있는지의 여부와는 상관없지만 순전히 네트워크 설정과 관련이 있다.)이전 섹션에서 보듯이 EC2 인스턴스와 올바르게 연결하기 위한 추가 구성이 준비되어 있습니다.
    한 마디로 하면 다음 그림과 같이 전체 어셈블리가 사용됩니다.

    다음은 약간의 추가 세부 사항이다.

    VPC – 인스턴스에 VPC(가상 전용 네트워크)가 연결되어 있음


    VPC는 전용 격리 네트워크를 만들 수 있는 AWS 서비스입니다.이 네트워크에서 인프라 시설의 네트워크 주소와 기타 세부 사항을 정의할 수 있습니다.
  • AWS 계정을 만들 때 자동으로 생성되는 기본 VPC입니다.
  • 독점 네트워크는 지역별 서비스이기 때문에 지역마다 다른 기본 독점 네트워크를 찾을 수 있습니다.EC2 인스턴스에 연결된 VPC는 해당 인스턴스가 있는 동일한 지역에서 생성된 VPC입니다.
  • 서브넷


    서브넷은 단일 가용성 영역에서 VPC의 서브넷일 뿐입니다.
    기본 VPC에는 여러 개의 서브넷이 있습니다(VPC를 만드는 영역의 사용 가능한 영역마다 서브넷이 있습니다).EC2 인스턴스도 한 영역에서 생성되므로 영역의 서브넷을 연관시킵니다.

    라우팅 테이블


    각 VPC에는 서브넷 간에 트래픽을 라우팅하고 라우팅 테이블에 의해 제어되는 라우터가 있습니다.트래픽이 서브넷을 벗어나면 VPC 라우터는 라우팅의 대상 필드를 확인하고 대상 필드를 사용하여 트래픽을 보낼 위치를 결정합니다.
    다음 표는 172.31.0.0/16 네트워크에서 대상 IP의 모든 트래픽이 로컬(VPC 네트워크)을 대상으로 한다는 것을 보여줍니다.목적지0.0.0.0/0의 데이터는 인터넷 게이트웨이를 목표로 한다:

    인터넷 게이트웨이


    그것은 전용 네트워크와 인터넷 사이의 통신을 허용하는 스위치다.

    염화나트륨


    이것은 네트워크 액세스 제어 목록으로 서브넷 주위의 데이터에 대해 안전하거나 필터를 제공합니다.기본적으로 모든 인바운드 및 아웃바운드 트래픽을 허용합니다.독점 네트워크의 각 서브넷은 이 서브넷과 연관됩니다.일부 트래픽을 허용하거나 거부하도록 명시적으로 구성할 수 있습니다.

    보안 그룹


    보안 그룹도 트래픽을 필터링하지만 NACL과 달리 보안을 처리합니다.기본적으로 보안 그룹은 모든 전송 데이터에 대해 은밀한 거부 규칙을 가지고 모든 출구 데이터를 허용합니다.보안 그룹의 트래픽(예: 특정 IP로부터의 트래픽 차단)을 명시적으로 거부할 수는 없습니다(NACL 사용 시).
    나는 이것이 도움이 되기를 바란다.다음에 EC2 인스턴스를 만들어야 할 때 네트워크를 구성하는 방법을 제안하십니까?
    여기서 두 번째 부분을 보세요.

    좋은 웹페이지 즐겨찾기