본문으로 건너뛰기
버전: 1.0.4

7.6. 런타임 보안

어떨 때 보는가

  • 관찰이 정상으로 돌아가고 있는지 확인할 때
  • 이벤트가 보이지 않는 이유를 찾을 때
  • 어떤 추적 정책이 걸려 있고 무엇을 잡는지 확인할 때

런타임 보안이란

컨테이너가 실행 중에 실제로 하는 일을 관찰하는 기능입니다.

정책 엔진이 배포되기 전에 자원의 설정을 검사한다면, 런타임 보안은 배포된 뒤 그 프로세스가 무엇을 실행하고 어떤 파일을 열고 어디로 접속하는지를 봅니다. 설정이 규칙에 맞아도 실행 중의 행위는 다를 수 있기 때문입니다.

각 노드에서 에이전트가 커널 수준의 동작을 관찰하고, 걸린 것을 이벤트로 남깁니다.

메뉴: 클러스터 > 런타임 보안

이 화면은 관찰이 제대로 되고 있는지와 어떤 정책이 걸려 있는지 를 보는 곳입니다. 수집된 이벤트 자체는 OPENMARU Observability 에서 봅니다.

화면 구성

위에서부터 세 부분입니다.

런타임 보안 화면
부분보는 것
런타임 보안노드마다 에이전트가 동작하고 있는지
수집 경로이벤트가 생산 · 읽기 · 전송 중 어디까지 갔는지
추적 정책적용된 정책 목록과 정책 세트 맞추기

권한이 없으면 수치 대신 안내가 나옵니다. 이 화면은 각 노드의 에이전트 지표를 직접 읽습니다. 계정에 그 조회 권한이 없으면 읽을 수 없다는 안내가 표시됩니다.

에이전트 상태

맨 위에 노드 몇 대에서 에이전트가 준비됐는지 표시됩니다. 모든 노드가 정상이면 관찰 중 으로 한 줄만 나오고, 준비되지 않은 노드가 있으면 경고가 나타납니다.

에이전트가 동작하지 않는 노드에서는 이벤트가 나오지 않습니다. 이벤트가 없다는 것이 그 노드에서 아무 일도 없었다는 뜻은 아닙니다.

이벤트가 안 보일 때 가장 먼저 확인할 곳입니다.

수집 경로

이벤트는 세 단계를 거쳐 OPENMARU Observability 에 도착합니다. 각 단계가 얼마나 처리했는지 표로 보여 줍니다.

단계하는 일
생산노드의 에이전트가 커널에서 관찰한 것을 파일에 기록합니다
읽기로그 수집기가 그 파일을 읽습니다
전송OPENMARU Observability 로 보냅니다
내용
초당 이벤트최근 처리 속도. 화면에 들어온 직후에는 측정 중… 으로 표시되며 15초 뒤부터 값이 나옵니다
누적 이벤트그 단계가 지금까지 처리한 건수
누적 데이터처리한 양
집계 기간언제부터 센 값인지. 노드마다 기동 시각이 달라 범위로 표시될 수 있습니다

누적값은 단계끼리 비교하지 마십시오. 각 단계는 자기 프로세스가 시작한 때부터 셉니다. 단계 사이를 비교할 때는 초당 이벤트 를 보십시오.

읽기와 전송의 건수 차이는 대부분 전송을 기다리는 양 이며 유실이 아닙니다. 수집기가 이벤트를 모아서 보내기 때문입니다.

COP 자체 구성요소가 있는 네임스페이스의 이벤트는 처음부터 기록하지 않습니다. 발생량의 절반 이상을 차지해 업무 애플리케이션의 행위를 가리기 때문입니다.

수집 경로에 나타나는 안내

문제가 있으면 표 위에 안내가 나타납니다.

안내조치
이벤트가 생산되는데 수집되지 않습니다에이전트는 기록하는데 수집기가 읽지 않습니다운영자에게 수집기 상태 확인을 요청합니다. 노드 로그가 이미 교체되어 빠진 이벤트는 되찾을 수 없습니다
전송이 밀리고 있습니다보내지 못한 이벤트가 쌓이고 있습니다버퍼가 차면 이벤트가 버려집니다. 전송 대상의 상태를 확인해야 합니다
이벤트가 버려졌습니다버퍼 한도를 넘겨 버려진 이벤트가 있습니다되찾을 수 없습니다. 원인 조치는 운영자에게 문의하십시오

추적 정책

클러스터에 적용된 정책 목록입니다. 클러스터 전체에 걸리는 정책과 특정 네임스페이스에만 걸리는 정책을 한 표에 함께 보여 줍니다.

내용
이름정책 이름. 누르면 상세 화면으로 이동합니다
적재정책이 실제로 올라간 노드 수 / 확인한 노드 수
범위클러스터 전체 또는 적용 대상 네임스페이스
출처선택한 정책 세트에 들어 있는 정책인지, 세트 밖에서 추가 한 것인지
차단 여부차단 동작이 있으면 그 동작 이름, 없으면 관찰만
관리 상태설치 도구가 관리 중인지, 콘솔에서 바꾼 것인지
이벤트그 정책이 만든 이벤트를 OPENMARU Observability 에서 봅니다
경과 시간정책을 만든 뒤 지난 시간

