서버/AWS (Amazon Web Services)

[AWS의 기본 02] MFA로 계정 보안 강화하기

날개 2014. 7. 26. 01:35

첫 글에서는 AWS의 계정을 만드는 방법을 살펴봤습니다.


계정을 만들었으면, 이제 계정 로그인 보안을 강화하는 방법을 알 필요가 있을것 같습니다.


AWS에서 로그인 보안을 강화해야 하는 이유는 뭘까요? 우리가 인터넷 뱅킹이나 금융관련 거래를 할 경우 일반적으로 단순히 아이디와 비밀번호만 가지고 금융 거래를 할 수는 없지요. 아이디와 비밀번호는 노출되거나 풀릴 가능성이 있기 때문에, 잘못하면 소중한 자산이 엉뚱한데 이용될 수도 있기 때문이겠지요.


AWS의 경우 (예약 인스턴스가 있기는 하지만) 기본적으로 사용한 만큼 과금되는 시스템입니다. 그런데, 요금을 살펴보면 알겠지만, 어떻게 사용하는가에 따라 어마어마한 비용이 청구 될 수도 있습니다.


만약에 누가 내 아이디와 비밀번호로 AWS에 접속해서 고사양의 인스턴스를 생성해서 사용한다면 어떻게 될까요? 사용하지도 않은 서비스에 대해 억울하게 비용을 청구 당할 수도 있겠지요. 사실 이런 경우가 종종 발생을 한다고 합니다. AWS 관련 커뮤니티에 올라오는 글들을 읽어 보면 간혹 아이디를 도용당해 수백불~수만불의 청구서를 받은 경우를 볼 수 있더군요.


또한 비용문제를 제쳐 두고라도, 원치 않는 사람이 내 서버들에 접속해서 여러가지 정보를 빼간다면? 심각한 보안 문제가 아닐 수 없겠죠.


이에 대비할 수 있게 AWS는 MFA (Multi-Factor Authentication)라는 다중 접속 인증을 지원합니다. 또한 보안을 위해서 각각의 서비스에 관리유저를 배정하고 각각 권한을 관리할 수 있는 IAM서비스도 있습니다. 


이 글에서는 AWS의 루트 계정의 로그인 보안을 강화할 수 있는 MFA의 설정 방법만 알아보도록 하겠습니다.


MFA 인증을 받는 방법은 쉽게 얘기하면, 우리가 인터넷뱅킹에서 사용하는 OTP와 비슷하다고 보면 됩니다.

MFA를 활성화 하면, 로그인 할 때에 기존의 아이디/암호 입력에 더하여 MFA 인증 번호를 입력하는 단계가 추가됩니다. 약간은 번거로워 지지만, AWS의 계정의 무게를 생각할 때 신경을 써주는 것이 좋겠죠.


MFA 인증 방법에는 크게 두가지가 있지만, 가상 MFA 장치 방식만 알아보도록 합니다.


그럼 시작해 볼까요?




[02] MFA로 계정 보안 강화하기


먼저 AWS에 접속하여 로그인 합니다.


우측 상단의 본인 계정을 클릭하면 나오는 서브 메뉴에서 [Security Credentials]를 클릭합니다.


혹시 위와 같이 팝업이 뜨면, [Continue to Security Credentials] 를 클릭합니다.


위 그림에서 빨간 표시를 한 'Multi-Factor Authentication (MFA)'의 [+]를 클릭하여 펼칩니다.


펼치면 위와 같이 [Activate MFA] 버튼이 보입니다. 클릭합니다.


위 화면과 같이 MFA 인증 방법에는 크게 두가지, 가상 MFA 장치와 하드웨어 MFA가 있습니다.

간단히 설명하면, 가상 MFA 장치(A virtual MFA device)는 아이폰이나 안드로이드폰과 같은 스마트폰에서 OTP앱을 사용하여 인증하는 방법이고, 하드웨어 MFA 장치는 OTP 기기를 구입하는 것입니다.


가상 MFA보다 하드웨어 MFA가 보안성이 더 높다고 하니 필요하신분은 구할 수 있는지 알아보는 것도 좋겠지요.


자세한 내용은 AWS Multi-Factor Authentication 을 참고하세요.


