개요
생성된 Windows 인스턴스로 접속하는 방법에 대해 알아봅니다. 더 나아가 키 파일(*.pem)없이 언제 어디서나 접속할 수 있도록 설정하는 방법도 소개합니다.

Windows에서 원격 접속
Windows는 Windows로의 원격 제어에 필요한 원격 데스크톱 클라이언트를 기본적으로 내장하고 있습니다. Remote Desktop Protocol의 표준 포트는 3389 입니다. 시작에서 원격 데스크톱 연결(이하 RDP)이라고 검색한 후 클라이언트를 실행합니다. 또는 실행[Windows R]에서 mstsc(Microsoft Terminal Services Client)라고 입력해도 됩니다.


Mac에서 원격 접속
Mac App Store에서 Microsoft Remote Desktop 앱을 설치할 수 있습니다.

Android에서 원격 접속
Google Play에서 Microsoft Remote Desktop 앱을 설치할 수 있습니다.

iOS에서 원격 접속
Apple App Store에서 Microsoft Remote Desktop 앱을 설치할 수 있습니다.

클라이언트에 대한 자세한 정보
각 운영체제 별 원격 데스크톱 클라이언트 앱에 대한 자세한 정보는 Microsoft 기술문서를 참조하십시오.

접속 비밀번호 가져오기
접속할 준비가 완료된 EC2 인스턴스를 선택하고 연결 버튼을 누르면 인스턴스에 연결할 수 있는 절차가 소개됩니다. 암호 가져오기를 클릭합니다.



키 페어 생성 화면에서 생성한 *.PEM 파일을 찾아서 암호를 해독합니다.



해당 인스턴스에 대한 접속 도메인과 계정 사용자 계정명, 암호가 나타납니다. 각각 복사하여 RDP에 입력해줍니다.

퍼블릭 DNS 주소 대신 IP 주소를 입력해도 됩니다.





키 페어(*.PEM) 파일 없이 접속하기

매번 암호 키를 해독하기 위해 PEM 파일을 갖고 다니는 것은 불편합니다. 그래서 인스턴스 내 Windows에서 Administrator에 대한 암호를 변경하겠습니다. 필수 절차는 아니므로 서버 접속 절차를 상황에 맞게 잘 판단해 구성해주세요.

이 세상에 100% 완벽한 보안은 없습니다. 기존 키 페어 방식을 계속 사용하더라도 항상 파일 관리를 조심히 해야 합니다. 또한 복잡한 비밀번호를 지정하기 어렵거나 기억하기 힘들다면 자신만의 온라인 스토리지나 비밀 공간에 해당 비밀번호를 메모해 두거나, 또는 Administrator의 암호를 변경하지 말고 기존의 키 페어 방식을 계속 사용할 것을 권장합니다.
실행에서 lusrmgr.msc(local user manager)를 입력합니다. Users에서 Administrator 계정을 오른쪽 마우스 클릭하여 Set Password...를 클릭합니다. 새 암호를 지정합니다.

AWS에서 기본적으로 키 페어 파일을 통해 암호를 복호화하는 과정을 거치는 옵션을 제공하는 이유는 서버 접속에 대한 강력한 암호를 적용하여 서버 해킹에 대한 난이도를 최대한 높이기 위해서 입니다. 다시 말해 서버 관리자의 평소 보안 습관 또한 아주 중요합니다. 기존에 사용하고 있는 암호를 그대로 서버 암호로 사용하지 마십시오.
Administrator 계정은 Windows에서 기본적으로 제공하며, 운영체제 전반에 걸쳐 최고 권한을 가진 관리자 계정입니다.
보안은 항상 편의성에 반비례합니다. 서버 해킹 피해에 대한 책임은 오직 본인에게 있습니다.


만약 새 암호를 잊어버리면 PEM 파일이 있든 없든 영영 해당 서버로 접속할 수 없습니다.

'3. Cloud > -- AWS' 카테고리의 다른 글

[AWS] VPC Flow logs 란? (생성 방법)  (0) 2022.10.18

VPC Flow log란?

VPC Flow log는 VPC위에 생성된 네트워크 인터페이스에서 송수신되는 IP 트래픽 로그를 수집할 수 있는 기능입니다. AWS에서 네트워크 인터페이스를 ENI(Elastic Network Interface)라고 하는데, 대표적으로 EC2와 RDS, ELB에 ENI가 할당이되며 VPC endpoint, RDS, Elasticache 등에도 ENI가 할당이 됩니다.

ENI(Elastic Network Interface) 확인 하기

