노드 규정 준수

GKE On-Prem 노드 이미지는 PCI DSS, NIST Baseline High, DoD Cloud Computing SRG Impact Level 2 설정으로 사전 구성됩니다.

다음 섹션에서는 변경된 규정 준수 구성을 설명합니다.

설치된 패키지

다음 패키지가 노드 OS 이미지에 포함됩니다.

감사

운영체제에 추가된 감사 규칙은 파일 소유권 및 권한 변경사항, 파일 삭제, 커널 모듈 로드 또는 삭제, 권한이 있는 명령어 사용, 시스템 관리 명령어의 로깅 요구사항을 충족합니다.

다음 이벤트는 노드 OS에서 auditd에 의해 로깅됩니다.

  • DAC(Discretionary 액세스 제어) 수정사항:

    • chmod: 파일 모드 변경 또는 액세스 제어 목록(ACL)
    • chown: 파일 소유자 및 그룹 변경
    • fchmod: 파일 모드 변경
    • fchmodat: 파일 모드 변경
    • fchown: 파일 소유자 및 그룹 변경
    • fchownat: 파일 소유자 및 그룹 변경
    • fremovexattr: 확장된 속성 값 삭제
    • fsetxattr: 확장된 속성 값 설정
    • lchown: 파일 소유자 및 그룹 변경
    • lremovexattr: 확장된 속성 값 삭제
    • lsetxattr: 확장된 속성 값 설정
    • removexattr: 확장된 속성 값 삭제
    • setxattr: 확장된 속성 값 설정
  • 파일 삭제

    • ename: 파일 이름 변경
    • renameat: 파일 이름 변경
    • rmdir: 디렉터리 삭제
    • unlink: 디렉터리 항목 삭제
    • unlinkat: 디렉터리 항목 삭제
  • 커널 모듈 로드 중

    • deleted: 사용되지 않은 로드 가능한 커널 모듈 삭제
    • finit: 파일 설명자에서 커널 모듈 로드
    • init: 커널 공간에 ELF 이미지 로드
  • 로그인 이벤트

    • faillock: 로그인 시도가 반복적으로 실패하면 사용자 계정 잠금
    • lastlog: 로그인 기록
    • tallylog: 로그인 성공 및 실패 시도 기록
  • 미디어 내보내기: 원격 파일 시스템을 마운트하는 mount -F 명령어

  • 권한이 있는 명령어

    • chage: 사용자 데이터베이스 정보 추가 또는 변경
    • chsh: 사용자 데이터베이스 정보 추가 또는 변경
    • crontab: 개별 사용자의 crontab 파일 유지
    • gpasswd: 그룹 멤버십 비밀번호 설정 또는 변경
    • newgrp: 새 그룹으로 변경
    • passwd: 사용자 비밀번호 수정
    • postdrop: Postfix 메일 게시 유틸리티
    • postqueue: Postfix 큐 제어
    • ssh_keysign: SSH 데몬의 호스트 키 관리
    • su: 사용자 ID 대체
    • sudo: 다른 사용자로 명령어 실행
    • unix_chkpwd: 현재 사용자의 비밀번호 확인
  • 시스템 관리자 작업: sudoers 수정

  • 시스템 종료: OS 종료 및 재부팅

  • 파일 수정 실패

    • creat: 새 파일 만들기
    • ftruncate: 파일을 지정된 길이로 자르거나 확장
    • open: 파일 및 디렉터리 열기
    • open_by_handle_at: 읽기 또는 쓰기용 파일 열기 또는 만들기
    • openat: 읽기 또는 쓰기용 파일 열기 또는 만들기
    • truncate: 파일을 지정된 길이로 자르거나 확장
  • 사용자/그룹 수정

    • group: 지역 그룹 멤버십
    • gshadow: 그룹 비밀번호 데이터베이스
    • opasswd: 비밀번호 재사용 데이터베이스
    • passwd: 로컬 사용자 로그인 정보
    • shadow: 해시된 로컬 사용자 비밀번호 데이터베이스

사용자 프로필 비밀번호 요구사항

