Amazon Inspector Classic의 사용 설명서입니다. 새로운 Amazon Inspector에 대한 자세한 내용은 Amazon Inspector 사용 설명서를 참고하십시오. Amazon Inspector Classic 콘솔에 액세스하려면 https://console.aws.amazon.com/inspector/
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Inspector Classic의 보안 모범 사례
Amazon Inspector Classic 규칙을 사용하여 시스템이 안전하게 구성되어 있는지 확인할 수 있습니다.
중요
현재 Linux 기반 또는 Windows 기반 운영 체제를 실행하는 EC2 인스턴스를 평가 대상에 포함시킬 수 있습니다.
평가를 실행하는 중에 이 섹션에서 설명하는 규칙은 Linux 기반 운영 체제를 실행하는 EC2 인스턴스에 대한 결과만 생성합니다. 이 규칙은 Windows 기반 운영 체제를 실행하는 EC2 인스턴스에 대한 결과는 생성하지 않습니다.
자세한 내용은 지원되는 운영 체제의 Amazon Inspector Classic 규칙 패키지 섹션을 참조하세요.
주제
SSH를 통해 루트 로그인 비활성화
이 규칙을 통해 SSH 데몬이 EC2 인스턴스에 루트로 로그인하는 것을 허용하도록 구성되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
사용자가 SSH를 통해 루트 자격 증명을 사용하여 로그인할 수 있도록 구성된 EC2 인스턴스가 평가 대상에 있습니다. 이 경우 Brute-Force 공격이 성공할 가능성이 높아집니다.
- 해결 방법
-
SSH를 통한 루트 계정 로그인을 방지하도록 EC2 인스턴스를 구성하는 것이 좋습니다. 대신 필요한 경우 루트 이외의 사용자로 로그인하고
sudo
를 사용하여 권한을 에스컬레이션합니다. SSH 루트 계정 로그인을 비활성화하려면/etc/ssh/sshd_config
파일에서PermitRootLogin
을no
로 설정하고sshd
를 다시 시작합니다.
SSH 버전 2만 지원
이 규칙을 통해 EC2 인스턴스가 SSH 프로토콜 버전 1을 지원하도록 구성되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스가 SSH 1을 지원하도록 구성되어 있습니다. SSH 1에는 보안을 크게 저하시키는 설계 결함이 내재되어 있습니다.
- 해결 방법
-
SSH 2 이상만 지원하도록 평가 대상의 EC2 인스턴스를 구성하는 것이 좋습니다. OpenSSH의 경우
Protocol 2
를/etc/ssh/sshd_config
파일에서 설정하여 이를 수행할 수 있습니다. 자세한 내용은man sshd_config
섹션을 참조하세요.
SSH를 통한 암호 인증 비활성화
이 규칙을 통해 EC2 인스턴스가 SSH 프로토콜을 통한 암호 인증을 지원하도록 구성되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스가 SSH를 통한 암호 인증을 지원하도록 구성되어 있습니다. 암호 인증은 Brute-Force 공격에 취약하기 때문에 가능한 경우 키 기반 인증을 사용하기 위해 암호 인증을 비활성화해야 합니다.
- 해결 방법
-
EC2 인스턴스에서 SSH를 통한 암호 인증을 비활성화하고 대신 키 기반 인증 지원을 활성화하는 것이 좋습니다. 그러면 Brute-Force 공격의 성공 가능성을 크게 낮출 수 있습니다. 자세한 내용은 https://aws.amazon.com/articles/1233/
을 참조하십시오. 암호 인증이 지원되는 경우 SSH 서버에 대한 액세스를 신뢰할 수 있는 IP 주소로 제한해야 합니다.
암호 최대 수명 구성
이 규칙을 통해 EC2 인스턴스에 암호의 최대 수명이 구성되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스에 암호의 최대 수명이 구성되어 있지 않습니다.
- 해결 방법
-
암호를 사용하는 경우 평가 대상의 모든 EC2 인스턴스에 암호의 최대 수명을 구성하는 것이 좋습니다. 이를 위해 사용자는 암호를 정기적으로 변경해야 합니다. 그러면 암호 추측 공격이 성공할 가능성을 낮출 수 있습니다. 기존 사용자에 대해 이 문제를 해결하려면 chage 명령을 사용합니다. 모든 향후 사용자에 대한 암호의 최대 수명을 구성하려면
/etc/login.defs
파일의PASS_MAX_DAYS
필드를 편집합니다.
암호 최소 길이 구성
이 규칙을 통해 EC2 인스턴스에 암호의 최소 길이가 구성되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스에 암호의 최소 길이가 구성되어 있지 않습니다.
- 해결 방법
-
암호를 사용하는 경우 평가 대상의 모든 EC2 인스턴스에 암호의 최소 길이를 구성하는 것이 좋습니다. 최소 암호 길이를 적용하면 암호 추측 공격이 성공할 위험이 줄어듭니다.
pwquality.conf
파일에서minlen
옵션을 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 https://linux.die.net/man/5/pwquality.conf를 참조하십시오. 인스턴스에서
pwquality.conf
를 사용할 수 없는 경우minlen
모듈을 사용하여pam_cracklib.so
옵션을 설정할 수 있습니다. 자세한 내용은man pam_cracklib
섹션을 참조하세요. minlen
옵션은 14 이상으로 설정해야 합니다.
암호 복잡도 구성
이 규칙을 통해 EC2 인스턴스에 암호 복잡도 메커니즘이 구성되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스에 암호 복잡도 메커니즘 또는 제한이 구성되어 있지 않습니다. 이 경우 사용자가 단순한 암호를 설정할 수 있고, 그렇게 되면 권한 없는 사용자가 액세스 권한을 얻어 계정을 오용할 가능성이 커집니다.
- 해결 방법
-
암호를 사용하는 경우 암호 복잡도 수준을 요구하도록 평가 대상의 모든 EC2 인스턴스를 구성하는 것이 좋습니다.
pwquality.conf
파일에서lcredit
,ucredit
,dcredit
,ocredit
옵션을 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 https://linux.die.net/man/5/pwquality.conf를 참조하십시오. 인스턴스에서
pwquality.conf
를 사용할 수 없는 경우lcredit
모듈을 사용하여ucredit
,dcredit
,ocredit
및pam_cracklib.so
옵션을 설정할 수 있습니다. 자세한 내용은man pam_cracklib
섹션을 참조하세요. 이러한 각 옵션에 대한 예상 값은 아래와 같이 -1보다 작거나 같습니다.
lcredit <= -1, ucredit <= -1, dcredit<= -1, ocredit <= -1
또한 이
remember
옵션을 12 이상으로 설정해야 합니다. 자세한 내용은man pam_unix
섹션을 참조하세요.
ASLR 활성화
이 규칙을 통해 평가 대상에 있는 EC2 인스턴스의 운영 체제에서 주소 공간 레이아웃 무작위화(ASLR)가 활성화되어 있는지 확인할 수 있습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스에 ASLR이 활성화되어 있지 않습니다.
- 해결 방법
-
평가 대상의 보안을 강화하기 위해 echo 2 | sudo tee /proc/sys/kernel/randomize_va_space를 실행하여 평가 대상에 있는 모든 EC2 인스턴스의 운영 체제에서 ASLR을 활성화하는 것이 좋습니다.
DEP 활성화
이 규칙을 통해 평가 대상에 있는 EC2 인스턴스의 운영 체제에서 데이터 실행 방지(DEP)가 활성화되어 있는지 확인할 수 있습니다.
참고
이 규칙은 ARM 프로세서가 있는 EC2 인스턴스에 대해서는 지원되지 않습니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스에 DEP가 활성화되어 있지 않습니다.
- 해결 방법
-
평가 대상에 있는 모든 EC2 인스턴스의 운영 체제에서 DEP를 활성화하는 것이 좋습니다. DEP를 활성화하면 버퍼 오버플로우 기술을 사용하여 보안 손상으로부터 인스턴스를 보호할 수 있습니다.
시스템 디렉터리에 대한 권한 구성
이 규칙은 바이너리 및 시스템 구성 정보가 들어 있는 시스템 디렉터리에 대한 권한을 확인합니다. 루트 사용자(루트 계정 자격 증명을 사용하여 로그인한 사용자)만 이 디렉터리에 대한 쓰기 권한을 갖고 있는지 확인합니다.
- 심각도
- 결과
-
평가 대상의 EC2 인스턴스에 루트 이외의 사용자가 쓸 수 있는 시스템 디렉터리가 포함되어 있습니다.
- 해결 방법
-
평가 대상의 보안을 강화하고 악의적인 로컬 사용자의 권한 에스컬레이션을 방지하려면 대상에 있는 모든 EC2 인스턴스의 모든 시스템 디렉터리를 루트 계정 자격 증명을 사용하여 로그인하는 사용자만 쓸 수 있도록 구성합니다.