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)
- 공유 AMI 찾기(Find shared AMIs)와 허용 AMI(Allowed AMIs) 문서에서 공유 AMI 활용을 더 알아보세요.