여기서는 가상 MFA 장치를 사용하겠습니다. 'A virtual MFA device'를 선택하고 [Continue]를 누릅니다.



팝업이 뜨는데, 요약하자면 MFA 호환 어플리케이션(앱)을 먼저 PC나 스마트폰에 설치해야 한다는 내용입니다.

[Continue]를 누르기 전에, MFA 호환 앱을 설치하고 실행하겠습니다.


참고로, 위 팝업에서 'here'를 누르면, 어떤 앱이 호환되는지 알 수 있습니다. 잠깐 눌러서 확인해 보면 아래와 같이 MFA와 호환되는 앱의 종류를 알려 줍니다.



위 화면에서 빨간색으로 표시한 부분이 MFA 호환 앱 리스트입니다. 

(링크 : https://aws.amazon.com/ko/iam/details/mfa/)


저는 아이폰에서 'Google Authenticator'를 다운로드 받겠습니다. 





앱스토어에서 'Google Authenticator'로 검색하니 위와 같이 구글에서 올린 인증앱이 나오는군요. 설치합니다.

(안드로이드를 사용하시는 분들은 구글 플레이스토어에서 같은 앱이나 또는 원하는 호환 앱을 받으면 되겠습니다.)


다운로드가 끝나면 실행합니다.



[설정 시작하기]를 누릅니다. 


이제 QR 코드를 스캔할 준비를 해야 합니다 .위에서 앱을 설치하라고 한 패이지에서 [Continue]를 누릅니다.



위와 같이 QR 코드와 인증 코드를 입력하는 페이지가 나옵니다.


그러면 다시 앱에서, '바코드 스캔'을 누릅니다.




바코드 스캔하는 화면이 나오며 카메라가 작동하면, 위 페이지의 QR코드를 스캔합니다.



QR코드를 스캔하면 위와 같이 앱에서 첫번째 인증코드가 나타납니다.


빨간색 표시한 부분이 타이머입니다. 우리가 사용하는 인터넷뱅킹용 OPT와 같이, 인증 앱도 일정 시간이 지나면 다른 인증 코드가 바뀌게 됩니다.


먼저, 위에서 나온 앱이 보여주는 인증 코드를 위 화면과 같이 첫번째 코드 입력란에 입력하고 기다립니다.



조금 기다리면 OTP 앱의 인증 코드가 바뀌게 됩니다. 

바뀐 인증 코드를 두번째 코드 입력란에 입력합니다.


[Continue]를 누릅니다.



이제 (가상) MFA 장치 연결이 완료되었다는 메시지를 볼 수 있습니다.


[Finish]를 누릅니다.



위 화면과 같이 처음에 [Activate MFA] 버튼이 나타났던 자리에 연결된 Virtual MFA의 정보가 나타나게 됩니다. (나중에 필요에 의해 해제가 필요할때도 이 화면에서 하면 되겠죠?)


이제 MFA가 활성화 된 것입니다.



이제 로그 아웃하고 다시 로그인을 시도해 봅시다.


여기까지는 똑같지요. 계정과 비밀번호를 입력하고 로그인버튼을 누릅니다.

위 화면과 같이 추가 인증을 요구하게 됩니다. Authentication Code 칸에 본인의 스마트폰에 설치된 OTP을 실행시켜 나타나는 인증코드를 입력하면 로그인이 됩니다.


좀 복잡한듯 보이지만, 실제로 해보면 간단합니다. 걱정하실 필요 없어요.


이 글은 여기까지입니다.



참고로, 여러가지 이유로 OTP번호를 사용하지 못하게 되면 (OTP앱에 문제가 생기거나 OPT앱이 설치된 스마트폰을 분실한 경우등...) MFA를 비활성화 해야 하는데, https://aws.amazon.com/forms/aws-mfa-support 에 정보를 기입한뒤 제출하면, 해제를 위한 핀번호가 담긴 이메일이 오고 전화가 온다고 합니다. 전화로 코드를 알려 주면 MFA를 비활성화 해 준다고 하네요.






(1) 이 포스팅은 2014.7.25 기준으로 작성되었습니다. 웹서비스는 서비스 제공 업체에 의해 언제든지 변경될 수 있습니다.

(2) 여기서 사용한 스크린 캡쳐 이미지들의 출처는 http://aws.amazon.com 웹사이트 입니다.