Які автоматизовані налаштування сповіщень про вторгнення / виявлення корисні для домашнього робочого столу?


27

Я використовую Linux досить довгий час, і я завжди відчуваю необхідність встановити пасивне налаштування програмного забезпечення / скрипту, яке може попереджати мене про будь-які підозрілі мережеві дії, такі як сканування, невдалі спроби входу в систему, електронною поштою або електронною поштою. візуальні / аудіоповідомлення.

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

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

Що є хорошим варіантом для мене як домашнього користувача?


Як ви визначаєте "пасивний"? Як, наприклад, щось ти запускаєшся раз у раз, щоб побачити, чи відбувається щось рибне?
Нанна

Відповіді:


15

Просте і ефективне загальне рішення - використовувати логчек .

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 або пам уже помилки аутентифікації журналу. Отже, основними відсутніми компонентами є:

  • фільтрація того, що нормально
  • сповіщення служби

Обидва вони забезпечуються зрушенням у зручному пакеті. Ви можете комбінувати журнал перевірки з будь-якими іншими журналами. Наприклад, iptables можна налаштувати так, щоб систематизувати будь-які спроби підключення до мережі, які явно не дозволено додаванням правил:

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

одразу після всіх правил дозволу.

Я вважаю, що журнал перевірки є набагато кориснішим, ніж 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для деталей.


Привіт, мені подобається ідея, що стоїть за лош-контролем ... чи можете ви, будь ласка, вказати мені на це посібник з глибини? Дякую :)
irenicus09

1
@ irenicus09: Щойно додано розділ як із додатковим посиланням.
аріельф

Конграц про виграш щедрості, дуже добре написана відповідь людини. Дякую :)
irenicus09

3

Якщо у вас не так багато систем у вашій мережі, налаштування IDS типу Snort, ймовірно, є надмірним (особливо якщо у вас немає мережевих служб на вашому комп'ютері). Я пропоную почати з налаштування logwatch, щоб надсилати собі звіт про те, що відбувається у вашій системі. Після цього налаштуйте syslog так, щоб ви отримали якомога більше релевантної інформації.


Здрастуйте, мені подобається ваша відповідь ... але ви можете поділитися трохи детальніше, як це зробити. Плутати з конфігураціями може бути досить складно, особливо для недосвідченого користувача. Але я вдячний, якби ви могли вказати мені на це посібник з глибинних питань. Спасибі.
irenicus09

@ irenicus09 Я думаю, цього має бути достатньо: Як налаштувати Logwatch на системах на базі Ubuntu
AndrewX192

дякую за керівництво, я успішно налаштував logwatch & мені це подобається. Для монітора сканування портів я також налаштовую портцентрі, і я спробую інші інструменти та інше, перш ніж остаточно визначити, який із них найкращий для мене :)
irenicus09,

1

Виявлення вторгнень потрібно обов'язково під час запуску служб (ftp, web, nfs, ssh тощо) у вашій мережі. Це відбувається тому, що їх виставляють в Інтернеті і через:

  • miss-конфігурація
  • програмні вразливості

їм потрібен щоденний моніторинг досвідченим мережевим адміністратором. Якщо ви запускаєте ці сервіси, ви, мабуть, вже маєте мінімальні знання, як уникнути цих проблем.

Якщо ви не запускаєте жодної з цих служб, то брандмауер вашого інтернет-маршрутизатора вже заблокував будь-яке вхідне з'єднання через порти. Для сканування мережевого маршрутизатора

  • просто відвідайте https://www.grc.com/x/ne.dll?bh0bkyd2
  • натисніть "продовжити"
  • виберіть "Усі порти", щоб перевірити наявність відкритих портів

Якщо ви всі зелені, то ви всі добрі.

І останнє, але не менш важливе, напевно, ваш маршрутизатор має вбудовану систему виявлення вторгнень (адже 99% усіх маршрутизаторів працюють із збитим сервером Linux). Для цього потрібно перевірити керівництво виробника маршрутизаторів.


Привіт, дякую за вашу відповідь. Це досить проникливо, і я знаю все, про що ви говорите. Але моя суть полягає в тому, що я скажу, що я запускаю різні сервіси в своїй системі, як саме я відстежую діяльність з точки зору безпеки. Мені потрібне просте, просте у використанні рішення як домашній користувач, і я думаю, що ви уникали цієї частини :)
irenicus09,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.