ENI는 EC2를 선택하고 왼쪽 카테고리 Netwrok Interfaces 에서 현재 생성되어있는 모든 ENI를 확인이 가능합니다. ENI는 사용자가 직접 생성하지 않아도 자동으로 생성되는 리소스들이 있기 때문에 사용자가 모르게 생성되어있는 것들이 있을 수 있습니다. (대표적인게 ELB, VPC Endpoint 같은 것들이 있죠)

VPC Flow Log를 통해 확인할 수 있는 29가지 정보

VPC Flow log를 통해 확인이 가능한 정보는 29가지가 있습니다. 각각의 파라미터에 대한 상세 설명은 AWS 문서에 아주 잘 설명이 되어있으므로 생략하겠습니다. (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)

  • version
  • account-id
  • interface-id
  • srcaddr
  • dstaddr
  • srcport
  • dstport
  • protocol
  • packets
  • bytes
  • start
  • end
  • action
  • log-status
  • vpc-id
  • subnet-id
  • instance-id
  • tcp-flags
  • type
  • pkt-srcaddr
  • pkt-dstaddr
  • region
  • az-id
  • sublocation-type
  • sublocation-id
  • pkt-src-aws-service
  • pkt-dst-aws-service
  • flow-direction
  • traffic-path

그 중 가장 중요하다고 생각되는 한가지 파라미터인 tcp-flags를 언급하자면 TCP가 핸드쉐이킹 하는 단계를 확인할 수 있는데, 각 단계에 대한 flag 값을 다음과 같습니다.

SYN: 2
ACK 16
SYN-ACK: 18
FIN: 1
SYN-ACK + FIN : 19
RST: 4

VPC Flow 생성 방법

AWS관리 콘솔에서 VPC를 검색하면 왼쪽 카테고리에 “your VPCs” 가 있습니다.

생성하고자 하는 VPC를 선택하면 하단에 Flow logs 탭이 있고 Create flow log를 선택하여 생성할 수 있습니다.

하지만 역시 AWS가 호락호락 하지 않죠. AWS리소스를 생성할때 항상 막히는 부분이 IAM Role인데요. vpc flow log가 필요한 권한이 들어간 IAM Role을 생성해 주어야합니다. (예전에는 자동으로 만들어줬는데 바뀌었네요)

AWS관리 콘솔에서 IAM을 선택하여 Role을 적절한 이름으로 아래 권한을 추가하여 생성합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams"
            ],
            "Resource": "*"
        }
    ]
}

생성한 IAM Role로 VPC Flow log를 생성하면 됩니다만 여기서 선택해야할 것이 또 2가지가 있습니다.

첫째, VPC flow log를 저장하는 위치

VPC flow log는 S3 또는 Cloudwatch logs에 저장할 수 있습니다. 비용적인 측면으로 보면 s3가 더 저렴하지만 로그 파일 형태로 일일히 다운로드 받아야하며 원하는 데이터를 필터링하기가 어렵습니다.
Cloudwatch logs를 사용하게되면 AWS관리 콘솔에서 대시보드 형태로 제공이되며 필터를 걸어서 검색하기도 수월하고, 데이터 보관주기도 쉽게 설정할 수 있습니다.

둘째, VPC flow log 포맷

위에서 설명드린바와 같이 VPC flow log로 확인할 수 있는 정보는 총 29개 정보 입니다. 하지만 default 설정으로 아래와 같이 14가지가 설정이 되어있습니다.

default 포맷으로 위 14가지를 확인할 것인지, 필요한 것만 커스텀 할 것인지를 선택할 수 있습니다. AWS에서 제시해준 커스텀 포맷은 15가지 조합 이며 아래와 같습니다. (개인적으로 default 포맷에 ${flow-direction} 가 없는게 이상하네요)

${account-id} ${instance-id} ${interface-id} ${flow-direction} ${srcaddr} ${dstaddr} ${pkt-srcaddr} ${pkt-dstaddr} ${srcport} ${dstport} ${protocol} ${tcp-flags} ${packets} ${bytes} ${action}

커스텀 VPC Flow log 확인

만약 VPC Flow log를 s3에 저장하겠다고 선택하였으면, 설정한 s3위치에서 확인할 수 있으며 Cloudwatch logs 를 선택하였다면 아래와 같이 Cloudwatch log groups에서 확인이 가능합니다. 또한 저장 주기를 설정할 수 있는데요 default가 Never expire 이기 때문에 요금 폭탄을 맞을 수 있으므로 반드시 저장 주기를 설정하는 것을 권장드립니다.

위에서 AWS에서 제시해준 15가지 조합으로 로그를 받아보면 아래와 같습니다.

'3. Cloud > -- AWS' 카테고리의 다른 글

ec2 인스턴스 keypair 없이 접속 방법 (Windows)  (0) 2022.12.03

+ Recent posts