Встановлення Osquery в Ubuntu
Осквері пакунки недоступні у сховищі Ubuntu за замовчуванням, тому перед встановленням ми повинні додати файл Осквері apt repository, виконавши наступну команду в терміналі.
[захищено електронною поштою]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb основна "|sudo tee / etc / apt / sources.список.г / осквері.список
Тепер ми імпортуємо ключ підписання, виконавши наступну команду в терміналі.
[захищено електронною поштою]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.ком--ключі запчастин 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Після імпортування ключа підписання, тепер оновіть систему, виконавши в терміналі таку команду.
[захищено електронною поштою]: ~ $ sudo apt-get updateТепер встановіть Осквері виконавши наступну команду
[захищено електронною поштою]: ~ $ sudo apt-get install osqueryПісля встановлення Осквері, тепер ми повинні перевірити, чи правильно він встановлений, виконавши наступну команду
[захищено електронною поштою]: ~ $ osqueryi --versionЯкщо він видає наступні результати, це означає, що він встановлений правильно
Використання Osquery
Тепер після встановлення ми готові до використання Осквері. Виконайте наступну команду, щоб перейти до інтерактивного рядка оболонки
[захищено електронною поштою]: ~ $ osqueryi
Отримання довідки
Тепер ми можемо запускати запити на основі SQL для отримання даних з операційної системи. Ми можемо отримати допомогу щодо Осквері виконавши наступну команду в інтерактивній оболонці.
osquery> .допомогти
Отримання всіх таблиць
Як вже згадувалося раніше, Осквері виставляє дані операційної системи як реляційну базу даних, тому вона містить усі дані у вигляді таблиць. Ми можемо отримати всі таблиці, виконавши наступну команду в інтерактивній оболонці
osquery> .таблиці
Як ми бачимо, запустивши наведену вище команду, ми можемо отримати купу таблиць. Тепер ми можемо отримувати дані з цих таблиць, запускаючи запити на основі SQL.
Інформація про всіх користувачів
Ми можемо побачити всю інформацію про користувачів, запустивши наступну команду в інтерактивній оболонці
osquery> SELECT * FROM користувачів;Наведена вище команда відобразить gid, uid, опис тощо. всіх користувачів
Ми також можемо отримати лише відповідні дані про користувачів, наприклад, ми хочемо бачити лише користувачів, а не іншу інформацію про користувачів. Виконайте наступну команду в інтерактивній оболонці, щоб отримати імена користувачів
osquery> ВБЕРІТЬ ім'я користувача ВІД користувачів;Наведена вище команда покаже всіх користувачів у вашій системі
Подібним чином ми можемо отримати імена користувачів разом з каталогом, в якому існує користувач, виконавши наступну команду.
osquery> SELECT ім'я користувача, каталог FROM користувачів;
Подібним чином ми можемо запитувати стільки полів, скільки хочемо, запускаючи подібні команди.
Ми також можемо отримати всі дані конкретних користувачів. Наприклад, ми хочемо отримати всю інформацію про кореневого користувача. Ми можемо отримати всю інформацію про кореневого користувача, виконавши наступну команду.
osquery> SELECT * FROM користувачів WHERE username = "root";
Ми також можемо отримати конкретні дані з конкретних полів (стовпців). Наприклад, ми хочемо отримати ідентифікатор групи та ім'я користувача кореневого користувача. Виконайте наступну команду, щоб отримати ці дані.
osquery> ВБЕРІТЬ ім'я користувача, gid ВІД користувачів, ДЕ ім'я користувача = ”корінь”
Таким чином ми можемо запитувати з таблиці все, що хочемо.
Перелік усіх процесів
Ми можемо перерахувати перші п’ять процесів, що працюють в ubuntu, виконавши наступну команду в інтерактивній оболонці
osquery> SELECT * FROM процеси LIMIT 5;
Оскільки в системі працює багато процесів, ми показали лише п’ять процесів, використовуючи ключове слово LIMIT.
Ми можемо знайти ідентифікатор процесу конкретного процесу, наприклад, ми хочемо знайти ідентифікатор процесу mongodb, щоб виконати наступну команду в інтерактивній оболонці
osquery> SELECT pid FROM процеси WHERE name = "mongod";
Пошук версії Ubuntu
Ми можемо знайти версію нашої системи Ubuntu, виконавши наступну команду в інтерактивній оболонці
osquery> SELECT * FROM os_version;Він покаже нам версію нашої операційної системи
Перевірка мережевих інтерфейсів та IP-адрес
Ми можемо перевірити IP-адресу, маску підмережі мережевих інтерфейсів, запустивши наступний запит в інтерактивній оболонці.
osquery> ВИБІР інтерфейсу, адреси, маски ВІД інтерфейсу_адресиДЕ інтерфейс НЕ ПОДОБАЄТЬСЯ '% lo%';
Перевірка зареєстрованих користувачів
Ми також можемо перевірити зареєстрованих користувачів у вашій системі, запитуючи дані з таблиці 'logged_in_users'. Виконайте наступну команду, щоб знайти зареєстрованих користувачів.
osquery> ВИБЕРІТЬ користувача, хоста, час ВІД logged_in_users ДЕ tty НЕ ПОДОБАЄТЬСЯ '-';
Перевірка системної пам'яті
Ми також можемо перевірити загальну пам'ять, вільну пам'ять, кешовану пам'ять тощо. запустивши якусь команду на основі SQL в інтерактивній оболонці. Щоб перевірити загальну пам'ять, запустіть наступну команду. Це дасть нам загальну пам’ять системи в байтах.
osquery> SELECT memory_total FROM memory_info;
Щоб перевірити вільну пам’ять вашої системи, запустіть наступний запит в інтерактивній оболонці
osquery> ВИБЕРІТЬ вільну пам'ять ІЗ пам'яті_інформація;Коли ми запускаємо вищезазначену команду, це дасть нам вільну пам’ять, доступну в нашій системі
Ми також можемо перевірити кешовану пам’ять системи за допомогою таблиці memory_info, виконавши наступний запит.
osquery> вибрати кешоване з memory_info;
Перелік груп
Ми можемо знайти всі групи у вашій системі, виконавши наступний запит в інтерактивній оболонці
osquery> SELECT * FROM групи;
Відображення портів прослуховування
Ми можемо відобразити всі порти прослуховування нашої системи, виконавши наступну команду в інтерактивній оболонці
osquery> SELECT * FROM Listen_ports;
Ми також можемо перевірити, чи порт прослуховує чи ні, виконавши наступну команду в інтерактивній оболонці
osquery> SELECT порт, адреса FROM liste_ports WHERE порт = 27017;Це дасть нам результат, як показано на наступному малюнку
Висновок
Осквері - це дуже корисна утиліта для пошуку будь-якої інформації про вашу систему. Якщо ви вже знаєте про запити на основі SQL, то це дуже просто для вас, або якщо ви не знаєте про запити на основі SQL, тоді я намагався з усіх сил показати вам кілька основних запитів, які корисні для пошуку даних. Ви можете знайти будь-який тип даних із будь-якої таблиці, запустивши подібні запити.