В мире безопасности Linux первостепенное значение имеет защита от уязвимостей и угроз. К счастью, Linux предоставляет множество инструментов, помогающих пользователям отслеживать и защищать свои системы. Одним из таких инструментов является debsecan, утилита командной строки, предназначенная для сканирования систем на базе Debian (дистрибутивы Debian, Ubuntu и т.д.) на наличие уязвимостей в установленных пакетах. В этом кратком руководстве мы рассмотрим, как эффективно использовать инструмент и команды debsecan, обсудим его функции, опции и примеры использования.
Понимание debsecan
Debsecan - это сканер безопасности Debian, инструмент, специально разработанный для выявления известных уязвимостей в системах безопасности на базе Debian. Он работает путем запроса к базе данных Debian Security Tracker (DST), которая содержит полный список рекомендаций по безопасности и уязвимостей для пакетов Debian. Debsecan сравнивает установленные в системе пакеты с информацией в базе данных DST, чтобы выявить любые известные уязвимости.
Установка debsecan
Перед использованием debsecan важно убедиться, что инструмент установлен в вашей системе. Debsecan доступен в официальных репозиториях большинства дистрибутивов Linux на базе Debian, включая Debian, Ubuntu и Linux Mint. Вы можете установить debsecan с помощью менеджера пакетов вашего дистрибутива. Например, в системах на базе Debian вы можете использовать следующую команду:
sudo apt-get install debsecan
Дистрибутивы Debian и Ubuntu Linux имеют кодовые названия, соответствующие suits. Например, Ubuntu 22.04 имеет кодовое название Jammy Jellyfish. debsecan выдает более информативные выходные данные (включая устаревшие пакеты), если указан правильный пакет.
Использование debsecan
После установки debsecan можно запустить из командной строки с различными параметрами и аргументами для выполнения проверки безопасности вашей системы. Основной синтаксис команды debsecan следующий:
debsecan [options]
## for ubuntu ##
debsecan --suite sid
## help ##
debsecan --help
Давайте рассмотрим некоторые из наиболее часто используемых опций и примеров debsecan.
Базовое использование
Чтобы выполнить базовую проверку безопасности с помощью debsecan, просто запустите команду без каких-либо параметров:
debsecan
Эта команда запросит базу данных Debian Security Tracker и отобразит сводную информацию о любых уязвимостях безопасности, обнаруженных в установленных пакетах в вашей системе.
Отображение подробной информации
Чтобы просмотреть подробную информацию о каждой уязвимости, включая названия пакетов, идентификаторы CVE и уровни серьезности, используйте параметр “-a”.:
debsecan -a
debsecan --suite sid --only-fixed
debsecan --suite sid --format detail
Эта команда предоставит более полный отчет, позволяющий выявить конкретные уязвимости и принять соответствующие меры.
Проверка конкретных пакетов
Вы также можете указать конкретные пакеты для проверки на наличие уязвимостей, используя опцию “-p”, за которой следуют имена пакетов:
debsecan -p package1 package2
Эта команда сканирует только указанные пакеты на наличие уязвимостей, что полезно для целенаправленной оценки безопасности. Необходимо использовать кодовое название версии (“sid”), а не временное имя (“нестабильный”). Например, если вы используете sid. Вы можете загрузить пакеты, содержащие исправления для системы безопасности.
apt-get install \
$(debsecan --suite sid --format packages --only-fixed)
Сгенерировать HTML-отчет
Debsecan может сгенерировать отчет в формате HTML с кратким описанием уязвимостей, обнаруженных в вашей системе безопасности. Для создания отчета используйте опцию “-o”, за которой следует имя выходного файла:
debsecan -o report.html
Эта команда сгенерирует HTML-отчет с именем report.html, содержащий результаты сканирования.
Вы также можете отправить отчет на свой электронный адрес:
debsecan --suite sid --format report \
--update-history --mailto admin@domain.com
Вы можете комбинировать debsecan с инструментами grep, pipe, sed и т.д. Например:
debsecan | grep "remotely exploitable, high urgency" | wc -l
Вывод:
967
Еще один пример без параметров --suite:
debsecan | grep "remotely exploitable, high urgency" | col2 | uniq | wc -l
Вывод:
220
Еще один пример:
debsecan | grep -o "CVE-20[0-2][0-9]" | sort | uniq -c
В результате, он является предвзятым, поскольку скрипт debsecan проверяет только систему отслеживания безопасности Debian и поддерживает только выпуски Debian в параметрах --suite. Исправленные версии пакетов Ubuntu не будут отображаться в системе отслеживания Debian, поэтому мы получим результаты, подобные этому:
3 CVE-2007
2 CVE-2008
8 CVE-2009
3 CVE-2012
14 CVE-2013
9 CVE-2014
42 CVE-2015
173 CVE-2016
948 CVE-2017
3616 CVE-2018
4158 CVE-2019
3540 CVE-2020
1 CVE-2021
Чтобы исправить это, как вы понимаете, вам необходимо добавить параметры --suite. Но в самой системе Ubuntu есть проблемы, которые описаны здесь:
Вам нужно выполнить некоторую ручную работу в Ubuntu. Я продемонстрировал вам синтаксис команд.
Заключение
В заключение отметим, что debsecan - это мощный инструмент для выявления уязвимостей в системах безопасности на базе Debian. Регулярно выполняя сканирование с помощью debsecan и оперативно устраняя любые выявленные уязвимости, вы можете повысить уровень безопасности своей среды Linux и защититься от потенциальных угроз.
Благодаря своим гибким возможностям и простоте использования, debsecan является бесценным инструментом для администраторов Linux, которым поручено поддерживать безопасность систем.
Оригинал: Linux Security with debsecan Command: A Short Guide with Examples