규정 준수를 위해 사용자 비밀번호 복잡성 요구사항이 필요합니다. 이러한 복잡성 요구사항은 다음과 같이 /etc/security/pwquality.conf에서 구현됩니다.

minlen = 15
lcredit = -1
maxrepeat = 3
difok = 8
maxclassrepeat = 4
ocredit = -1
dcredit = -1
ucredit = -1
minclass = 4

SSH 서버

sshd 서버 구성에서 다음 설정이 구현되었습니다.

시스템 배너

경고 메시지는 로그인 프로세스 중에 정책 인식을 강화하고 공격자에 대한 잠재적인 법적 조치를 촉진합니다. 또는 소유권을 명확히 알 수 없는 시스템은 손쉽게 저작자 표시를 제공하지 않는 배너의 사용을 보장해야 합니다.

SSH 프로토콜 2

SSH 프로토콜 1은 보안이 취약하며 클라이언트가 실수로 취약한 연결 매개변수를 협상하는 것을 방지하도록 비활성화해야 합니다.

SSH 중지 루트 로그인

SSH에서는 루트 사용자로 직접 로그인할 경우 관리 작업의 추적 가능성을 모호하게 하므로 이를 허용해서는 안 됩니다.

SSH에서 PermitUserEnvironment 허용 안함

PermitUserEnvironment는 서버에서 구성을 우회할 수 있습니다. 이 설정은 세션 설정 중에 안전하지 않은 설정을 가져오지 않도록 합니다.

SSH 경고 배너

경고 메시지는 로그인 프로세스 중에 정책 인식을 강화하고 공격자에 대한 잠재적인 법적 조치를 촉진합니다. 이 설정은 SSH 데몬이 시스템의 구성된 배너 콘텐츠를 제공하도록 합니다.

SSH 유휴 제한 시간

SSH를 사용하면 관리자가 유휴 제한 시간 간격을 설정할 수 있습니다. 이 간격이 활동 없이 지나면 사용자가 자동으로 로그아웃됩니다.

SSH 연결 유지

이렇게 하면 SSH 유휴 제한 시간에 도달할 때 사용자 로그인이 종료됩니다.

SSH 승인 암호화

암호화 모듈에 인증하는 데 사용되는 승인되지 않은 메커니즘은 확인되지 않으므로 기밀성 또는 무결성을 제공하기 위해 사용할 수 없으며 시스템 데이터가 손상될 수 있습니다. 암호화를 활용하는 운영체제는 FIPS 준수 메커니즘을 사용하여 암호화 모듈에 인증해야 합니다. FIPS 140-2는 암호화 모듈에 액세스하는 데 사용되는 메커니즘이 산업 및 정부 요구 사항을 충족하는 인증을 활용하는지 확인하기 위한 현재 표준입니다.

SSH 승인 MACS

FIPS 승인을 받은 해시 알고리즘으로 MAC을 제한합니다.

SSH UsePrivilegeSeparation

SSH 데몬 권한 분리를 통해 SSH 프로세스가 루트 권한이 필요하지 않을 때 이를 삭제하면 권한이 없는 섹션에서 소프트웨어 취약점의 영향을 줄일 수 있습니다.

SSH 로그인 시도 표시

인증에 성공하면 이전 로그인 시도를 표시합니다. 이는 사용자에게 예상치 못한 로그인을 알리기 위한 것입니다.

파일 무결성 스캔

다음 AIDE 무결성 검사가 구성됩니다.

AIDE 주기적 스캔

최소한 AIDE는 주 단위로 스캔을 실행하도록 구성해야 합니다. 최대한 AIDE는 매일 실행해야 합니다. 기본적으로 Ubuntu는 매일 실행하도록 AIDE를 구성합니다.

AIDE 알림

AIDE는 스캔이 실행된 후 담당자에게 스캔 세부정보를 알려야 합니다. Ubuntu의 AIDE 기본 구성은 /etc/cron.daily/aide에 이메일 보고서를 자동으로 전송합니다.

AIDE: FIPS 승인 암호화 해시 사용

