본문 바로가기
빅데이터,클라우드

AWS의 키페어 이해: EC2 접속 Key Pair로 하는 이유

by 데이널 2024. 6. 9.

'데이널'의 컨텐츠에 포함된 정보는?

     

    EC2 서버에 접속했다면 pem 키, 혹은 ppk를 사용해 보셨을 텐데요. 그게 바로 키페어를 이용한 방식입니다. AWS EC2에서 작업할 때 보안이 가장 중요한데요. EC2 접근을 보호하는 방법 중 하나가 키페어(Key Pairs)를 사용하는 방식입니다.

    그렇다면 키페어가 무엇인지, 왜 중요한지, 어떤 원리에 의해 사용하는지 알아보겠습니다.
     

     

    EC2 키페어(Key Pairs)이란?

    키페어는 EC2 인스턴스에 연결할 때 나를 증명하는 데 사용됩니다. 예를 들어, 서버에서 생성해서 전달한 개인 키를 가지고 있으면 접속을 허락합니다. 서버에 있는 공개 키를 오픈 할 수 있는 개인 키인거죠. 이를 어려운 말로 복호화 한다고 합니다.

    Linux에서는 기본 사용자(ec2-user)의 SSH login을 할 때 키페어를 사용하게 됩니다. 또 윈도우에서는 Administrator 사용자의 암호를 복호화하기 위해 필요합니다. 키페어는 이름에서 알 수 있듯이 두 부분(public key, private key)으로 구성됩니다.
     

    EC2 Key Pairs
    EC2 Key Pairs

    1. Public Key(공개 키)

    • 이 키는 AWS 서버에 저장됩니다.
    • 데이터를 암호화하는 데 사용되며 EC2 인스턴스에서  관리합니다.

    2. Private Key(개인 키)

    • 이 키는 여러분의 PC에 보관합니다. 공개 키로 암호화된 데이터를 해독(복호화)하는 데 사용됩니다.
    • 이 키는 EC2 액세스 권한을 부여받아기 때문에 안전하게 관리해야 합니다.

     

    키페어를 사용하는 이유는?

    저는 이 개념을 CISA 자격증 스터디를 하면서 처음 배웠는데요. 키페어는 서버를 접속할 때 패스워드르 입력하는 방식보다 안전합니다.

    그리고 한번 설정해 놓으면 암호를 넣지 않아도 돼서 편리하죠. 그렇다면 키페어가 많이 사용하는 이유는 3가지를 알아 보겠습니다.

    첫째, 향상된 보안

    비밀번호 방식은 DDoS와 같은 무차별적인 해킹 위험에 노출돼 있습니다. 키페어는 SSH 키를 사용하기 때문에 무차별 대입 방식의 위험을 크게 줄일 수 있습니다.

    둘째, 자동 액세스 제어

    보안을 지키면서 다양한 환경에서 EC2 접근을 관리하고 자동화할 수 있습니다. 이는 접근을 허락하는 유저만 Private Key을 주는 방식을 사용하기 때문입니다. 

    셋째, 관리 용이성

    Public Key를 EC2 인스턴스에 쉽게 배포하여 운영할 수 있습니다. 또 Private Key를 안전하게 관리하여 액세스 권한이 있는 사용자를 제어할 수 있기 때문에 관리가 쉽습니다.
     
     

    키페어(Key Pairs) 생성 방법

    1. 키페어 생성

    1. AWS Management Console에서 EC2 대시보드로 이동합니다.
    2. 네트워크 및 보안에서 Key Pair를 선택합니다.
    3. Key Pair 생성을 클릭합니다. RSA와 ED25519 중 RSA를 선택합니다. 
    4. Key Pair의 이름을 입력하고 파일 형식(Linux의 경우 PEM, Windows의 경우 PPK)을 선택합니다.
    5. AWS는 Key Pair를 생성하고 private key 파일을 다운로드하라는 메시지를 표시됩니다. 이 파일을 저장하시면 됩니다.

     

    키페어 생성
    키페어 생성

     

    2. RSA vs ED25519

    1) RSA

    RSA는 가장 오래되고 널리 사용되는 비대칭 암호화 알고리즘 중 하나입니다. 비교적 큰 키 크기(1024비트, 2048비트, 4096비트 등)를 사용하여 높은 보안성을 제공합니다. 다양한 시스템과 호환이 잘 됩니다. 서명과 암호화 모두에 사용될 수 있습니다.

     

    장점은 널리 사용되어 안정성이 검증되었으며, 다양한 시스템에서 지원됩니다. 반면 단점은 ED25519에 비해 상대적으로 느린 속도를 보입니다. 키 크기가 커서 저장 공간을 많이 차지합니다.

     

    2) ED25519

    ED25519는 비교적 최근에 등장한 새로운 유형의 키 페어입니다. 짧은 키 길이(256비트)에도 불구하고 RSA와 동등한 수준의 보안성을 제공합니다. 서명 속도가 RSA보다 훨씬 빨라 주로 서명에 사용됩니다. 

     

    장점은 빠른 속도와 작은 키 크기로 인해 성능이 뛰어납니다. 보안성이 뛰어나며, 양자 컴퓨터에 대한 저항성이 더 높다고 알려져 있습니다. 단점은 RSA에 비해 지원하는 시스템이 적을 수 있습니다. 서명에 특화되어 있어 암호화에는 적합하지 않습니다.

     

    3. 키페어를 사용하여 인스턴스 시작

    1. 새 EC2 인스턴스를 시작하면 인스턴스 구성 단계에서 키 페어를 선택하라는 메시지가 표시됩니다.
    2. 기존 Key Pair를 선택하거나 필요한 경우 새 Key Pair를 만듭니다.
    3. 선택한 Key Pair에 해당하는 private key 파일에 대한 액세스 권한이 있는지 확인하시기 바랍니다.
    특징 .pem 파일 .ppk 파일
    형식 PEM( Privacy-Enhanced Mail) 형식은 다양한 암호화 키를 저장하는 데 사용되는 표준 형식
    PuTTY Private Key 혁식으로 , PuTTY SSH 클라이언트에서 사용되는 특정 형식
    사용 다양한 SSH 클라이언트(리눅스에 일반적인 형식)
    PuTTY SSH 클라이언트
    범용성 높음 낮음
    특징 키 정보를 간결하게 저장하여 파일 크기가 작음, RSA, DSA, ECDSA 등 다양한 키 알고리즘을 지원 AWS EC2에서 생성된 .pem 파일을 PuTTYgen을 통해 .ppk 파일로 변환하여 사용할 수 있 음
    추가 기능 상대적으로 적음
    PuTTYgen을 통한 추가 기능 (암호 설정 등)

     

    키페어 관리 고려사항

    1. 키페어 사용 제한

    • 다양한 환경(예: 개발, 테스트, 프로덕션)에 대해 서로 다른 키페어를 사용을 권장합니다. 그래야 위험을 최소화할 수 있습니다.

    2. 정기적으로 키페어 교체

    • 보안을 강화하기 위해 정기적으로 새 키페어를 새로 생성하시기 바랍니다. 그리고 새로 생성된 키페어로 이전 키페어를 교체해야 합니다.

    3. Private key 엄격한 관리

    • private key 파일을 안전한 위치에 저장해야 합니다. 다른 사람에게 공유를 피하고 승인된 사용자에게만 액세스를 제한해야 합니다.
    • 실수로 액세스 권한이 손실되는 것을 방지하기 위해 private key 를 백업해 두는 것이 좋습니다.

     

    마치며

    요약하면, Key Pair는 AWS에 최초 접속을 위하여 사용하는 방식입니다. 이 방식은 높은 안정성, 개인화, 관리 용의성 등 때문에 AWS 접근에 주로 사용합니다.