짧은 버전: Fedora 시스템에서 감사 메시지(dmesg)를 비활성화하는 방법은 무엇입니까?
Fedora 시스템은 dmesg에 "audit: Success" 메시지를 계속 기록합니다. 극단적인 방법으로 dmesg가 이러한 메시지로 채워져( dmesg | grep -v audit
비워져) 사용할 수 없게 됩니다. 이러한 메시지는 분명히 사용자에게 일상적인 내부 프로세스가 성공했음을 알리고 싶기 때문에 전혀 쓸모가 없습니다(무언가를 디버깅할 때 흥미로울 수 있지만 이 경우에는 소음일 뿐입니다).
Ctrl명령줄 인터페이스(++를 사용하여 AltX가 아닌 tty로 전환하는 경우 F2)도 항상 이러한 감사 메시지로 가득 차 있고 사용자가 실제로 실행한 명령의 출력을 읽을 수 없기 때문에 사용할 수 없게 됩니다. 예를 들어, 사용자 이름(로그인)을 입력한 후 감사 메시지가 출력됩니다(분명히 사용자에게 무언가가 성공적으로 포맷/인쇄되었음을 알리는 것임).
감사: 유형=1131 감사(1446913801.945:10129): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd" 호스트 이름= ? 주소=? 터미널=? 자원=성공'
이러한 메시지의 대부분은 "성공"을 의미하는 것으로 보이지만 이 키워드가 포함되지 않은 감사 메시지도 많이 있습니다. Chromium을 실행하면 다음과 같은 수백 가지 이벤트가 트리거됩니다.
감사: 유형=1326 감사(1446932349.568:10307): auid=500 uid=500 gid=500 ses=2 pid=1593 comm=1593 comm="chrome" exe="/usr/lib64/chromium/chrome" sig=0 아치 = c000003e 시스템 호출 = 273 호환 = 0 ip = 0x7f9a1d0a34f4 코드 = 0x50000
기타 뉴스는 다음과 같습니다.
감사: 유형=1131 감사(1446934361.948:10327): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" 호스트 이름=? 주소=? 터미널=? 자원=성공'
감사: 유형=1103 감사(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" 호스트 이름=?주소=? 터미널=크론 res=성공'
일반적으로 가장 최근의 감사 메시지(작성 당시)에는 "네트워크 관리자" 또는"크롬 합금".
이 메시지를 완전히 비활성화하려면 어떻게 해야 합니까?
추가 포인트:
- "이러한 감사 메시지를 비활성화하는 대신 읽고 분석해야 한다"고 생각하는 사람이 있다면 중요할 수도 있습니다. 아니요, 그렇지 않습니다. 거의 전적으로 "성공" 메시지입니다. 작동할 것으로 예상되는 일이 실제로 작동한다는 말을 누구도 들을 필요가 없습니다. 그러나 정말 중요한 메시지를 녹음했다면 관련 없는 수천 개의 메시지 폭풍 속에서도 결코 눈에 띄지 않을 것입니다. 그럼에도 불구하고 이 특정 시스템에는 감사 로깅이 필요하지 않습니다(어쨌든 통제된 환경에서 실행 중임).
- 분명히 이 시스템의 구성에 심각한 문제가 있는 것 같습니다. 그러나 이는 Fedora의 기본 설치였으며 새 버전이 출시될 때마다 업그레이드되었습니다. 어쩌면 변경해야 할 단순한 설정일 수도 있지만 시스템 구성을 수동으로 변경한 것은 의도적으로 이루어지지 않았으므로 stackexchange.com의 질문은 시스템을 동일한 상태로 유지하는 다른 사람들에게 도움이 되기를 바랍니다.
- 이제 Linux 4.0.6(systemd 219)을 실행하는 Fedora 22 시스템입니다.
- 이는 현재 KDE를 실행하는 표준 Fedora 데스크탑 설치입니다.
- SELinux가 비활성화되었습니다(/etc/selinux/config가 "disabled"로 설정됨).
고쳐 쓰다: Fedora 23(커널 4.2.5, systemd 222)으로 업그레이드한 후 이전보다 감사 메시지가 줄어듭니다.
답변1
첫째, Fedora에서는 auditd와 auditctl이 모두 동일한 패키지(간단히 audit이라는 이름)에서 나옵니다. 따라서 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 명령줄을 싫어하며 커널 명령줄에 공백 문자를 추가하는 것을 놓친 사람은 아마도 그 경로를 따르는 사람을 좋아하지 않을 것입니다. 그럼에도 불구하고 어떤 사람들은 어려운 방법으로 배우기를 좋아합니다. 저는 그것을 알고 있습니다.
아래의 모든 명령은 루트로 실행해야 합니다(이는 그 자체로 위험합니다).
실행 중인 시스템의 경우:
auditctl -e 0
auditctl을 찾을 수 없으면 경로를 확인하고 다음을 고려하십시오.
dnf install audit
비활성화하지 않더라도 재부팅할 수 있을 때까지 메시지가 최소한 줄어들어야 합니다.
재부팅 후에도 살아남으려면 /etc/default/grub을 편집하고 GRUB_CMDLINE_LINUX 행을 변경하여 끝에 "audit=0"을 추가한 다음 grub2-mkconfig를 사용하여 grub.cfg를 재생성하십시오. 마지막 단계에서는 변경 사항과 실행 중인 시스템 간의 확인 계층도 설정합니다.
답변2
다음 명령을 사용하여 감사를 빠르고 일시적으로 비활성화할 수 있습니다.
sudo auditctl -e 0
모든 규칙을 일시적으로 삭제합니다.
sudo auditctl -D
향후 부팅의 경우 시작을 비활성화해 볼 수 있습니다.
sudo systemctl disable auditd
답변3
시스템이 실행되는 동안 비활성화할 수 있는 auditd 서비스는 없지만 시작 옵션을 추가하면 audit=0
이러한 메시지가 모두 비활성화되는 것으로 나타났습니다. X를 실행하지 않고도 명령줄에서 시스템을 다시 사용할 수 있습니다.
이 옵션은 일시적으로 설정할 수 있습니다(재부팅 후에 변경 사항이 유지되지 않음).
- eGrub 부팅 메뉴 가 나타나면(전원을 켠 후)이자형시작 매개변수를 수정합니다. 그러면 거대한 텍스트 상자가 표시됩니다.
- "linux"로 시작하는 줄까지 아래로 스크롤합니다. End키를 누르면 커서가 줄의 끝으로 이동됩니다.
- 마지막 옵션이 깨지지 않도록 공백 문자를 입력한 후 를 추가하세요
audit=0
. 예를 들어... LANG=en_US.UTF-8 audit=0
(...UTF-8audit=0
분명히 그렇지 않습니다). - 다른 내용을 변경하지 않도록 주의하세요. 실수로 다른 옵션을 수정한 경우 수정하거나 재부팅하고 다시 시작하세요.
- F10시스템을 시작 하려면 클릭하세요 .
물론 이 변경 사항은 시스템이 실행되는 동안에만 적용됩니다. 다시 시작하면 리뷰 플러드가 다시 나타납니다. 이 변경 사항을 영구적으로 적용하려면 시작 구성을 영구적으로 변경해야 합니다. Fedora에서는 간단한 수정만으로 충분합니다. /boot/grub2/grub.cfg
새 커널이 설치되면(시스템 업데이트) grubby가 최신 커널의 옵션을 새로 설치된 커널에 복사해야 하기 때문입니다. 이는 audit=0
파일의 첫 번째 linux
줄(첫 번째 부분) 에 추가되어야 함 을 의미합니다 . 변경할 필요가 없습니다 . 수정: 실제로 정확하고 가장 안정적인 방법은 Grub 구성을 편집하고 재생성하는 것입니다. 감사합니다.menuentry
/etc/default/grub
/etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
KnightLordAndMaster가 이것을 지적했습니다..
로그 파일의 감사 로그에 대한 추가 참고사항:
참고로, 다음 줄은 감사 로그가 로그 파일에 포함되는 것을 방지해야 하지만 여전히 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]