파일 무결성 도구는 암호화 해시를 사용하여 파일 콘텐츠 및 디렉터리가 변경되지 않았는지 확인합니다. 이러한 해시는 FIPS 140-2 승인 암호화 해시여야 합니다.

AIDE: ACL 확인

ACL은 파일 모드를 통해 허용된 권한 이상의 권한을 제공할 수 있으며 파일 무결성 도구로 확인해야 합니다.

AIDE: EXT 속성 확인

파일 시스템의 확장 속성은 보안에 영향을 미치는 임의의 데이터와 파일 메타데이터를 포함하는 데 사용됩니다.

커널 설정

/etc/sysctl의 커널 설정이 다음과 같이 수정되었습니다.

Ctrl-Alt-Del 재부팅 사용 중지

로컬에 로그인된 사용자가 Console에서 Ctrl-Alt-Del을 누르면 시스템을 재부팅할 수 있습니다. OS가 혼합된 경우 발생할 수 있는 것처럼 실수로 눌렀을 때 의도하지 않은 재부팅으로 인해 단기적으로 시스템 사용 가능성 손실이 발생할 위험이 있습니다.

DCCP 커널 모듈 사용 중지

Datagram Congestion Control Protocol(DCCP)은 스트리밍 미디어 및 전화 통신을 지원하도록 설계된 비교적 새로운 전송 계층 프로토콜입니다. DCCP를 사용 중지하면 시스템의 구현에서 결함이 악용되는 것을 방지하도록 시스템이 보호됩니다.

USB 저장소 커널 모듈 사용 중지

플래시 드라이브 등의 USB 저장 기기를 사용하여 악성 소프트웨어를 도입할 수 있습니다. USB 저장 기기가 사용되지 않게 하려면 커널 모듈 로드 시스템을 구성하여 USB 저장소 드라이버의 자동 로드를 방지합니다.

가상 주소 공간 무작위 지정

ASLR(주소 공간 레이아웃 무작위 지정)은 공격자가 해커의 악용 시도 중에 프로세스의 주소 공간에 도입된 공격 코드의 위치를 예측하기 더 어렵게 만듭니다. 또한 ASLR은 공격자가 반환 지향 프로그래밍(ROP) 기법을 사용하여 코드의 용도를 변경하기 위해 기존 코드의 위치를 파악하는 것을 더 어렵게 만듭니다.

IPv4 리디렉션 사용 중지

ICMP 리디렉션 메시지는 라우터에서 특정 대상에 대해 보다 직접적인 경로가 있음을 호스트에 알리는 데 사용됩니다. 이러한 메시지는 호스트의 경로 테이블을 수정하고 인증되지 않습니다. 불법 ICMP 리디렉션 메시지로 인해 중간자 공격이 발생할 수 있습니다. IPv4 프로토콜의 이 기능은 사용되는 경우가 거의 없습니다. 반드시 필요한 경우가 아니면 사용 중지해야 합니다.

소스 라우팅 IPv4 패킷 사용 중지

소스 라우팅 패킷은 패킷의 소스가 라우터에 구성된 라우터와 다른 경로를 통해 패킷을 전달하도록 제안하여 네트워크 보안 조치를 우회하는 데 사용될 수 있습니다. 이 요구사항은 IPv4 전달이 사용 설정되어 있고 시스템이 라우터로 작동하는 경우와 같이 소스 라우팅 트래픽의 전달에만 적용됩니다. IPv4 프로토콜의 소스 라우팅 패킷 수락은 사용되는 경우가 거의 없습니다. 반드시 필요한 경우가 아니면 사용 중지해야 합니다.

IPv4 리디렉션 전송 사용 중지

ICMP 리디렉션 메시지는 라우터에서 특정 대상에 대해 보다 직접적인 경로가 있음을 호스트에 알리는 데 사용됩니다. 이 메시지에는 네트워크 토폴로지의 일부를 표시할 수 있는 시스템 경로 테이블의 정보가 포함됩니다. ICMP 리디렉션을 전송하는 기능은 라우터로 작동하는 시스템에만 적합합니다.

IPv4 리디렉션 수락 사용 중지

