Điểm:2

Tôi có thể ngăn người dùng không phải root sử dụng trình ghi nhật ký để tạo các mục nhập giả mạo (ví dụ: sshd) trong nhật ký hệ thống không?

lá cờ eg

tôi mới chơi với logger một người dùng không phải root, nhưng có vẻ như mọi người đều có thể tạo các mục nhập giả mạo trong nhật ký hệ thống bằng cách sử dụng tham số "-t".

Đây có phải là dự kiến ​​để làm việc theo cách này? Tôi có thể làm ngập nhật ký hoặc ẩn một số hành động bên dưới một loạt các mục nhập giả mạo khác nhau - không tốt về mặt bảo mật hệ thống.

Tôi có thể ngăn chặn nó? => logger là một phần của gói util-linux-systemd (util-linux trước đó) và không thể gỡ cài đặt dễ dàng, thứ hai, nó có thể thực thi được cho mọi người trên máy theo mặc định.

Hệ thống đã sử dụng: SuSE Linux khác nhau (SLE 10, 11, 15)

dòng lệnh:

chỉ một sự giả mạo)"
justin@garfield:~ > su -l
Mật khẩu:
root@garfield:~ > tail -n 2 /var/log/messages
Ngày 27 tháng 10 13:35:45 garfield sshd[986]: Đã chấp nhận khóa công khai từ 127.0.0.19.8 cổng 65537 sha2: RSA 2e:45:25:54:6o:34:3a:z3:55:07:04 (chỉ là một giả mạo)
Ngày 27 tháng 10 13:36:21 garfield su: (root) justin trên /dev/pts/0

Lưu ý: Tôi chỉ sử dụng các giá trị không thể (IP, khóa công khai) để làm rõ mục nhập giả mạo.

Điểm:0
lá cờ in

Tôi nghĩ rằng nó sẽ hoạt động theo cách này, đôi khi việc đăng thông báo nhật ký từ một tập lệnh khá hữu ích. Nó chắc chắn không dành cho người dùng làm ô nhiễm nhật ký hệ thống. Theo tôi, giải pháp là có một hệ thống ghi nhật ký được định cấu hình tốt, hệ thống này sẽ ngăn người dùng làm ô nhiễm nhật ký hoặc giả mạo thông báo hệ thống, cho phép bạn xác định những người dùng có thói quen làm như vậy.

tôi sử dụng rsyslogd, vì vậy tôi đang sử dụng nó để làm ví dụ.

Trước hết, bạn cần cấu hình rsyslogd để lưu trữ các biến nhất định từ ổ cắm mà nó mở ra:

mô-đun (tải = "imuxsock"
    SysSock.Annotate="on"
    SysSock.ParseTrusted="on"
)

Với điều này, bạn có thể truy cập các biến sau:

  • pid: PID của quá trình ghi nhật ký.
  • uidgid: UID và GID mà quá trình ghi nhật ký chạy dưới dạng.
  • tên ứng dụng: tên của quá trình ghi nhật ký
  • cmd: dòng lệnh đầy đủ của quá trình ghi nhật ký

Trong trường hợp tiều phu, pid sẽ là PID của systemd-journald, và tên ứng dụng sẽ luôn là systemd-tạp chí. Với những điều này, bạn có thể làm một vài điều:

Đơn giản chỉ cần đăng nhập này

Bạn có thể sử dụng một mẫu bao gồm các biến này để bạn có thể xem liệu có sự khác biệt giữa thông báo và các tham số thu được hay không. Trong một mẫu, bạn có thể truy cập các biến này như %$!pid%. Vì vậy, ví dụ, bạn sử dụng một mẫu như thế này:

$template SomeLogFormat,"%TIMESTAMP:::date-rfc3339% <%pri-text%> %syslogtag%%msg% (được pid=%$!pid% ghi nhật ký dưới dạng %$!uid%)\n"

daemon.* /var/log/daemon.log;SomeLogFormat

sẽ mang lại mục sau:

27-10-2021T18:27:54.638759+02:00 <daemon.info> sshd[986]: Đã chấp nhận khóa công khai từ cổng 127.0.0.19.8 65537 sha2: RSA 2e:45:25:54:6o:34:3a: z3:55:07:04 (chỉ là giả mạo) (được ghi bởi pid=540 chạy bằng 1000)

Từ đó, bạn có thể xem tin nhắn có hợp pháp hay không và nếu không, bạn sẽ nhận được UID của người dùng đang có tâm trạng vui vẻ. Lưu ý rằng thay vì cung cấp từng thông số một, bạn có thể sử dụng %$!% mẫu, sẽ ghi lại các giá trị trên ở định dạng JSON.

Định tuyến lại nhật ký người dùng

Bạn có thể đặt nhật ký do người dùng ghi vào một tệp riêng biệt (có thể trên một hệ thống tệp riêng biệt để người dùng không thể điền vào hệ thống tệp gốc). Bạn có thể định tuyến lại tất cả nhật ký bắt nguồn từ người dùng với cấu hình sau:

nếu $!uid > 999 thì /opt/log/user.log;SomeLogFormat
& dừng lại

Việc sử dụng mẫu (các ;Một sốLogFormat một phần) là tùy chọn. Bằng cách này, mọi thứ bắt nguồn từ bất kỳ thứ gì có UID trên 1000 sẽ được ghi vào /opt/log/user.log. Bạn thậm chí có thể tách nhật ký người dùng theo UID như thế này:

$template userLogFile,"/opt/log/userlog_%$!uid%.log"

nếu $!uid > 999 thì ?userLogFile;SomeLogFormat
& dừng lại

Bằng cách này, mỗi người dùng sẽ có riêng của họ userlog_xxxx.log tập tin.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.