적재가 4/6 처럼 모든 노드를 채우지 못하면 강조 표시됩니다. 어느 노드에 올라가지 않았는지 함께 알려 줍니다. 정책이 올라가지 않은 노드에서는 그 정책의 이벤트가 나오지 않습니다.

차단 동작을 가진 정책이 있으면 표 위에 안내가 나타납니다. 차단 정책은 조건에 맞는 프로세스를 종료시키므로, 그대로 두기 전에 적용 범위를 확인하십시오.

정책 세트로 맞추기

표 위에서 정책 세트를 고르면 그 세트와 지금 클러스터의 차이를 보여 줍니다.

[이 세트로 맞추기] 를 누르면 무엇이 추가되고 무엇이 제거되는지 확인 창에서 먼저 보여 주고, 승인해야 실행합니다. 차이가 없으면 버튼을 누를 수 없습니다.

차이가 있다고 해서 곧 문제인 것은 아닙니다. 정책을 의도적으로 조정했을 수 있습니다.

가장 작은 세트에는 정책이 하나도 없습니다. 그 세트로 맞추면 클러스터 전체에 걸린 정책이 모두 제거됩니다.

콘솔은 제거한 정책을 다시 만들지 못할 수 있습니다. 정책 본문은 설치 도구가 올려 둔 정책 라이브러리에서 가져오므로, 라이브러리에 없는 정책을 되살리려면 설치 작업을 다시 실행해야 합니다. 이 경우 확인 창이 그 사실을 알려 줍니다.

정책 추가

[정책 추가] 는 두 가지 방법을 제공합니다.

방법설명
정책 라이브러리에서설치 도구가 올려 둔 정책 중 아직 적용하지 않은 것을 골라 추가합니다
직접 작성YAML 로 직접 만듭니다. 기본 본문이 준비되어 있습니다

두 방법 모두 콘솔이 관리하는 정책 으로 표시되어 설치 도구가 건드리지 않습니다.

관리 상태 바꾸기

관리 상태 열에서 정책을 누가 관리할지 바꿉니다.

버튼결과
콘솔에서 관리설치 도구가 이 정책을 더 이상 갱신하지 않습니다. 콘솔에서 한 변경이 유지됩니다
설치 관리로 되돌리기다음 설치 작업에서 설치 도구가 이 정책을 다시 갱신합니다. 콘솔에서 한 변경은 사라집니다

정책을 콘솔 밖에서 직접 편집하면 다음 설치 때 되돌아갑니다. 콘솔 관리 표시가 붙지 않기 때문입니다. 편집하기 전에 관리 상태를 콘솔로 바꾸십시오.

네임스페이스 범위 정책은 설치 도구가 만들지도 갱신하지도 않으므로 관리 대상 아님 으로 표시되며 이 버튼이 없습니다.

정책이 무엇을 관찰하는지 보기

정책 이름을 누르면 상세 화면에 이 정책이 관찰하는 것 이 나옵니다. 어떤 커널 동작을 잡는지 한 줄 설명과 함께, 후킹 지점 · 무엇을 잡는가 · 필터 세 칸으로 보여 줍니다.

추적 정책 상세

[셀렉터 n개] 를 누르면 조건을 자세히 볼 수 있습니다. 조건 세트가 여럿이면 그중 하나만 맞아도 걸리고, 한 세트 안의 조건은 모두 맞아야 걸립니다.

조건이 없는 후킹 지점은 해당 커널 동작의 모든 호출을 잡습니다. 이벤트가 많이 발생할 수 있으며, 화면에서도 그렇게 안내합니다.

이벤트 보기

이 화면은 정책과 수집 상태만 보여 주고, 수집된 이벤트는 OPENMARU Observability 의 런타임 보안 화면에서 봅니다.

누르는 곳이동 결과
정책 행의 이벤트 아이콘그 정책이 만든 이벤트만 걸러서 표시합니다
차단 안내의 무엇이 차단됐는지 보기실제로 차단된 이벤트만 표시합니다

새 탭으로 열립니다. OPENMARU Observability 를 설치하지 않았다면 이 링크는 표시되지 않습니다.

설치되지 않았을 때

런타임 보안은 선택 설치입니다. 설치하지 않은 클러스터에서는 켜는 방법을 안내하는 화면이 나옵니다. 설치는 운영자가 합니다.

자주 하는 일

하려는 것방법
관찰이 정상인지 확인맨 위에서 에이전트 준비 상태를, 수집 경로에서 초당 이벤트를 봅니다
이벤트가 안 보이는 이유 찾기에이전트 준비 상태 → 정책의 적재 열 → 수집 경로의 안내 순으로 확인합니다
관찰 범위 넓히기더 큰 정책 세트로 맞추거나 정책 라이브러리에서 추가합니다
특정 정책의 이벤트만 보기그 정책 행의 이벤트 아이콘을 누릅니다
정책을 콘솔에서 고치기관리 상태를 콘솔에서 관리 로 바꾼 뒤 편집합니다
차단 중인 정책 확인표의 차단 여부 열에서 관찰만 이 아닌 행을 봅니다