Ubuntu

Как установить и использовать Osquery в Ubuntu

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

Установка Osquery в Ubuntu

Osquery пакеты недоступны в репозитории Ubuntu по умолчанию, поэтому перед его установкой мы должны добавить Osquery репозиторий apt, выполнив следующую команду в терминале.

[электронная почта защищена]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb main »|
sudo tee / etc / apt / sources.список.d / osquery.список

Теперь мы импортируем ключ подписи, выполнив следующую команду в терминале.

[электронная почта защищена]: ~ $ sudo apt-key adv --keyserver keyserver.убунту.ком
--возвратные ключи 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B

После импорта ключа подписи обновите свою систему, выполнив следующую команду в терминале.

[электронная почта защищена]: ~ $ sudo apt-get update

Теперь установите Osquery выполнив следующую команду

[электронная почта защищена]: ~ $ sudo apt-get install osquery

После установки Osquery, Теперь нам нужно проверить, правильно ли он установлен, выполнив следующую команду

[электронная почта защищена]: ~ $ osqueryi --version

Если он дает следующий вывод, значит, он установлен правильно

Использование Osquery

Теперь, после установки, мы готовы к использованию Osquery. Выполните следующую команду, чтобы перейти в интерактивную подсказку оболочки

[электронная почта защищена]: ~ $ osqueryi

Получать помощь

Теперь мы можем запускать запросы на основе SQL для получения данных из операционной системы. Мы можем получить помощь по поводу Osquery выполнив следующую команду в интерактивной оболочке.

osquery> .помощь

Получение всех таблиц

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

osquery> .столы

Как мы видим, выполнив приведенную выше команду, мы можем получить кучу таблиц. Теперь мы можем получать данные из этих таблиц, выполняя запросы на основе SQL.

Листинг информации обо всех пользователях

Мы можем увидеть всю информацию о пользователях, выполнив следующую команду в интерактивной оболочке

osquery> ВЫБРАТЬ * ИЗ пользователей;

Приведенная выше команда отобразит gid, uid, описание и т. Д. всех пользователей

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

osquery> ВЫБРАТЬ имя пользователя ИЗ пользователей;

Приведенная выше команда покажет всех пользователей в вашей системе

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

osquery> ВЫБРАТЬ имя пользователя, каталог ОТ пользователей;

Точно так же мы можем запросить столько полей, сколько захотим, выполнив аналогичные команды.

Также мы можем получить все данные о конкретных пользователях. Например, мы хотим получить всю информацию о корневом пользователе. Мы можем получить всю информацию о корневом пользователе, выполнив следующую команду.

osquery> ВЫБРАТЬ * ОТ пользователей ГДЕ username = "root";

Мы также можем получить конкретные данные из определенных полей (столбцов). Например, мы хотим получить идентификатор группы и имя пользователя root. Выполните следующую команду, чтобы получить эти данные.

osquery> SELECT username, gid FROM users WHERE username = "root"

Таким образом мы можем запросить все, что захотим, из таблицы.

Список всех процессов

Мы можем перечислить первые пять процессов, запущенных в ubuntu, выполнив следующую команду в интерактивной оболочке

osquery> SELECT * FROM процессов LIMIT 5;

Поскольку в системе работает много процессов, мы отобразили только пять процессов с помощью ключевого слова LIMIT.

Мы можем найти идентификатор процесса определенного процесса, например, мы хотим найти идентификатор процесса mongodb, поэтому мы запустим следующую команду в интерактивной оболочке

osquery> ВЫБРАТЬ pid FROM процессов WHERE name = "mongod";

Поиск версии Ubuntu

Мы можем найти версию нашей системы Ubuntu, выполнив следующую команду в интерактивной оболочке

osquery> SELECT * FROM os_version;

Он покажет нам версию нашей операционной системы

Проверка сетевых интерфейсов и IP-адресов

Мы можем проверить IP-адрес, маску подсети сетевых интерфейсов, выполнив следующий запрос в интерактивной оболочке.

osquery> SELECT интерфейс, адрес, маска FROM interface_addresses
ГДЕ интерфейс НЕ НРАВИТСЯ "% lo%";

Проверка авторизованных пользователей

Мы также можем проверить пользователей, вошедших в систему в вашей системе, запросив данные из таблицы logged_in_users. Выполните следующую команду, чтобы найти пользователей, вошедших в систему.

osquery> SELECT user, host, time FROM logged_in_users WHERE tty NOT LIKE '-';

Проверка системной памяти

Мы также можем проверить общий объем памяти, свободную память, кешированную память и т. Д. запустив некоторую команду на основе SQL в интерактивной оболочке. Чтобы проверить общий объем памяти, выполните следующую команду. Это даст нам общий объем памяти системы в байтах.

osquery> ВЫБРАТЬ memory_total FROM memory_info;

Чтобы проверить свободную память вашей системы, выполните следующий запрос в интерактивной оболочке

osquery> ВЫБРАТЬ memory_free FROM memory_info;

Когда мы запускаем указанную выше команду, она дает нам свободную память, доступную в нашей системе

Мы также можем проверить кешированную память системы с помощью таблицы memory_info, выполнив следующий запрос.

osquery> выберите кэширование из memory_info;

Список групп

Мы можем найти все группы в вашей системе, выполнив следующий запрос в интерактивной оболочке

osquery> ВЫБРАТЬ * ИЗ групп;

Отображение портов прослушивания

Мы можем отобразить все порты прослушивания нашей системы, выполнив следующую команду в интерактивной оболочке

osquery> ВЫБРАТЬ * ИЗ прослушивающих_портов;

Мы также можем проверить, прослушивает ли порт или нет, выполнив следующую команду в интерактивной оболочке

osquery> ВЫБРАТЬ порт, адрес FROM listen_ports WHERE port = 27017;

Это даст нам результат, как показано на следующем рисунке

Заключение

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

Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...