dmesg에서 쓸모없는 "감사 성공"로그 항목을 비활성화하는 방법


11

짧은 버전 : Fedora 시스템에서 감사 메시지 (dmesg)를 비활성화하는 방법은 무엇입니까?


Fedora 시스템은 dmesg에 "audit : success"메시지를 계속 기록합니다. dmesg는이 메시지로 가득 차 있기 때문에 사용할 수 없게됩니다 ( dmesg | grep -v audit비어 있음). 이 메시지는 사용자에게 일상적인 일부 내부 프로세스가 성공했음을 분명히 알리고 싶기 때문에 완전히 쓸모가 없습니다 (무언가 디버깅 할 때 관심이있을 수 있지만이 경우 소음 일뿐입니다).

이러한 감사 메시지가 항상 어수선 해져서 명령 행 인터페이스 ( Ctrl+ Alt+ 가 아닌 비 X tty로 전환 할 때도 F2)를 사용할 수 없게되었지만 실제로는 사용자가 실행하는 명령의 출력을 읽을 수 없습니다. 예를 들어, 사용자 이름 (로그인)을 입력하면 감사 메시지가 출력됩니다 (물론 사용자에게 무언가가 성공적으로 형식화 / 인쇄되었음을 알려줍니다) :

감사 : type = 1131 audit (1446913801.945 : 10129) : pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd"exe = "/ usr / lib / systemd / systemd"hostname =? addr =? 터미널 =? 입술 = 성공

이러한 메시지의 대부분은 "성공"으로 표시되지만이 키워드를 포함하지 않는 많은 감사 메시지도 있습니다. Chromium을 실행하면 다음과 같은 수백 가지가 트리거됩니다.

감사 : type = 1326 audit (1446932349.568 : 10307) : auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = "chrome"exe = "/ usr / lib64 / chromium / chrome"sig = 0 arch = c000003e syscall = 273 compat = 0 ip = 0x7f9a1d0a34f4 코드 = 0x50000

다른 메시지는 다음과 같습니다.

감사 : type = 1131 audit (1446934361.948 : 10327) : pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd"exe = "/ usr / lib / systemd / systemd"호스트 이름 =? addr =? 터미널 =? 입술 = 성공

감사 : type = 1103 audit (1446926401.821 : 10253) : pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM : setcred grantors = p am_env, pam_unix acct = "user"exe = "/ usr / sbin / crond "hostname =? addr =? 터미널 = 크론 해상도 = 성공

일반적으로 최근의 감사 메시지 대부분 (작성 시점)에는 키워드 " NetworkManager "또는 " chrome "이 포함됩니다.

이러한 메시지를 어떻게 완전히 비활성화 할 수 있습니까?


추가 사항 :

  • "이러한 감사 메시지를 읽고 분석해야하며 비활성화하지 않아야하며 중요 할 수 있습니다"라고 생각하는 사람은 중요하지 않으며 거의 ​​독점적으로 "성공"메시지입니다. 실제로 작동해야하는 것이 실제로 작동했다는 말을 할 필요가 없습니다. 그러나 실제로 중요한 메시지 중 하나가 기록 된 경우 수천 개의 중요하지 않은 메시지가 쏟아져 나올 때는 결코 눈에 띄지 않을 것입니다. 어쨌든이 특정 시스템에서는 감사 로깅이 필요하지 않습니다 (어쨌든 제어 된 환경에서 실행 중임).
  • 분명히이 시스템에서 무언가를 잘못 구성해야합니다. 그러나 새 릴리스가 나올 때마다 업그레이드 된 기본 Fedora 설치였습니다. 어쩌면 변경해야 할 단순한 설정 일 수도 있지만 의도적으로 시스템 구성을 수동으로 변경하지 않았 으므로이 stackexchange.com 질문은 동일한 상태에서 시스템을 사용하는 다른 사람들에게 도움이되기를 바랍니다.
  • 이제 Linux 4.0.6 (시스템 219)을 실행하는 Fedora 22 시스템입니다.
  • 현재 KDE를 실행하는 표준 Fedora 데스크탑 설치입니다.
  • SELinux가 비활성화되었습니다 (/ etc / selinux / config가 "disabled"로 설정 됨).

업데이트 : Fedora 23 (커널 4.2.5, systemd 222)으로 업그레이드 한 후, 감사 메시지가 이전보다 적습니다.


볼 수있는 로그에 감사 메시지 작성을 비활성화하는 감사를 비활성화하는 대신 audit2allow콘솔에 커널 메시지를 인쇄하는 것과 관련된 kernel.printk 값을 수정하는 것을 고려 했습니까? Fedora의 기본 설정은 "7 4 1 7"이며 더 합리적인 값은 "3 4 1 7"입니다.
Bob

답변:


12

첫째, 페도라에서 auditd와 auditctl은 동일한 패키지 (분명하게 감사)에서 나옵니다. 따라서 auditctl이 없으면 다른 것이 잘못되었습니다. 이 시도:

rpm -ql audit |grep ctl

그래도 아무것도 제공되지 않으면 감사 패키지가 전혀 설치되지 않은 것입니다.

두 번째로 언급 한 grub.cfg 파일의 첫 번째 "인간"언어 줄에 내 시스템에서 "편집하지 마십시오"라고 표시됩니다. 이것은 파일에 대한 수동 변경 사항이 유실 될 수 있다는 단서입니다.

