CIS(인터넷 보안 센터) Azure Linux 벤치마크
AKS용 Azure Linux 컨테이너 호스트 이미지에 적용되는 보안 OS 구성은 CIS 벤치마크에 맞는 Azure Linux 보안 기준을 기반으로 합니다. 보안 서비스로서 AKS는 SOC, ISO, PCI DSS 및 HIPAA 표준을 준수합니다. Azure Linux 컨테이너 호스트 보안에 대한 자세한 내용은 AKS의 클러스터에 대한 보안 개념을 참조하세요. CIS 벤치마크에 대해 자세히 알아보려면 CIS(인터넷 보안 센터) 벤치마크를 참조하세요. Linux용 Azure 보안 기준에 대한 자세한 내용은 Linux 보안 기준을 참조하세요.
Azure Linux 2.0
이 Azure Linux 컨테이너 호스트 운영 체제는 기본 제공 보안 구성이 적용된 Azure Linux 2.0 이미지를 기반으로 합니다.
보안에 최적화된 운영 체제의 일부로 다음과 같습니다.
- AKS 및 Azure Linux는 기본적으로 대체 운영 체제를 선택할 수 있는 옵션 없이 보안에 최적화된 호스트 OS를 제공합니다.
- 보안에 최적화된 호스트 OS는 AKS용으로 특별히 빌드 및 유지 관리되며 AKS 플랫폼 외부에서 지원되지 않습니다.
- 공격 표면을 줄이기 위해 OS에서 불필요한 커널 모듈 드라이버가 사용하지 않도록 설정되었습니다.
권장 사항
아래 표에는 4개의 섹션이 있습니다.
- CIS ID: 각 기준 규칙과 연관된 규칙 ID입니다.
- 권장 사항 설명: CIS 벤치마크에서 발급한 권장 사항에 대한 설명입니다.
- 수준 L1, 또는 수준 1은 모든 시스템에서 구성할 수 있는 필수 기본 보안 요구 사항을 권장하며 서비스 중단 또는 기능 감소를 거의 또는 전혀 유발하지 않아야 합니다.
- 상태:
- 패스 - 권장 사항이 적용되었습니다.
- 실패 - 권장 사항이 적용되지 않았습니다.
- 해당 없음 - 권장 사항은 AKS와 관련이 없는 매니페스트 파일 권한 요구 사항과 관련이 있습니다.
- 환경에 따라 다름 - 권장 사항은 사용자의 특정 환경에 적용되며 AKS에서 제어되지 않습니다.
- 해당 컨트롤 - 권장 사항이 다른 동등한 방식으로 구현되었습니다.
- 원인:
- 작동에 미칠 수 있는 영향 - 서비스에 부정적인 영향을 미칠 수 있으므로 권장 사항이 적용되지 않았습니다.
- 다른 곳에서 다룸 - Azure 클라우드 컴퓨팅의 다른 컨트롤에서 권장 사항을 다룹니다.
다음은 CIS 규칙을 기반으로 한 CIS Azure Linux 2.0 벤치마크 v1.0 권장 사항의 결과입니다.
CIS ID | 권장 사항 설명 | 상태 | 원인 |
---|---|---|---|
1.1.4 | 자동 탑재 사용 안 함 | 통과 | |
1.1.1.1 | cramfs filesystems 탑재를 사용하지 않도록 설정했는지 확인 | 통과 | |
1.1.2.1 | /tmp가 별도의 파티션인지 확인 | 통과 | |
1.1.2.2 | /tmp 파티션에서 nodev 옵션 설정 확인 | 통과 | |
1.1.2.3 | /tmp 파티션에서 nosuid 옵션 설정 확인 | 통과 | |
1.1.8.1 | /dev/shm 파티션에 nodev 옵션이 설정되어 있는지 확인 | 통과 | |
1.1.8.2 | /dev/shm 파티션에 nosuid 옵션이 설정되어 있는지 확인 | 통과 | |
1.2.1 | DNF gpgcheck가 전역적으로 활성화되어 있는지 확인 | 통과 | |
1.2.2 | TDNF gpgcheck가 전역적으로 활성화되어 있는지 확인 | 통과 | |
1.5.1 | 코어 덤프 스토리지가 사용하지 않도록 설정되어 있는지 확인 | 통과 | |
1.5.2 | 코어 덤프 역추적이 사용하지 않도록 설정되어 있는지 확인 | 통과 | |
1.5.3 | ASLR(주소 공간 레이아웃 무작위화)이 사용하도록 설정되어 있는지 확인 | 통과 | |
1.7.1 | 로컬 로그인 경고 배너가 올바르게 구성되어 있는지 확인 | 통과 | |
1.7.2 | 원격 로그인 경고 배너가 올바르게 구성되어 있는지 확인 | 통과 | |
1.7.3 | /etc/motd에 대한 권한이 구성되어 있는지 확인 | 통과 | |
1.7.4 | /etc/issue에 대한 권한이 구성되어 있는지 확인 | 통과 | |
1.7.5 | /etc/issue.net에 대한 권한이 구성되어 있는지 확인 | 통과 | |
2.1.1 | 시간 동기화가 사용 중인지 확인 | 통과 | |
2.1.2 | chrony가 구성되어 있는지 확인 | 통과 | |
2.2.1 | xinetd가 설치되지 않았는지 확인 | 통과 | |
2.2.2 | xorg-x11-server-common이 설치되지 않았는지 확인 | 통과 | |
2.2.3 | avahi가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.4 | 인쇄 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.5 | DHCP 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.6 | DNS 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.7 | FTP 클라이언트가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.8 | FTP 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.9 | TFTP 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.10 | 웹 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.11 | IMAP 및 POP3 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.12 | Samba가 설치되지 않았는지 확인 | 통과 | |
2.2.13 | HTTP 프록시 서버가 설치되지 않았는지 확인 | 통과 | |
2.2.14 | net-snmp가 설치되어 있지 않거나 snmpd 서비스가 사용하도록 설정되어 있지 않았는지 확인 | 통과 | |
2.2.15 | NIS 서버가 설치되지 않았는지 확인 | 통과 | |
2.2.16 | 텔넷 서버가 설치되어 있지 않았는지 확인 | 통과 | |
2.2.17 | 메일 전송 에이전트가 로컬 전용 모드로 구성되어 있는지 확인 | 통과 | |
2.2.18 | nfs-utils가 설치되어 있지 않았거나 nfs-server 서비스가 마스킹되어 있는지 확인 | 통과 | |
2.2.19 | rsync-daemon이 설치되어 있지 않았거나 rsyncd 서비스가 마스킹되어 있는지 확인 | 통과 | |
2.3.1 | NIS 클라이언트가 설치되지 않았는지 확인 | 통과 | |
2.3.2 | rsh 클라이언트가 설치되어 있지 않았는지 확인 | 통과 | |
2.3.3 | Talk 클라이언트가 설치되어 있지 않았는지 확인 | 통과 | |
2.3.4 | 텔넷 클라이언트가 설치되어 있지 않았는지 확인 | 통과 | |
2.3.5 | LDAP 클라이언트가 설치되지 않았는지 확인 | 통과 | |
2.3.6 | TFTP 클라이언트가 설치되지 않았는지 확인 | 통과 | |
3.1.1 | IPv6이 사용하도록 설정되어 있는지 확인 | 통과 | |
3.2.1 | 패킷 리디렉션 보내기를 사용하지 않도록 설정되었는지 확인 | 통과 | |
3.3.1 | 원본 라우팅 패킷이 수락되지 않았는지 확인 | 통과 | |
3.3.2 | ICMP 리디렉션이 수락되지 않았는지 확인 | 통과 | |
3.3.3 | 보안 ICMP 리디렉션이 수락되지 않았는지 확인 | 통과 | |
3.3.4 | 의심스러운 패킷이 기록되었는지 확인 | 통과 | |
3.3.5 | 브로드캐스트 ICMP 요청이 무시되어 있는지 확인 | 통과 | |
3.3.6 | 가짜 ICMP 응답이 무시되는지 확인 | 통과 | |
3.3.7 | 패스 반전 필터링이 사용하도록 설정되어 있는지 확인 | 통과 | |
3.3.8 | TCP SYN 쿠키가 활성화되어 있는지 확인 | 통과 | |
3.3.9 | IPv6 라우터 알림이 수락되지 않았는지 확인 | 통과 | |
3.4.3.1.1 | iptables 패키지가 설치되어 있는지 확인 | 통과 | |
3.4.3.1.2 | nftables가 iptables와 함께 설치되지 않았는지 확인 | 통과 | |
3.4.3.1.3 | 방화벽이 설치되어 있지 않거나 iptables로 마스크되어 있는지 확인 | 통과 | |
4.2 | logrotate가 구성되어 있는지 확인 | 통과 | |
4.2.2 | 모든 로그 파일에 적절한 액세스 권한이 구성되어 있는지 확인 | 통과 | |
4.2.1.1 | rsyslog가 설치되어 있는지 확인 | 통과 | |
4.2.1.2 | rsyslog 서비스가 사용하도록 설정되어 있는지 확인 | 통과 | |
4.2.1.3 | rsyslog 기본 파일 권한이 구성되어 있는지 확인 | 통과 | |
4.2.1.4 | 로깅이 구성되어 있는지 확인 | 통과 | |
4.2.1.5 | rsyslog가 원격 클라이언트로부터 로그를 수신하도록 구성되지 않았는지 확인합니다. | 통과 | |
5.1.1 | cron 디먼이 사용하도록 설정되어 있는지 확인 | 통과 | |
5.1.2 | /etc/crontab에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.1.3 | /etc/cron.hourly에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.1.4 | /etc/cron.daily에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.1.5 | /etc/cron.weekly에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.1.6 | /etc/cron.monthly에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.1.7 | /etc/cron.d에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.1.8 | cron이 승인된 사용자로 제한되어 있는지 확인 | 통과 | |
5.1.9 | at가 승인된 사용자로 제한되어 있는지 확인 | 통과 | |
5.2.1 | /etc/ssh/sshd_config에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.2.2 | SSH 프라이빗 호스트 키 파일에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.2.3 | SSH 공개 호스트 키 파일에 대한 권한이 구성되어 있는지 확인 | 통과 | |
5.2.4 | SSH 액세스가 제한되어 있는지 확인 | 통과 | |
5.2.5 | SSH LogLevel이 적절한지 확인 | 통과 | |
5.2.6 | SSH PAM이 사용하도록 설정되어 있는지 확인 | 통과 | |
5.2.7 | SSH 루트 로그인이 사용하지 않도록 설정되어 있는지 확인 | 통과 | |
5.2.8 | SSH HostbasedAuthentication이 비활성화되어 있는지 확인 | 통과 | |
5.2.9 | SSH PermitEmptyPasswords가 비활성화되어 있는지 확인 | 통과 | |
5.2.10 | SSH PermitUserEnvironment가 사용하지 않도록 설정되어 있는지 확인 | 통과 | |
5.2.11 | SSH IgnoreRhosts가 활성화되어 있는지 확인 | 통과 | |
5.2.12 | 강력한 암호만 사용하는지 확인 | 통과 | |
5.2.13 | 강력한 MAC 알고리즘만 사용하는지 확인 | 통과 | |
5.2.14 | 강력한 키 교환 알고리즘만 사용하는지 확인 | 통과 | |
5.2.15 | SSH 경고 배너가 구성되어 있는지 확인 | 통과 | |
5.2.16 | SSH MaxAuthTries가 4 이하로 설정되어 있는지 확인 | 통과 | |
5.2.17 | SSH MaxStartups가 구성되어 있는지 확인 | 통과 | |
5.2.18 | SSH LoginGraceTime이 1분 미만으로 설정되어 있는지 확인 | 통과 | |
5.2.19 | SSH MaxSessions가 10 이하로 설정되어 있는지 확인 | 통과 | |
5.2.20 | SSH Idle Timeout Interval이 구성되어 있는지 확인 | 통과 | |
5.3.1 | sudo가 설치되어 있는지 확인 | 통과 | |
5.3.2 | 권한 상승을 위한 다시 인증이 전역적으로 사용하지 않도록 설정되지 않았는지 확인 | 통과 | |
5.3.3 | sudo 인증 시간 제한이 올바르게 구성되어 있는지 확인 | 통과 | |
5.4.1 | 암호 만들기 요구 사항이 구성되어 있는지 확인 | 통과 | |
5.4.2 | 잘못된 암호를 입력하면 잠그도록 구성되어 있는지 확인 | 통과 | |
5.4.3 | 암호 해시 알고리즘이 SHA-512인지 확인합니다. | 통과 | |
5.4.4 | 암호 재사용이 제한되어 있는지 확인 | 통과 | |
5.5.2 | 시스템 계정이 안전한지 확인 | 통과 | |
5.5.3 | 루트 계정의 기본 그룹은 GID 0이어야 합니다. | 통과 | |
5.5.4 | default user umask가 027 이상으로 제한되어 있는지 확인 | 통과 | |
5.5.1.1 | 암호 만료가 365일 이하인지 확인 | 통과 | |
5.5.1.2 | 암호 변경 사이의 최소 일수가 구성되어 있는지 확인 | 통과 | |
5.5.1.3 | 암호 만료 경고일이 7일 이상인지 확인 | 통과 | |
5.5.1.4 | 비활성 암호 잠금이 30일 이하인지 확인 | 통과 | |
5.5.1.5 | 모든 사용자의 마지막 암호 변경 날짜는 과거의 날짜여야 합니다. | 통과 | |
6.1.1 | /etc/passwd에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.2 | /etc/passwd에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.3 | /etc/group에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.4 | /etc/group에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.5 | /etc/shadow에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.6 | /etc/shadow-에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.7 | /etc/gshadow에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.8 | /etc/gshadow-에 대한 권한이 구성되어 있는지 확인 | 통과 | |
6.1.9 | 소유되지 않거나 그룹화되지 않은 파일이나 디렉터리가 존재하지 않았는지 확인 | 통과 | |
6.1.10 | 누구나 쓰기 가능한 파일과 디렉터리가 보호되는지 확인 | 통과 | |
6.2.1 | 암호 필드가 비어 있지 않았는지 확인합니다. | 통과 | |
6.2.2 | /etc/passwd의 모든 그룹이 /etc/group에 있어야 합니다. | 통과 | |
6.2.3 | UID가 중복되면 안 됩니다. | 통과 | |
6.2.4 | GID가 중복되면 안 됩니다. | 통과 | |
6.2.5 | 사용자 이름이 중복되면 안 됩니다. | 통과 | |
6.2.6 | 중복 그룹 이름이 없는지 확인 | 통과 | |
6.2.7 | 루트 경로 무결성 확인 | 통과 | |
6.2.8 | root가 유일한 UID 0 계정이어야 합니다. | 통과 | |
6.2.9 | 모든 사용자의 홈 디렉터리가 있는지 확인합니다. | 통과 | |
6.2.10 | 사용자가 홈 디렉터리를 소유하고 있는지 확인 | 통과 | |
6.2.11 | 사용자의 홈 디렉터리 권한이 750 이상 제한적인지 확인 | 통과 | |
6.2.12 | 사용자의 dot 파일이 group 또는 world 쓰기가 가능하지 않은지 확인 | 통과 | |
6.2.13 | 사용자의 .netrc 파일이 그룹 또는 누구나 액세스할 수 없는지 확인 | 통과 | |
6.2.14 | 사용자에게 .forward 파일이 있으면 안 됩니다. | 통과 | |
6.2.15 | 사용자에게 .netrc 파일이 있으면 안 됩니다. | 통과 | |
6.2.16 | 사용자에게 .rhosts 파일이 있으면 안 됩니다. | 통과 |
다음 단계
Azure Linux 컨테이너 호스트 보안에 대한 자세한 내용은 다음 문서를 참조하세요.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
Azure Kubernetes Service