Linux용 공유 AMI 사용 전 준비

Linux용 공유 AMI 사용 전 준비

Linux용 공유 AMI를 사용하기 전에, 제3자가 인스턴스에 원치 않는 접근을 할 수 있게 하는 사전 설치 자격 증명(pre-installed credentials)이나, 민감한 데이터를 제3자에게 보낼 수 있는 사전 구성 원격 로깅이 없는지 확인하는 절차를 거쳐야 해요. AMI가 사용하는 Linux 배포판의 문서에서 시스템 보안을 강화하는 정보도 함께 확인하세요.

출처: 문서

본문

인스턴스에 대한 접근을 실수로 잃지 않도록, SSH 세션을 두 개 열어 두 번째 세션은 닫지 않은 채 익숙하지 않은 자격 증명을 제거하고 SSH로 여전히 로그인되는지 확인하는 것을 권장해요.

  • 승인되지 않은 공개 SSH 키를 찾아 비활성화하세요. 파일에 남아 있어야 하는 키는 AMI 시작 시 사용한 키 하나뿐이에요. 다음 명령으로 authorized_keys 파일을 찾을 수 있어요.
[ec2-user ~]$ sudo find / -name "authorized_keys" -print -exec cat {} \;
  • root 사용자의 비밀번호 기반 인증을 비활성화하세요. sshd_config 파일을 열어 PermitRootLogin 줄을 다음과 같이 편집해요.
PermitRootLogin without-password

또는 root 사용자로 인스턴스에 로그인하는 기능 자체를 비활성화할 수도 있어요.

PermitRootLogin No

그리고 sshd 서비스를 재시작하세요.

  • 인스턴스에 로그인할 수 있는 다른 사용자가 있는지 확인하세요. 특히 슈퍼유저 권한을 가진 사용자는 위험해요. 모르는 계정의 비밀번호는 제거하거나 잠금 처리하세요.
  • 사용하지 않는 열린 포트와, 들어오는 연결을 수신 중인 네트워크 서비스가 있는지 확인하세요.
  • 사전 구성된 원격 로깅을 차단하려면 기존 구성 파일을 삭제하고 rsyslog 서비스를 재시작하세요. 예를 들어 다음과 같아요.
[ec2-user ~]$ sudo rm /etc/rsyslog.conf
[ec2-user ~]$ sudo service rsyslog restart
  • 모든 cron 작업이 정당한 것인지 확인하세요.

보안 위험을 제기한다고 판단되는 공개 AMI를 발견하면 AWS 보안 팀에 연락하세요. 자세한 내용은 AWS Security Center를 참고해요.

더 알아보기 (Learn more)