файлы журналов в CentOS 7 [закрыто]


8

В CentOS 7, как я могу найти и просмотреть все системные журналы, которые сообщают мне, кто пытался войти в систему, кто входил в систему, с какими процессами они контактировали, что они выполняли и т. Д. Я хочу иметь возможность связать каждое действие с идентификатор пользователя или удаленный IP-адрес.

Мой var/log/каталог содержит множество ресурсов, включая /var/log/messagesи /var/log/secure, но большинство файлов имеют тип, Binary (application/octet-stream)и ОС не знает, как их открыть, если я не связываю с ними какую-то неизвестную программу просмотра. Также, var/log/firewalldпохоже, не содержится полезной информации.

Я могу найти все журналы, созданные моим приложением, моей базой данных и NginX / Apache.


Хорошо, вы нашли, /var/logи все они являются двоичными файлами? Уверен? Как вы проверяете?
— Брайам

@Braiam Я не сказал, что они были двоичными файлами. Я сказал, что большинство из них являются двоичными файлами. Например, /var/log/firewalldтекстовый файл, который, кажется, содержит бесполезную информацию. Я проверяю, нажав на файлы в графическом интерфейсе. Сначала щелкните левой кнопкой мыши, чтобы попытаться открыть, затем щелкните правой кнопкой мыши, чтобы просмотреть свойства, чтобы проверить тип файла.
— CodeMed

Система не делает этого по умолчанию. Вы должны включить ведение журнала аудита, чтобы получить это. Я показываю многие из методов в этом A: unix.stackexchange.com/questions/75051/… . Здесь есть хороший обзор аудита: security.blogoverflow.com/2013/01/… . Ищите других, их много.
— SLM

@slm Я читаю ваши ссылки. Спасибо. Это будет веб-сервер. Мне нужно будет отследить личность каждого человека, который каким-либо образом касается любой записи в базе данных или любого файла в определенных частях файловой системы. Мне также нужно будет использовать эти данные регистрации для настройки оповещений, которые срабатывают каждый раз, когда неавторизованный пользователь получает доступ к каким-либо данным. Я знаю, как вести журнал на уровне приложений и баз данных. Я хочу настроить ведение журналов так, чтобы журналы CentOS можно было связывать с журналами веб-контейнера, журналами приложений и журналами базы данных, возможно, с помощью ip. Как мне сформулировать вопросы об уровне CentOS этого требования?
— CodeMed

@CodeMed - я бы сказал, что это CentOS 7, как и у вас. Я думаю, что вы можете делать то, что вы хотите, с помощью audd, относительно манипулирования файловой системой и того, какие команды / процессы вызываются пользователями в локальной файловой системе. Это не покажет ничего кроме пользователя nginx, apache и т. Д. делать X, хотя с уровня приложения. Возможно, вам придется смешать 2 вместе. Я бы также назвал его системным Q, а CentOS 7 - конкретный экземпляр.
— СЛМ

Ответы:


10

Утилита (командной строки), которую вы должны использовать, это journalctl. Например, чтобы посмотреть на вывод dmesg:

journalctl --dmesg

или разбираемые записи, относящиеся к брандмауэру:

journalctl --output=json-pretty UNIT=firewalld.service

Для списка выбираемого блока используйте обычные инструменты:

journalctl --output=json-pretty | grep -F UNIT | sort -u

См. В man journalctlвашей системе дополнительные параметры для ограничения и указания выходных данных.


Спасибо. Это начало. Но мой вопрос более глобален. Как получить список всех доступных журналов? И как мне получить вывод в формате, который я могу использовать? Например, ресурс, который можно импортировать в Java-программу, которая отслеживается пользователем или ip. journalcdt --dmesgкажется, не идентифицирует кого-либо более конкретного, чем localhost.localdoman, и journalctl --firewalldпроизводит unrecognized option. Таким образом, ваше предложение еще не ответило на мой вопрос.
— CodeMed

Вы действительно должны взглянуть на справочную страницу. Это довольно информативно. journalctl --output=json-pretty UNIT=firewalld.serviceдает вам вывод JSON.
— Anthon

Спасибо за обновление. Я прочитал руководство, но ваш ответ может облегчить его применение. Прямо сейчас, journalctl --output=json-pretty | grep -f UNIT | sort -uдаетgrep: UNIT: No such file or directory
— CodeMed

Кроме того, journalctl --output=json-pretty UNIT=firewalld.serviceработает , только когда я вошел в систему как пользователь root, но не когда я пытаюсь использовать терминал как обычный пользователь. Поэтому я пока не могу использовать этот код программно. Если бы я мог как-то автоматически сгенерировать новый набор файлов журналов для каждого выбираемого устройства, не оставляя мой пароль root в взломанном файле, то на этот вопрос был бы дан ответ.
— CodeMed

@CodeMed В аргументах была опечатка grep(я не вырезал и не вставил и не опустил -Fопцию).
— Энтон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.