Debian

Як встановити Osquery на Debian 10

Як встановити Osquery на Debian 10
У цьому підручнику з Osquery ми почнемо з обговорення, що таке Osquery, як він працює, як встановити його на Debian, короткий вступ до SQL, і нарешті побудуємо проект, що детально описує, як інтегрувати Osquery зі стеком ELK.

Щоб цей підручник був стислим, ми не будемо глибоко занурюватися в “що” та “як” стеку ELK. Натомість ми швидко та прямо обговоримо, як використовувати його з Osquery. Ми також вважатимемо, що ви добре знаєте SQL - незважаючи на наданий посібник).

Що таке Осквері?

Розроблений Facebook, Osquery - це міжплатформений інструмент з відкритим кодом, який використовується для запитів та моніторингу систем із використанням запитів на основі SQL.

Osquery може взаємодіяти з системою та збирати детальну інформацію, таку як використання пам'яті, запущені процеси, завантажені модулі ядра, апаратні події, мережеві підключення тощо. Інструмент працює у всіх системах, включаючи Windows, Linux, Mac та BSD.

Використовуючи Osquery, ви можете створювати запити SQL, які відображають інформацію про систему, і використовувати цю інформацію для моніторингу та аналізу зібраних даних.

Як встановити Osquery на системи Debian

Встановити Osquery в системах Debian дуже просто, і хоча він недоступний в основних репозиторіях Debian, додавання цього є досить простим.

Давайте розглянемо перший метод, який ви можете використовувати для встановлення Osquery на Debian:

Першим і найпростішим кроком є ​​завантаження програми встановлення deb з головної сторінки:

https: // pkg.osquery.io / deb / osquery_4.6.0-1.linux_amd64.деб

wget https: // pkg.osquery.io / deb / osquery_4.6.0-1.linux_amd64.деб
sudo dpkg -i osquery_4.6.0-1.linux_amd64.деб

Ми рекомендуємо описаний вище метод, оскільки пакети deb мають дуже мало залежностей від більшості дистрибутивів Debian. Однак, якщо ви хочете додати до apt, використовуйте наступний метод.

Введіть наступні команди, щоб встановити Osquery зі сховищ.

експортувати OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver hkp: // keyserver.ubuntu.com: 80 --recv-клавіші $ OSQUERY_KEY
sudo add-apt-repository 'deb [arch = amd64] https: // pkg.osquery.io / deb deb main '
sudo apt-get update
sudo apt-get install osquery - -

Як використовувати Osquery на Debian 10

Перш ніж заглибитися в створення автоматизованих сценаріїв та роботу зі стеком ELK, давайте обговоримо деякі прості способи використання Osquery в локальній системі.

Osquery має три основні компоненти, які ви можете використовувати для взаємодії з API.

Осквері: Перший компонент - це osqueryi, інтерактивний сеанс оболонки. Режим osqueryi повністю автономний і не вимагає взаємодії з демоном Osquery-Osquery. Використовуючи режим osqueryi, ви можете інтерактивно виконувати запити SQL та досліджувати поточну систему, подібну до оболонки SQL.

ПРИМІТКА: Osquery поважає користувацькі простори, і якщо запустити оболонку як звичайний користувацький режим, ви не матимете доступу до привілейованих таблиць.

Оскверид: Інший компонент - osqueryd, демон Osquery, який використовується для планування запитів та запису змін стану у фоновому режимі. Демон працює шляхом агрегування результатів запиту, виконаних протягом певного періоду часу, і генерує журнали, що використовуються для порівняння змін стану кожного запиту.

Osqueryctl: Третім компонентом є Osqueryctl, допоміжний скрипт, який використовується для тестування конфігурації розгортання. Ви також можете використовувати його як менеджер послуг Osquery, що дозволяє запускати та зупиняти послугу.

Звичайно Osquery - це не що інше, як простий інструмент для отримання інформації про систему. Однак, коли ви поєднуєте запити для створення добре відсортованих та зведених даних, це стає більше, ніж інструментом запитів.

Щоб розпочати, давайте почнемо з основ, щоб зрозуміти, як це працює:

Перший крок - отримати допомогу з командою:

sudo osqueryd --допомога

Ця команда відобразить довідку демона Osquery зі списком аргументів, які ви можете використовувати в оболонці.

Наступним і найпростішим способом взаємодії з Osquery є використання сеансу osqueryi. Наприклад, якщо ви виконаєте команду osqueryi без аргументу, ви потрапите в оболонку, подібну до SQL:

sudo osqueryi

Усередині оболонки osqueryi ви можете виконувати команди та синтаксис SQL для вибору конкретної інформації про систему.

Щоб переглянути режим довідки всередині оболонки osqueryi, використовуйте команду:

osquery> .допомогти

Виконання цієї команди повинно відображати довідку щодо сеансу Osquery.

Оскільки Osquery є реляційним картографом баз даних для вашої системи, він містить список таблиць, за якими ви можете вибрати інформацію з використання SQLite Queries.

ПРИМІТКА: Запити osquery базуються на SQLite. Ви можете звернутися до його документації, якщо Osquery не надає достатньо інформації:

https: // www.sqlite.орг / індекс.html

Всередині оболонки osqueryi використовуйте команду:

osquery> .таблиці

Ця команда перелічує доступні таблиці, що містять системну інформацію.

Звідти ви можете вибрати інформацію з доступних схем. Наприклад, перегляньте інформацію про вирішувачі DNS.

ВИБЕРІТЬ * З dns_resolvers;

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

Дізнатися більше про таблиці та схеми Osquery можна з наступного ресурсу:

https: // osquery.io / schema / 4.6.0 /

Основне керівництво по SQL

Osquery працює, використовуючи синтаксичні запити SQLite для збору інформації про систему. Я не уявляю, чому Facebook обрав цей маршрут, але це працює.

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

ПРИМІТКА: Це жодним чином не повинно бути керівництвом для SQL або суміжних мов. Щоб отримати докладніші посібники для мови, зверніться до первинної документації.

Вибір конкретних записів із таблиці

Використовуючи базовий синтаксис SQLite, ми можемо вибрати конкретну інформацію з таблиці за допомогою оператора SELECT, як показано:

ВИБЕРІТЬ pid, ім'я, шлях ВІД процесів;

Додавання функцій SQL

Osquery також підтримує функції SQL, дозволяючи виконувати різні дії з даними, зібраними з запитів.

Наприклад, функція підрахунку може дозволити вам переглянути кількість користувачів у вашій системі.

ВИБЕРІТЬ КОЛЬКУ (*) ВІД користувачів;

Ця команда поверне загальну кількість користувачів у системі.

Здатність Osquery використовувати синтаксис SQL є величезною перевагою, яка може допомогти вам створити складні набори даних, які можуть дати вам більш глибокий аналіз системи. Це також створює міст, який розробники SQL, використовуючи такі двигуни, як PostgreSQL, MySQL та інші, можуть використовувати для легкої адаптації.

https: // osquery.readthedocs.io / en / stable / uvod / sql /

Веселий, побічний проект

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

Через обсяг цього підручника та щоб уникнути заплутаних початківців, ми не будемо вникати у складні проекти. Згадане, ось кілька інструментів, які ви можете створити за допомогою Osquery:

https: // osquery.readthedocs.io / en / stable / deployment / log-aggregation /
https: // www.еластичний.co / guide / en / beats / filebeat / 7.10 / filebeat-module-osquery.html
https: // github.com / fleetdm / fleet

Висновок

У цьому посібнику ми розглянули основи Osquery, зокрема, як використовувати їх для збору системної інформації.

Цей посібник, хоч і не вичерпний, мав на меті надати вам швидке та зрозуміле ознайомлення з Osquery; аж ніяк не був довідковим посібником.

Не соромтеся використовувати інші ресурси, щоб глибше зрозуміти різні концепції, про які ми говорили в цьому посібнику.

Як використовувати AutoKey для автоматизації ігор Linux
AutoKey - це утиліта автоматизації робочого столу для Linux та X11, запрограмована на Python 3, GTK та Qt. Використовуючи його сценарії та функціональ...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...