Какие автоматические настройки уведомления / вторжения хороши для использования на домашнем компьютере?

Я уже давно пользуюсь Linux и всегда чувствую необходимость в пассивной настройке программного обеспечения / скриптов, которая может оповещать меня о любых подозрительных действиях в сети, таких как сканирование, неудачные попытки входа в систему и т. Д., На лету по электронной почте или визуальные / аудио уведомления.

Я знаю, как просматривать журналы и прочее, но по большей части это ручной, длительный процесс. Я ищу что-то полу / полностью автоматизированное с некоторыми хорошими возможностями разбора журнала.

Мне известны системы IDS для мониторинга сетей, таких как Snort и т. Д., Но они являются излишним для обычного домашнего пользователя и болезненным процессом настройки и запуска.

Что является хорошим вариантом для меня как домашнего пользователя?

3 ответа

Решение

Простое и эффективное общее решение - использовать logcheck.

sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]

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

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

logcheck легко настраивается (man logcheck). Вы можете настроить все, в том числе:

  • частота проверок
  • какие файлы журнала проверяются
  • что считается нормальным против не
  • куда отправлять уведомления (ненормальные события) по электронной почте

и больше. Ваши шаблоны игнорирования (обычные / обычные) находятся в нескольких файлах в /etc/logcheck/ignore.d.*, и вы можете настроить их под свои нужды; в основном вы можете добавить свои собственные шаблоны, чтобы игнорировать. Пакет Ubuntu по умолчанию поставляется с обширным набором файлов с шаблонами игнорирования для многих сервисов, так что добавлять нечего, если ваша система не работает необычно. Существует 3 набора предварительно настроенных профилей игнорируемых файлов: ignore.d.workstation, ignore.d.server и ignore.d.paranoid, из которых вы можете выбрать.

Основная идея logcheck заключается в том, что различные службы, работающие в системе, уже регистрируют ненормальные события. Например, sshd или pam уже регистрируют ошибки аутентификации. Итак, основные недостающие компоненты:

  • фильтрация что нормально
  • Служба оповещения

Оба из которых предоставляются Logcheck в удобной упаковке. Вы можете комбинировать logcheck с любой другой регистрацией. Например, iptables можно настроить для системного журнала любых попыток сетевого подключения, которые явно не разрешены, путем добавления правил:

 iptables -A input -j LOG
 iptables -A input -j DROP

сразу после всех разрешающих правил.

Я считаю, что logcheck гораздо более полезен, чем logwatch (предлагается в других ответах), потому что он поставляется с очень большим количеством правил, игнорирующих то, что считается нормальной деятельностью. Результатом является гораздо более высокое отношение сигнал / шум в оповещениях, которые отправляются по электронной почте. YMMV.

Еще одним преимуществом logcheck является то, что он ортогонален любому сервису, который регистрирует, поэтому нет дублирования функций. Всякий раз, когда вы добавляете новый сервис, который использует syslog регистрировать события, ненормальные или нет, в любой файл под /var/log вы начинаете получать уведомления об этом автоматически.

КАК:

поскольку logcheck уже настроен предварительно, две строки в верхней части этого ответа по существу охватывают все, что вам нужно для начала. Просто установите его и перейдите через верхний файл конфигурации: /etc/logcheck/logcheck.conf изменить свой адрес электронной почты так logcheck отправляет вам оповещения по электронной почте.

Вот дружеское упоминание о втором шаге более подробно. Поскольку Ubuntu основана на Debian, эти инструкции должны работать и на Ubuntu. Вот еще одна хорошая ссылка.

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

Каждая строка в файле игнорирования является расширенным регулярным выражением (см. man 7 regex), но вы можете использовать простые строки, если они соответствуют строке журнала, которую вы хотите игнорировать. Просто помните, что персонажи любят *, ?, '+', [], () являются особенными в регулярном выражении, поэтому, если они действительно появляются в строках журнала, вам придется экранировать их обратной косой чертой \ в файлах игнорирования.

Другими словами: если вы получаете предупреждение, которое не хотите получать, посмотрите на строку журнала, которая была отправлена ​​вам по электронной почте, и добавьте соответствующий шаблон в виде одной строки для любого файла игнорирования по вашему выбору. Я предлагаю использовать /etc/logcheck/ignore.d.<yourloglevel>/my-ignores как ваш личный файл игнорирования. куда <yourloglevel> один из paranoid, server, или же workstation (как вы уже выбрали в основном конфигурационном файле: /etc/logcheck/logcheck.conf). Посмотрите на примеры в других файлах игнорирования, чтобы узнать, как учитывать текст, который постоянно меняется, например, идентификаторы процессов или метки времени. Есть много существующих примеров для изучения.

Последний совет: logcheck поставляется с небольшой полезной утилитой под названием logcheck-test что очень удобно для тестирования новых правил. man logcheck-test для деталей.

Если в вашей сети недостаточно систем, настройка IDS, такой как Snort, вероятно, излишняя (особенно если на вашем компьютере нет сетевых служб). Я предлагаю начать с настройки logwatch, чтобы отправить себе отчет о том, что происходит в вашей системе. Как только вы это сделаете, настройте системный журнал так, чтобы вы получали как можно больше необходимой информации.

Обнаружение вторжений обязательно необходимо при запуске служб (ftp, web, nfs, ssh и т. Д.) В сети. Это потому, что они выставлены в Интернете и из-за:

  • Miss-конфигурации
  • уязвимости программного обеспечения

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

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

  • просто посетите https://www.grc.com/x/ne.dll?bh0bkyd2
  • нажмите "продолжить"
  • выберите "Все порты", чтобы проверить наличие открытых портов.

Если вы все зеленые, то у вас все хорошо.

И последнее, но не менее важное: вероятно, ваш маршрутизатор имеет встроенную систему обнаружения вторжений (потому что 99% всех маршрутизаторов работают с полосатым Linux-сервером). Для этого вы должны проверить руководство производителя вашего маршрутизатора.

Другие вопросы по тегам