ICMP 리디렉션 메시지는 라우터에서 특정 대상에 대해 보다 직접적인 경로가 있음을 호스트에 알리는 데 사용됩니다. 이러한 메시지는 호스트의 경로 테이블을 수정하고 인증되지 않습니다. 불법 ICMP 리디렉션 메시지로 인해 중간자 공격이 발생할 수 있습니다. IPv4 프로토콜의 이 기능은 사용되는 경우가 거의 없습니다. 반드시 필요한 경우가 아니면 사용 중지해야 합니다.

IPv4 소스 라우팅된 패킷 수락 사용 중지

소스 라우팅 패킷은 패킷의 소스가 라우터에 구성된 라우터와 다른 경로를 통해 패킷을 전달하도록 제안하여 네트워크 보안 조치를 우회하는 데 사용될 수 있습니다. IPv4 프로토콜의 소스 라우팅 패킷 수락은 사용되는 경우가 거의 없습니다. IPv4 전달이 사용 설정되어 있고 시스템이 라우터로 합법적으로 작동하는 경우와 같이 반드시 필요한 경우가 아니면 사용 중지해야 합니다.

IPv4 리디렉션 패킷 전송 사용 중지

ICMP 리디렉션 메시지는 라우터에서 특정 대상에 대해 보다 직접적인 경로가 있음을 호스트에 알리는 데 사용됩니다. 이 메시지에는 네트워크 토폴로지의 일부를 표시할 수 있는 시스템 경로 테이블의 정보가 포함됩니다. ICMP 리디렉션을 전송하는 기능은 라우터로 작동하는 시스템에만 적합합니다.

IPv4 브로드캐스트 패킷에 대한 응답 사용 중지

브로드캐스트(ICMP) 에코에 응답하면 네트워크 매핑을 용이하게 하고 증폭 공격의 벡터를 제공합니다. 브로드캐스트 또는 멀티캐스트 주소로 전송되는 ICMP 에코 요청(핑)을 무시하면 시스템이 네트워크상에 열거하기가 좀 더 어려워집니다.

IPv6 소스 라우팅된 패킷 수락 사용 중지

소스 라우팅 패킷은 패킷의 소스가 라우터에 구성된 라우터와 다른 경로를 통해 패킷을 전달하도록 제안하여 네트워크 보안 조치를 우회하는 데 사용될 수 있습니다. 이 요구사항은 IPv6 전달이 사용 설정되어 있고 시스템이 라우터로 작동하는 경우와 같이 소스 라우팅 트래픽의 전달에만 적용됩니다. IPv6 프로토콜의 소스 라우팅 패킷 수락은 사용되는 경우가 거의 없습니다. 반드시 필요한 경우가 아니면 사용 중지해야 합니다.

서비스

서비스 구성을 다음과 같이 변경했습니다.

예약된 작업의 원격 로깅

크론 로깅은 크론 작업의 성공 또는 실패를 추적하는 데 사용할 수 있습니다. 또한 승인되지 않은 악의적인 사용자의 크론 기능 사용에 대한 침입을 탐지하는 데도 사용할 수 있습니다.

AutoFS 사용 중지

autofs 데몬은 필요에 따라 NFS를 통해 공유되는 사용자 홈 디렉터리와 같은 파일 시스템을 마운트 및 마운트 해제합니다. 또한 autofs를 사용하여 이동식 미디어를 처리할 수 있으며 기본 구성은 cdom 기기를 /misc/cd로 제공합니다. 파일 시스템을 자동으로 마운트하면 알 수 없는 기기를 쉽게 도입할 수 있으므로 악의적인 활동이 촉진됩니다.

OpenSCAP 보고서

다음 보고서는 전체 OpenSCAP XCCDF 프로필 규정 준수 평가입니다.

OSImageVersion: 1.16.8-gke.6-20200424-d7e16ac3fd

참고로 규정 준수 프로필을 구현하기 전에 노드 OS를 평가하는 것은 여기에서 이용 가능합니다.

GKE OP - 규정 준수 프로필 구현 전에 평가