В этой статье мы расскажу вам о том, как проверить и залогировать вредоносную установку RPM.
В Linux ведение журнала является одной из наиболее важных функций, которая используется для упрощения мониторинга событий путем сохранения набора файлов журнала в виде записей.
Это мощное средство устранения неполадок, которое появляется в первую очередь при возникновении сбоев в работе или любой ошибки.
Анализ файлов логов – это первое, что делает разработчик или администратор при возникновении проблемы.
📦 Как проверить поставщика установленных пакетов RPM на Linux
- Как проверить вредоносную установку RPM
- Создадим белый список. csv
- Создаем скрипт log.sh
- Создайте app.sh Скрипт
- Пример использования 1 : Когда файл whitelist . csv не передается в качестве входных данных
- Пример использования 2 : Когда в качестве входных данных передается неправильный формат файла
- Пример использования 3 : При передаче правильного входного файла
Как проверить вредоносную установку RPM
По умолчанию Linux предоставляет централизованное хранилище для хранения файлов журналов, которые можно найти в каталоге /var/logs и подкаталогах.
В Linux файлы логов создаются для всего, например, для системы, базы данных, ядра, управления процессами, загрузки и т.д.
Внутри этого пути вы найдете множество журналов и каталогов, которые могут варьироваться от компьютера к компьютеру в зависимости от настроенной конфигурации.
На Linux существуют файлы системных журналов и файлы журналов приложений.
В этом руководстве мы сосредоточимся на файлах журналов приложений.
Мы разработаем простое приложение и создадим для него файлы журналов.
Он может быть сгенерирован в папке по умолчанию, т.е. /var/log, или мы можем сгенерировать настроенные файлы журнала в другой папке.
Мы создадим настроенные файлы журнала в нашем руководстве.
Мы разработаем инструмент, который, по сути, будет сканировать пакеты, установленные на нашем компьютере, и предупреждать о любых нежелательных пакетах, которые могли быть установлены (ошибочно или как вирус) в файле журнала.
Такие инструменты очень важны для обеспечения безопасности нашей системы и приложений от любых уязвимостей.
Для выполнения наших задач нам потребуются следующие 3 файла.
Вы, безусловно, можете изменить файлы в зависимости от уровня безопасности, который вы хотите обеспечить для защиты своих приложений и системы.
📦 Как проверить целостность rpm-пакета на Linux
Создадим белый список.csv
Этот файл будет использоваться для хранения списка установленных пакетов rpm.
Если в системе будет обнаружен какой-либо другой установленный пакет, который не входит в белый список, это будет рассматриваться как уязвимость и будет выдано сообщение об ошибке.
Это будет передано в качестве входного файла в app.sh скрипт.
Запустите “rpm –qa” и сохраните выходные данные в файле whitelist.csv, как показано ниже.
Это будет длинный список файлов, поскольку в нем хранятся все пакеты операционной системы, а также пакеты приложений.
Создаем скрипт log.sh
Далее нам нужно создать функциональный скрипт ведения журнала под названием log.sh в каталоге /root.
В этом скрипте мы создаем функцию под названием log(), которую мы собираемся использовать в нашем прикладном скрипте под названием app.sh на следующем шаге.
Приведенный ниже скрипт в основном проверяет аргумент, переданный с помощью функции log, а затем добавляет сообщения в зависимости от типа сообщения, будь то ERROR, WARNING или INFO.
Ниже мы рассмотрим несколько вариантов использования, чтобы лучше понять это в режиме реального времени.
Описание:-
- -e -> Для записи сообщений об ошибках
- -i -> Для записи информационных сообщений
- -w -> Для записи предупреждающих сообщений
- Shift -> Для перемещения аргумента командной строки на одну позицию влево
- $* -> Для записи всех аргументов командной строки, передаваемых скрипту.
Создайте app.sh Скрипт
Функционал этого скрипта заключается в анализе файла whitelist.csv.
Если на компьютере обнаружится какой-либо дополнительный установленный пакет, он зарегистрирует запись пакета как ошибку в файле журнала.
Далее мы пишем логику для нашего приложения и определяем путь к журналу, по которому будут генерироваться файлы журнала.
Вы можете включить режим отладки, раскомментировав инструкцию set -x.
Мы создаем файлы журналов в папке /var/log/cyberithub/.
Этот путь может быть изменен в зависимости от того, где мы хотим хранить наши журналы.
🐧 Как отключить и удалить ненужные службы на Linux
Создайте временный файл /tmp/temp_file, который необходим для выполнения скрипта.
Нам нужно изменить права доступа к файлу перед выполнением скрипта.
Теперь установите на машину несколько дополнительных пакетов rpm.
Пример использования 1: Когда файл whitelist.csv не передается в качестве входных данных
Пример использования 2: Когда в качестве входных данных передается неправильный формат файла
Пример использования 3: При передаче правильного входного файла
см. также:
- 🛡️ Как просмотреть все правила iptables
- 🐧 Простая проверка на наличие зараженных файлов в Linux с помощью антивирусного сканера
- 🛡️ AgentSmith HIDS – обнаружение вторжений на основе хоста
- 🔐 Форензика: Различные виды цифровых доказательств
- 🐧 3 различных способа применения патчей безопасности ядра Linux
- 🖧 Основные номера сетевых портов на Linux