설명
파일 기반 감사 로그를 사용하는 경우 --audit-log-path로 출력 경로를 지정해야 합니다. 웹훅으로 감사 이벤트를 전송하는 구성도 있으므로 파일 경로가 없다는 이유만으로 기록이 전혀 없다고 단정할 수는 없습니다. 유효한 출력 경로가 없으면 누가 어떤 API 요청을 수행했는지 추적하기 어려워집니다.
감사 로그는 사고 대응과 운영 감사의 기본 자료입니다. 경로만 정하는 것으로 끝내지 말고 실제로 수집과 보존이 되는지도 함께 확인해야 합니다.
잠재적 영향
- 보안 사고 발생 시 API 호출 이력을 충분히 확인하지 못할 수 있습니다.
- 권한 오남용이나 설정 변경의 원인을 추적하기 어려워질 수 있습니다.
- 감사 및 운영 기록 요구사항을 충족하지 못할 수 있습니다.
해결 방법
- 파일로 기록할 때는
--audit-log-path와 쓰기 가능한 지속성 저장 위치를 구성하세요. 웹훅을 사용하면 실제 수신과 보존을 확인하세요. - 로그 파일이 수집, 보존, 모니터링 대상에 포함되는지 확인하세요.
- 감사 정책과 출력 설정을 함께 검토하고 시험 요청이 실제 기록되는지 확인하세요.
예시
기존 로그 경로 인자 비교 예제입니다. 오래된 이미지는 실제 클러스터 버전에 맞추고, 현재 버전에 필요한 감사 정책과 로그 저장 볼륨을 별도로 구성하세요.
변경 전
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: gcr.io/google_containers/kube-apiserver-amd64:v1.6.0
command: ["kube-apiserver"]
args: [""]
변경 후
yaml
apiVersion: v1
kind: Pod
metadata:
name: command-demo
spec:
containers:
- name: command-demo-container
image: gcr.io/google_containers/kube-apiserver-amd64:v1.6.0
command: ["kube-apiserver"]
args: ["--audit-log-path=path/to/log"]
설명:
- 변경 전: 파일 출력 경로가 없습니다. 웹훅 등 다른 감사 출력 설정도 확인해야 합니다.
- 변경 후: 파일 출력 경로를 지정합니다. 유효한 감사 정책, 쓰기 권한과 보존 설정을 갖춰야 기록을 남길 수 있습니다.