Làm thế nào để vô hiệu hóa thành công kiểm toán vô dụng trên các mục nhập nhật ký trong dmesg


11

Phiên bản ngắn: Làm cách nào để tắt thông báo kiểm toán (dmesg) trên hệ thống Fedora?


Một hệ thống Fedora tiếp tục ghi nhật ký các thông báo "kiểm toán: thành công" trong dmesg - theo cách cực đoan đến mức dmesg trở nên không sử dụng được vì nó được lấp đầy bởi các tin nhắn này ( dmesg | grep -v audittrống). Các tin nhắn này hoàn toàn vô dụng vì rõ ràng chúng muốn thông báo cho người dùng rằng một số quy trình nội bộ hàng ngày đã thành công (có thể được quan tâm khi gỡ lỗi một cái gì đó, nhưng nó chỉ là tiếng ồn trong trường hợp này).

Ngay cả giao diện dòng lệnh (khi chuyển sang tty không X với Ctrl+ Alt+ F2) cũng trở nên không sử dụng được vì nó luôn bị lộn xộn với các thông báo kiểm toán này, không thể đọc đầu ra của các lệnh thực sự được chạy bởi người dùng. Ví dụ: sau khi nhập tên người dùng (đăng nhập), một thông báo kiểm toán được phun ra (dường như nói với người dùng rằng một cái gì đó đã được định dạng / in thành công):

Audit thêm =? thiết bị đầu cuối =? res = thành công '

Dường như hầu hết các thông báo này cho biết "thành công", tuy nhiên cũng có nhiều thông báo kiểm toán không chứa từ khóa này. Chạy Chromium kích hoạt hàng trăm trong số này:

