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

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

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

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

Что мне подойдет как домашнему пользователю?

27
задан 18 February 2014 в 22:55

3 ответа

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

0
ответ дан 18 February 2014 в 22:55

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

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

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

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

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

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

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

0
ответ дан 18 February 2014 в 22:55

Простое и эффективное общее решение заключается в использовании 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 можно настроить на syslog любые попытки сетевого подключения, которые явно не разрешены путем добавления правил:

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

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

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

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

HOWTO:

Поскольку 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 для деталей.

0
ответ дан 18 February 2014 в 22:55

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

Похожие вопросы: