Tôi muốn Samhain theo dõi một tập tin, ví dụ như /root/somefile
. Tập tin này hiện không tồn tại, nhưng tôi muốn được thông báo nếu nó được tạo tại bất kỳ thời điểm nào.
Tôi thêm cái này vào samhainrc
:
[ReadOnly]
file = /root/somefile
Điều này khiến Samhain phát ra các mục nhật ký này:
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] interface=<lstat>, msg=<No such file or directory>, userid=<0>, path=</root/somefile>
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] msg=<POLICY MISSING>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: INFO : [2018-10-18T22:54:19+0000] msg=<Checking [ReadOnly]>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: NOTICE : [2018-10-18T22:54:19+0000] msg=<Check failed>, path=</root/somefile>
Và nếu tôi tạo tệp này với echo test > /root/somefile
, thì tôi không nhận được bất kỳ vi phạm chính sách nào được ghi lại - việc bổ sung tệp này đã không được chú ý.
Làm cách nào tôi có thể định cấu hình Samhain để thông báo cho tôi nếu một tệp quan tâm không tồn tại trước đó được tạo?
Các IgnoreMissing
tùy chọn cấu hình sẽ xuất hiện ở cái nhìn đầu tiên có ích, nhưng nó không phải là. Với IgnoreMissing = /root/somefile
trong samhainrc
, không có thay đổi trong hành vi. Có vẻ như tùy chọn này dành cho các tệp dự kiến sẽ bị mất sau này - nó sẽ loại bỏ cảnh báo nếu một tệp được sử dụng để tồn tại, nhưng bây giờ, chẳng hạn, nếu một quy trình tự động xóa các tệp đã lỗi thời.
Mặc dù /root/somefile
rõ ràng là được tạo ra trong trường hợp này, một ví dụ về nơi một tệp không tồn tại đột nhiên bắt đầu tồn tại là nếu tệp /home/someuser/.ssh/authorized_keys
không tồn tại trước đó nhưng sau đó đột nhiên tồn tại - đây có thể là một người dùng độc hại khai thác thứ gì đó để thả một cửa hậu cho phép họ để đăng nhập như một người dùng shell. Đây là điều tôi muốn được cảnh báo.
Có thể sử dụng dir = /home/someuser/.ssh
để theo dõi tất cả các thay đổi trong .ssh
thư mục của người dùng , nhưng điều này không có ích: nếu người dùng sử dụng SSH trong tài khoản của họ thì .ssh/known_hosts
tập tin của họ có thể thay đổi, họ có thể thay đổi ssh_config
, v.v. để được cảnh báo bởi những người. Do đó, tôi không muốn giám sát toàn bộ thư mục ngoài một số tệp trong danh sách trắng; Tôi muốn để lại thư mục không bị giám sát ngoài các tập tin quan trọng, cụ thể.
authorized_keys
này sẽ làm việc tốt.