kiểm toán: loại = 1326 kiểm toán (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 mã = ​​0x50000

Các tin nhắn khác bao gồm:

Kiểm toán: loại = 1131 kiểm toán (1446934361.948: 10327): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 dir = 'unit = NetworkManager-distatcher comm = "systemd" exe = "/ usr / lib / systemd =? thêm =? thiết bị đầu cuối =? res = thành công '

Audit: type = 1103 audi / crond "tên máy chủ =? thêm =? thiết bị đầu cuối = cron res = thành công '

Nói chung, phần lớn các thông báo kiểm toán gần đây (tại thời điểm viết) có chứa từ khóa " NetworkManager " hoặc " chrome ".

Làm thế nào những tin nhắn này có thể bị vô hiệu hóa hoàn toàn?


Điểm bổ sung:

  • Trong trường hợp bất kỳ ai cũng có thể nghĩ rằng "bạn nên đọc và phân tích các thông điệp kiểm toán này, không vô hiệu hóa chúng, chúng có thể quan trọng", không, chúng không quan trọng, chúng gần như chỉ là những thông điệp "thành công". Không ai cần phải nói rằng một cái gì đó được cho là làm việc trong thực tế hoạt động. Tuy nhiên, nếu một tin nhắn thực sự quan trọng được ghi lại, nó sẽ không bao giờ được chú ý trong cơn bão hàng ngàn tin nhắn không đáng kể. Trong mọi trường hợp, không muốn ghi nhật ký kiểm toán trên hệ thống cụ thể này (dù sao nó cũng chạy trong môi trường được kiểm soát).
  • Rõ ràng, một cái gì đó phải được cấu hình rất sai trên hệ thống này. Tuy nhiên, nó đã từng là một bản cài đặt Fedora mặc định đã được nâng cấp mỗi khi bản phát hành mới ra mắt. Có thể đó chỉ là một cài đặt đơn giản phải thay đổi, nhưng vì nó không xảy ra thay đổi cấu hình hệ thống theo cách thủ công (mục đích), câu hỏi stackexchange.com này hy vọng sẽ giúp những người khác có được hệ thống của họ ở trạng thái tương tự.
  • Giờ đây nó là một hệ thống Fedora 22, chạy Linux 4.0.6 (systemd 219).
  • Đây là bản cài đặt máy tính để bàn Fedora tiêu chuẩn, hiện đang chạy KDE.
  • SELinux bị tắt (/ etc / selinux / config được đặt thành "bị vô hiệu hóa").

Cập nhật : Sau khi nâng cấp lên Fedora 23 (kernel 4.2.5, systemd 222), có ít thông báo kiểm toán hơn trước.


Thay vì vô hiệu hóa kiểm toán, điều này vô hiệu hóa việc viết thông điệp kiểm toán vào nhật ký mà bạn có thể xem audit2allow, bạn đã xem xét việc sửa đổi giá trị kernel.printk có liên quan đến việc in thông điệp kernel vào bảng điều khiển chưa? Trên Fedora theo mặc định là "7 4 1 7", giá trị hợp lý hơn là "3 4 1 7".
Bob

Câu trả lời:


12

Thứ nhất, trên fedora, cả audd và audctl đều đến từ cùng một gói (kiểm toán được đặt tên không chính xác). Vì vậy, nếu bạn không có audctl, một cái gì đó khác là sai. Thử đi:

rpm -ql audit |grep ctl

Nếu điều đó không mang lại cho bạn điều gì, thì bạn hoàn toàn không cài đặt gói kiểm toán.

Thứ hai, dòng ngôn ngữ "con người" đầu tiên trong tệp grub.cfg mà bạn đề cập có nội dung "KHÔNG EDIT" trên hệ thống của tôi. Đây là manh mối cho thấy mọi thay đổi thủ công đối với tệp có thể bị mất.

Vị trí chính xác để chỉnh sửa cấu hình grub trên hệ thống fedora / redhat là một tệp bạn đề nghị cụ thể là không cần thiết phải thay đổi (/ etc / default / grub). Trong thực tế, đây là cách "an toàn" duy nhất để thực hiện thay đổi được đề xuất và tồn tại nâng cấp kernel. Điều này là do nó được sử dụng như một phần của cấu hình nguồn trong quá trình nâng cấp kernel, để tạo lại một grub.cfg đang hoạt động. Tra cứu lệnh grub2-mkconfig (và đó là bạn bè). Chi tiết tại đây: https://fedoraproject.org/wiki/GRUB_2

Câu trả lời của bạn không sai, nhưng tôi thấy nó hơi khó hiểu. Tôi ghét dòng lệnh grub và IMHO bất cứ ai có khả năng bỏ lỡ việc thêm char khoảng trắng trên dòng lệnh kernel có thể sẽ không cảm ơn bất kỳ ai vì đã dẫn xuống con đường đó. Tuy nhiên, một số người thích học theo cách khó mà tôi biết.

Tất cả các lệnh dưới đây cần phải được chạy dưới quyền root (chính nó là một điều nguy hiểm cần đề xuất).

Đối với một hệ thống đang chạy:

auditctl -e 0

Nếu bạn không thể tìm thấy audctl, hãy kiểm tra PATH của bạn và cũng xem xét:

dnf install audit

Điều này ít nhất nên giảm nếu không vô hiệu hóa các tin nhắn cho đến khi bạn có thể khởi động lại.

Để tiếp tục vượt quá khởi động lại, hãy chỉnh sửa / etc / default / grub và thay đổi dòng GRUB_CMDLINE_LINUX để thêm "aud = 0" vào cuối, sau đó sử dụng grub2-mkconfig để tạo lại grub.cfg. Bước cuối cùng này cũng đặt một lớp xác nhận giữa thay đổi của bạn và hệ thống đang chạy.


Cảm ơn đã chỉ ra rằng /etc/default/grubgrub2-mkconfignên được sử dụng. Tôi đã thêm một điều chỉnh cho câu trả lời của tôi.
bản6

6

Bạn có thể nhanh chóng vô hiệu hóa kiểm toán tạm thời với

sudo auditctl -e 0

và tạm thời xóa tất cả các quy tắc với

sudo auditctl -D

Đối với những đôi giày trong tương lai, bạn có thể thử vô hiệu hóa nó bắt đầu với

 sudo systemctl disable auditd

3

Không có dịch vụ kiểm toán nào có thể bị vô hiệu hóa trong khi hệ thống đang chạy, nhưng hóa ra việc thêm tùy chọn khởi động audit=0dường như vô hiệu hóa tất cả các thông báo này. Hệ thống có thể sử dụng lại được, ngay cả trên dòng lệnh mà không chạy X.

Tùy chọn này có thể được đặt tạm thời (thay đổi sẽ không tồn tại khi khởi động lại):

  1. Khi Grub xuất hiện menu boot (ngay sau khi ngắt dòng điện trên), nhấn eđể e dit các thông số khởi động. Điều này sẽ hiển thị một hộp văn bản lớn.
  2. Cuộn xuống dòng bắt đầu bằng "linux". Nhấn Endphím để di chuyển con trỏ đến cuối dòng.
  3. Nhập một ký tự khoảng trắng để bạn không phá vỡ tùy chọn cuối cùng, sau đó nối thêm audit=0. Ví dụ ... LANG=en_US.UTF-8 audit=0(không ...UTF-8audit=0, rõ ràng).
  4. Hãy cẩn thận để không thay đổi bất cứ điều gì khác. Nếu bạn vô tình sửa đổi một số tùy chọn khác, hãy sửa nó hoặc khởi động lại và bắt đầu lại.
  5. Nhấn F10để khởi động hệ thống.

Tất nhiên, thay đổi này sẽ chỉ có hiệu lực trong khi hệ thống đang chạy. Lũ kiểm toán sẽ quay trở lại sau khi khởi động lại. Để thay đổi này vĩnh viễn, cấu hình khởi động phải được thay đổi vĩnh viễn. Trên Fedora, chỉ cần sửa đổi là đủ /boot/grub2/grub.cfgvì khi cài đặt kernel mới (cập nhật hệ thống), grubby sẽ sao chép các tùy chọn của kernel mới nhất vào kernel mới được cài đặt. Điều này có nghĩa, audit=0phải được thêm vào linuxdòng đầu tiên ( menuentryphần đầu tiên ) trong tệp này. Không cần thiết phải thay đổi/etc/default/grub .
Khắc phục: Trên thực tế, cách tiếp cận chính xác và đáng tin cậy nhất là chỉnh sửa /etc/default/grubvà tạo lại cấu hình Grub bằng cách sử dụng grub2-mkconfig -o /boot/grub2/grub.cfg, cảm ơn KnightLordAndMaster đã chỉ ra điều này .


Lưu ý bổ sung về nhật ký kiểm toán trong tệp nhật ký:

Là một lưu ý phụ, dòng sau đây sẽ ngăn các bản ghi kiểm toán kết thúc trong các tệp nhật ký, nhưng chúng vẫn làm lộn xộn dmesg và bảng điều khiển, vì vậy bản thân nó không phải là một giải pháp. Dòng này sẽ được đặt làm quy tắc đầu tiên trong /etc/rsyslog.conf:

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

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

...

Điều này bây giờ dẫn đến cảnh báo sau:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.