Linux 감사 레코드 필드 이름이 고유한지 확인할 수 있습니까?

Linux 감사 레코드 필드 이름이 고유한지 확인할 수 있습니까?

Linux 감사 형식으로 파서/변환기를 만들고 있습니다. 형식을 조사하고, 예제를 살펴보고, 문서를 읽으면서 문제를 발견했습니다.


단일 레코드의 필드 이름이 다음과 같은지 확인할 수 있습니다.고유한?

예를 들어, 실제 구현에서 이러한 기록이 합법적이거나 발생합니까?

type=TYPE msg=audit(1.002:3): msg="the first msg field" msg="the second msg field"

두 번째 관련 질문은 pid이벤트에 하나만 가질 수 있습니까? 입니다. 예를 들어, 이 이벤트는 실제 구현에서 합법적이거나 발생합니까?

type=TYPE1 msg=audit(1.002:3): pid=0 msg="texthere"
type=TYPE2 msg=audit(1.002:3): pid=0 msg="differenttexthere"

답변1

공식 메일링 리스트에 있는 Steve Grubb의 답변에 따르면(이메일 링크):

스티브의 대답:

레코드에 중복된 필드가 있을 수 있습니까?

때때로. 이런 일이 발생하면 이러한 문제를 해결하려고 노력했습니다. 문제는 모든 사람이 이 메일링 리스트를 통해 감사 코드를 실행하여 형식이 올바른지 확인할 수 없다는 것입니다. 내가 할 계획은 이벤트가 올바른 형식으로 구성되었는지, 예상 이벤트가 예상 시간과 예상 순서대로 기록되었는지 확인하는 감사 이벤트 확인 제품군을 작성하는 것입니다. 이러한 이벤트를 정리하는 것이 내 할 일 목록의 맨 위에 있습니다.

다음과 같은 것(분명히 의미가 없습니다):

    type=CWD msg=audit(1464013682.961:409):  cwd="/root” cwd=“/usr”

이와 같은 일은 발생하지 않으며 auid 및 uid 주변에서 발생할 가능성이 더 높습니다. 그 이유는 신뢰할 수 있는 정보 소스이기 때문에 커널이 자동으로 무언가를 추가하기 때문입니다. 사용자 공간은 모순되는 정보를 쓸 수 있습니다. 예를 들어 데몬이 사용자를 대신하여 작동하지만 해당 사용자에 대해 해당 auid가 설정되지 않은 경우 이 메시지가 표시될 수 있습니다.

너무 길어요.

이는 가능하지만 흔하지 않으며 권장되지 않습니다.

관련 정보