Логирование и аудит потенциально опасных событий на сервере Linux

Задача: при изменении критически важных файлов, запуск из под sudo, создание тоннелей SSH и переброс портов — отсылать уведомление об этом на почту.

Решение: воспользуемся штатным демоном auditd и сторонней утилитой wazuh

Установка auditd:

Просмотр текущих действующих правил:

Стереть все действующие правила:

1) Настроить уведомление об изменении файлов /etc/paswd и /etc/shadow

, где -p — обозначает при каком условии будет сделана запись в журнал:

  • r — операция чтения данных из файла
  • w — операция записи данных в файл
  • x — операция исполнения файла
  • a — операция изменения атрибутов файла или директории

Что бы правила работали на постоянной основе, их нужно добавить в файл /etc/audit/rules.d/audit.rules после чего перезапустить демон

2) Настройка уведомления о выполнении команд от sudo/root:

3) Для того чтобы уведомления из журнала /etc/audit/audit.log отправлялись на почту, нужно установить wazuh-manager:

И соответственно добавить в конфигурационный файл /var/ossec/etc/ossec.conf, отслеживание изменений:

В этом же файле нужно настроить секцию касающуюся отправки уведомлений по email — отправитель, получатель.

Далее добавляем ключевые слова в /var/ossec/etc/lists/audit-keys, для фильтрации событий:

И добавить правило срабатывания в /var/ossec/etc/rules/local_rules.xml:

Linux: при использовании rm ошибка Argument list too long

Ошибка возникает при очень большом количестве файлов в каталоге. Фактически оно обычно ограничено 2097152 штуками (getconf ARG_MAX).

Решение:

Или просто удалите целиком веь каталог и создайте вновь

Memcached: MemcachePool::get(): Server localhost (tcp 11211, udp 0) failed with: Network timeout

После очередной перезагрузки сервера, при работе с memcached из PHP стали валиться ошибки вида:

Решение: перевел memcached в режим debug и увидиел, что не может создать папку /var/run/memcached.socket (premission denied). Для того чтобы мог сам создавать, в /etc/memcached.conf добавил возможность запуска сервиса из под root:

PostgreeSQL: контроль уникальности вставки

Хороший вариант: возложить контроль уникальности вставляемых данных, на уровень БД. Если это по каким-то причинам не возможно, то можно попробовать такой вариант:

RouterOs: как на Mikrotick добавить еще одну WiFi сеть (без изоляции)

Задача: добавить еще одну wifi сеть с доступом в интернет, с устройствами не изолированными друг от друга

Решение:

1) Добавим виртуальный интерфейс:

Добавим SSID и профиль безопасности:

Добавим адрес для интерфейса (IP->Adresses), и добавим в интерфейс wlan2 в мост (Brige):

1 6 7 8 9 10 56