5 декабря, 2021

Основы Linux. Часть 23 (логирование)

С возвращением, мои хакеры!

Когда вы используете и администрируете Linux, важно знать об использовании файлов журналов (логов). Как вы знаете, файлы журналов являются хранилищем большого объема информации о нашей системе, включая сообщения об ошибках и предупреждения систем безопасности.

Если мы пытаемся обеспечить защиту Linux, важно знать, как управлять функциями ведения журналов, чтобы в нужный момент узнать, была ли атакована ваша система, а затем расшифровать то, что на самом деле произошло, и кто это сделал. И с другой стороны, если вы атакуете систему, то не должны оставлять за собой следы, и поэтому вам важно знать, какая информация может быть собрана о вас и о ваших методах из этих же логов.

Как правило, в Linux используется демон (программа, работающая в фоновом режиме), называемая syslogd, которая является единой системой для регистрации событий на компьютере. Существует несколько вариантов syslog, включая rsyslog и syslog-ng. Хотя все они работают похожим образом, у них есть некоторые незначительные отличия. Поскольку наш Kali Linux построен на Debian, то по умолчанию он поставляется с rsyslog, поэтому мы и будем использовать его в этой статье.

Шаг 1. Откройте терминал Кали

Чтобы найти наш rsyslog, просто введем следующую команду:

kali > locate rsyslog

Шаг 2. Откройте файл конфигурации Rsyslog (rsyslog.conf)

Как почти все приложения в Linux, rsyslog управляется и настраивается с помощью файла конфигурации, который представляет собой обычный текстовый файл. Как вы уже знаете из предыдущих статей по Основам Linux, файлы конфигурации обычно находятся в каталоге /etc. В случае rsyslog он находится по адресу /etc/rsyslog.conf. Давайте откроем этот файл при помощи любого текстового редактора (мы будем использовать стандартный Leafpad).

kali> leafpad /etc/rsyslog.conf

Как видно на скриншоте выше, файл rsyslog.conf хорошо прокомментирован объяснениями, что там к чему относится и что на что влияет.

Читать также:  Запрет анонимности в Рунете

Шаг 3. Формат файла конфигурации Rsyslog

Переместимся вниз к строке 50. Здесь начинается раздел «Rules». И в этом разделе мы можем установить правила о том, какие действия будет логировать (записывать в журналы) Linux.

Основной формат для этих правил таков:

facility.priority action

Слово facility ссылается на программу (например, mail, kernel, lpr), которая и генерирует сообщение для файла журнала (лога). Ключевое слово priority указывает на важность сообщения журнала. Наконец, слово action ссылается на местоположение, в которое и должен быть отправлен журнал. Это может быть файл или удаленный компьютер.

Объекты (facilities)

Коды, которые мы вставляем вместо ключевого слова facility в нашем конфигурационном файле, включают следующие значения:

  • auth
  • authpriv
  • daemon
  • kern
  • lpr
  • mail
  • mark
  • news
  • security
  • syslog
  • user
  • uucp

Звездочка (*) означает все объекты. Вы можете выбрать более одного объекта, указав их последовательно через запятую.

Приоритеты (priorities)

Действующие коды приоритетов следующие:

  • debug
  • info
  • notice
  • warning
  • warn
  • error
  • err
  • crit
  • alert
  • emerg
  • panic

Коды приоритетов перечислены с самого низкого (debug) приоритета до наивысшего (emerg, panic). Warning то же самое, что и warn, а error — то же, что и err, точно также emerg — это то же самое, что и panic. Коды error, warn и panic уже устарели и их не нужно использовать.

Например, если вы укажете код приоритета alert, система будет регистрировать сообщения, которые классифицируются как alert или emerg, но не crit или те, у которых приоритет ниже, чем alert.

Действия (actions)

Обычно action — это имя файла с его адресом. Например, /var/log/messages.

Шаг 4. Примеры Facility.Priority Action

Давайте рассмотрим некоторые примеры.

mail.* /var/log/mail

В этом примере будут регистрироваться события почти всех (*) приоритетов в файл, находящийся по адресу /var/log/mail.

kern.crit /var/log/kernel

В этом примере будут регистрироваться события ядра (kern) критического (crit) приоритета или выше в файл, расположенный в var/log/kernel.

*.emerg *

В этом примере будут регистрироваться все события (*) аварийного приоритета (emerg) для всех пользователей.

Читать также:  Как настроить и использовать VPN

Шаг 5. Logrotate

Если вы не будете удалять файлы журналов, то они в конце концов заполнят весь ваш жесткий диск. С другой стороны, если вы слишком часто будете удалять файлы логов, то в нужный момент не сможете их проанализировать. Мы можем использовать logrotate для определения баланса между этими противоположными требованиями.

Мы можем начать повторно использовать наши файлы журналов, создав задание для cron, которое периодически будет, так сказать «переворачивать» файлы журналов с помощью утилиты logrotate. Настройки утилиты logrotate лежат в файле /etc/logrotate.conf. Давайте откроем его текстовым редактором и посмотрим, что у него внутри.

В большинстве случаев конфигурация по умолчанию будет работать нормально, но обратите внимание на строку 6. В ней установлено значение по умолчанию для «переворачивания» журналов — раз в 4 недели. Если вы хотите сохранить свои журналы в течение более длительного или более короткого времени, то это именно то значение, которое вы должны изменить.

Обязательно возвращайтесь, поскольку мы постоянно пишем новые статьи об использовании и администрировании Linux, что поможет вам стать профессиональным хакером!

Предыдущие статьи ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22).

Добавить комментарий