fedora / redhat 시스템에서 grub 설정을 편집 할 수있는 올바른 위치는 변경하지 않아도되도록 특별히 제안한 파일입니다 (/ etc / default / grub). 실제로 이것은 제안 된 변경을 수행하고 커널 업그레이드 후에도 유지되는 유일한 "안전한"방법입니다. 커널 업그레이드 중에 소스 구성의 일부로 사용되어 작동하는 grub.cfg를 재생성하기 때문입니다. grub2-mkconfig 명령을 찾으십시오 (그리고 친구입니다). 자세한 내용은 https://fedoraproject.org/wiki/GRUB_2입니다.

당신의 대답은 틀리지 않지만 조금 혼란 스럽습니다. 나는 grub 명령 줄을 싫어하고, 커널 명령 줄에 공백 문자를 추가하는 것을 놓칠 가능성이있는 사람은 IMHO가 그 길을 이끈 것에 대해 감사하지 않을 것입니다. 아직도, 어떤 사람들은 내가 아는 어려운 방식을 배우기를 좋아합니다.

아래의 모든 명령은 루트로 실행해야합니다 (그 자체로 제안하는 것은 위험합니다).

실행중인 시스템의 경우 :

auditctl -e 0

auditctl을 찾을 수 없으면 PATH를 확인하고 다음 사항도 고려하십시오.

dnf install audit

재부팅 할 수있을 때까지 메시지를 비활성화하지 않으면 최소한 줄여야합니다.

재부팅 이외의 상태로 유지하려면 / etc / default / grub을 편집하고 GRUB_CMDLINE_LINUX 줄을 변경하여 끝에 "audit = 0"을 추가 한 다음 grub2-mkconfig를 사용하여 grub.cfg를 다시 생성하십시오. 이 마지막 단계는 또한 변경 사항과 실행중인 시스템 사이에 유효성 검사 계층을 제공합니다.


지적에 감사 /etc/default/grub하고 grub2-mkconfig사용해야합니다. 내 답변에 수정 사항을 추가했습니다.
basic6

6

다음과 같이 신속하게 감사를 일시적으로 비활성화 할 수 있습니다

sudo auditctl -e 0

와 함께 모든 규칙을 일시적으로 제거하십시오.

sudo auditctl -D

향후 부츠의 경우 다음과 같이 시작을 비활성화 할 수 있습니다

 sudo systemctl disable auditd

3

시스템이 실행되는 동안 비활성화 될 수있는 감사 서비스는 없지만 부팅 옵션을 추가하면 audit=0이러한 메시지가 모두 비활성화되는 것으로 보입니다. X를 실행하지 않고 명령 행에서도 시스템을 다시 사용할 수 있습니다.

이 옵션은 일시적으로 설정할 수 있습니다 (재부팅 후에도 변경 사항이 적용되지 않음).

  1. (오른쪽의 전원을 켠 후에) GRUB 부트 메뉴가 나타납니다이 명중 할 때 e까지 전자 DIT 부트 매개 변수를 설정합니다. 큰 텍스트 상자가 표시됩니다.
  2. "linux"로 시작하는 줄로 스크롤하십시오. 히트 End라인의 끝으로 커서를 이동 키를 누릅니다.
  3. 마지막 옵션을 어 기지 않도록 공백 문자를 입력 한 다음을 추가하십시오 audit=0. 예를 들어 ... LANG=en_US.UTF-8 audit=0( ...UTF-8audit=0확실히 아닙니다 ).
  4. 다른 것을 변경하지 않도록주의하십시오. 실수로 다른 옵션을 수정 한 경우 수정하거나 재부팅 한 후 다시 시작하십시오.
  5. F10시스템을 부팅하려면 누르십시오 .

물론이 변경 사항은 시스템이 실행되는 동안에 만 적용됩니다. 재부팅 후 감사 서비스 장애가 다시 발생합니다. 이 변경 사항을 영구적으로 만들려면 부팅 구성을 영구적으로 변경해야합니다. Fedora에서는 /boot/grub2/grub.cfg새 커널이 설치 될 때 (시스템 업데이트) 최신 커널 옵션을 새로 설치된 커널에 복사해야하므로 간단하게 수정 하면됩니다. 즉, 이 파일 audit=0의 첫 번째 linux행 (첫 번째 menuentry섹션)에 추가되어야 합니다. 변경할 필요는 없습니다/etc/default/grub .
수정 : 실제로, 가장 정확하고 신뢰할 수있는 방법은을 /etc/default/grub사용하여 Grub 구성 을 편집 하고 재생성하는 입니다. KnightLordAndMaster가이를 지적 해grub2-mkconfig -o /boot/grub2/grub.cfg 주셔서 감사 합니다 .


로그 파일의 감사 로그에 대한 추가 참고 사항 :

참고로, 다음 줄은 감사 로그가 로그 파일로 끝나는 것을 방지해야하지만 여전히 dmesg와 콘솔을 복잡하게 만들므로 자체 솔루션은 아닙니다. 이 줄은 첫 번째 규칙으로 /etc/rsyslog.conf다음 과 같습니다.

...
#### RULES ####

# no audit
:programname, isequal, "audit" ~

...

이제 다음과 같은 경고가 발생합니다.

 rsyslogd[xxxx]: warning: ~ action is deprecated, consider using the 'stop' statement instead [v8.35.0 try http://www.rsyslog.com/e/2307]

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.