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

27

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

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

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

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

irenicus09
источник
Как вы определяете «пассивный»? Как, например, что-то, что вы запускаете сами время от времени, чтобы увидеть, происходит ли что-то подозрительное?
Нанн

Ответы:

15

Простое и эффективное общее решение - использовать 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для деталей.

arielf
источник
Привет, мне нравится идея logcheck ... не могли бы вы указать мне подробное руководство для этого? Спасибо :)
irenicus09
1
@ irenicus09: только что добавлен раздел с дополнительной ссылкой для справки.
Ариэльф
Поздравляю с выигрышем в награду, очень хорошо написан ответ человека. Спасибо :)
irenicus09
3

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

AndrewX192
источник
Здравствуйте, мне нравится ваш ответ ... но не могли бы вы рассказать немного подробнее о том, как это сделать. Неразбериха с настройками может быть довольно сложной, особенно для неопытного пользователя. Но я был бы признателен, если бы вы указали мне подробное руководство для этого. Спасибо.
irenicus09
@ irenicus09 Я думаю, этого должно быть достаточно: Как настроить Logwatch в системах на основе Ubuntu
AndrewX192
спасибо за руководство, я успешно настроил logwatch и мне это нравится. Для монитора сканирования портов я также настроил portsentry, и я попробую другие инструменты и прочее, прежде чем я решу, какой из них лучше для меня :)
irenicus09
1

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

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

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

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

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

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

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

Салих Эмин
источник
Здравствуйте, спасибо за ваш ответ. Это довольно проницательно, и я в курсе всего, о чем ты говоришь. Но я хочу сказать, что в моей системе запущены различные службы, как именно я отслеживаю действия с точки зрения безопасности. Мне нужно простое и удобное решение в качестве домашнего пользователя, и я думаю, что вы избежали этой части :)
irenicus09