Перейти к содержанию книги Kali Linux Revealed
Kali Linux является готовым дистрибутивом аудита безопасности Linux, который основан на Debian GNU/Linux. Целевой аудиторией Kali являются профессионалы в сфере безопасности и IT администраторы, что позволяет им проводить тестирование на проникновение, криминалистический анализ и контроль безопасности.
Что такое дистрибутив Linux?
Хотя это обычно используется как общее название для всей операционной системы, Linux – это просто название ядра, части программного обеспечения, которое регулирует взаимодействие между жестким диском приложениями конечного пользователя.
Выражение дистрибутив Linux, с другой стороны, относится ко всей операционной системе, построенной на основе Linux, ядра, обычно включающей программу установки и много приложений, которые установлены раньше или входят в установочный пакет.
Debian GN U/Linux – это ведущий общий дистрибутив Linux, известный своим качеством и стабильностью. Kali Linux базируется на работе проекта Debian и добавляет свыше 300 своих специальных пакетов, относящихся к информационной безопасности, особенно, в области тестирования на проникновение.
Debian – это бесплатный проект программного обеспечения, предоставляющий множественные версии своих операционных систем, и мы часто используем термин дистрибутив для того, чтобы отнести вас к какой-то его конкретной версии, например, дистрибутивы Debian Stable или Debian Testing. То же самое применимо к Kali Linux — с дистрибутивом Kali Rolling, например.
1.1 Немного истории Kali Linux
Проект Kali Linux потихоньку начинался в 2012, когда Offensive Security решила, что они хотят заменить свой старый проект BackTrack Linux, который поддерживался вручную, на что-то, что могло бы стать производной Debian со всей необходимой инфраструктурой и улучшенной техникой пакетирования. Было принято решение создать Kali на основе дистрибутива Debian, потому что она известна своим качеством, стабильностью и большим выбором доступного программного обеспечения. Вот почему я (Raphael) привлекался к этому проекту в качестве консультанта Debian.
Первый выпуск (версия 1.0) произошел год спустя, в марте 2013, и был основан на Debian 7 “Wheezy”, стабильном дистрибутиве Debian. В первый год развития мы создали пакеты сотен приложений, относящихся к тестированию на проникновение, и построили полноценную инфраструктуру. Даже, если ряд приложений был действительно важен, список приложения тщательно курировался, пропуская приложения, которые больше не работали или повторяли свойства уже использовавшиеся в лучших программах.
В последующие два года после версия 1.0, Kali выпустила много пошаговых усовершенствований, расширяющих ряд доступных приложений и улучшающих поддержку различного оборудования благодаря более новым впускам ядра. При помощи инвестиций в постоянную интеграцию мы обеспечили то, что все важные пакеты хранятся в устанавливаемом состоянии, и что живой пользовательский образ (отличительная черта данного дистрибутива) всегда может быть создан.
В 2015 вышла Debian 8 “Jessie”, мы работали над пересмотром Kali Linux на его основе. Так как в Kali Linux 1.x не входит GNOME Shell (полагаясь на GNOME Fallback вместо нее), в этой версии мы решили использовать и улучшить ее: мы добавили некоторые расширения GNOME Shell для получения недостающих свойств, самым примечательным в этом является Applications menu. Результатом этой работы стала Kali Linux 2.0, опубликованная в августе 2015.
GNOME является средой рабочего стола Kali Linux по умолчанию
Среда рабочего стола – это собрание графических приложений, которые разделяют общий графический инструментарий, и которые должны использоваться вместе на рабочей платформе пользователя. Среда рабочего стола, как правило, не используется на серверах. Они обычно предоставляют лаунчер приложения, файловый менеджер, веб-браузер, email клиент, офисное помещение и т.д.
GNOME – самая популярная среда рабочего стола (вместе с KDE, Xfce, LXDE, MATE) и они являются уже установленными на основные образы ISO, предоставленные Kali Linux. Если вам не нравится GNOME, то очень легко создать пользовательский ISO образ со средой рабочего стола по вашему выбору. Инструкции, как это делать, освещены дальше в этой книге, в главе 9 “Продвинутое использование”.
Параллельно мы увеличили наши усилия, чтобы гарантировать, что у Kali Linux всегда присутствует последняя версия всех приложений, предназначенных для проведения тестирования на проникновение. К сожалению, цель была немного не связана с использованием Debian Stable в качестве основы для дистрибутива, потому что она требует от нас обеспечивать ретро поддержку многим пакетам. Это происходит вследствие того факта, что Debian Stable отдает приоритет стабильности программного обеспечения, часто вызывая долгую задержку между выходом более свежего обновления и интеграцией этого обновления в дистрибутив.
Учитывая наши инвестиции в непрерывную интеграцию, было вполне естественным шагом перебалансировать Kali Linux поверх Debian Testing таким образом, чтобы мы могли извлечь пользу из последней версии всех пакетов Debian, сразу же, как только они становились доступными. У Debian Testing более агрессивный цикл обновления, который сам по себе является более совместимым с философией Kali Linux.
В сущности, это концепция Kali Rolling. В то время как дистрибутив rolling был доступен совсем небольшое время, Kali 2016.1 была впервые официально выпущена для того, чтобы полностью охватить природу rolling дистрибутива: когда вы устанавливаете последнюю версию Kali ваша система, в действительности, отслеживает дистрибутив Kali Rolling, и каждый день у вас будет новое обновление. В прошлом, выпуски Kali были снапшотами, лежащими в основе дистрибутива Debian со встроенными в него особенными Kali пакетами.
Rolling дистрибутив имеет много преимуществ, но у него также и много проблем, которые касаются как и тех, кто создает дистрибутивы, так пользователей, которым приходится справляться с бесконечным потоком обновлений, а иногда и полностью с несовместимыми изменениями. Эта книга создана, чтобы дать вам знания, необходимые для преодоления всяких неожиданностей, которые могут возникнуть во время установки и использования Kali Linux.
1.2 Взаимосвязь Kali Linux с Debian
Дистрибутив Kali Linux основан на Debian Testing. Именно поэтому большинство пакетов, доступных в Kali Linux, пришли прямо из репозитория Debian. Несмотря на то, что в основном Kali Linux полагается на Debian, он является полностью независимым в смысле того, что у нас есть своя собственная инфраструктура, и в связи с этим мы сохраняем полную свободу производить любые изменения, какие мы захотим.
Движение пакетов
Со стороны Debian, специалисты ежедневно работают над обновлением пакетов и загрузкой их в дистрибутив Debian Unstable. Как только самые проблемные ошибки будут устранены, пакеты переносятся в дистрибутив Debian Testing. Процесс переноса также гарантирует, что ни одна из зависимостей не будет нарушена в Debian Testing. Основная задача подобного рода действий заключается в том, что Testing всегда готов к использованию (или даже к новому выпуску!)
Цели, преследуемые Debian Testing, полностью совпадают с задачами, поставленными перед Kali Linux, и именно поэтому мы взяли его за основу. Чтобы добавить в дистрибутив специальные Kali пакеты, мы следуем процессу, состоящему из двух этапов.
Сначала, мы берем Debian Testing и принудительно внедряем наши собственные пакеты Kali (расположенные в нашем репозитории kali-dev-only) для создания репозитория kali-dev. Этот репозиторий время от времени будет давать сбои: например, наши специальные Kali пакеты, могут не устанавливаться, пока они не будут перекомпилированы в отношении более новых библиотек. В других ситуациях раздвоенные пакеты, также могут быть обновлены, чтобы снова стать инсталлируемыми или для того, чтобы исправить инсталлируемость другого пакета, который зависит от более новой версии раздвоенного пакета. В любом случае, kali-dev не предназначен для конечных пользователей.
kali-rolling является дистрибутивом, информацию о котором пользователи Kali Linux скорее всего будут отслеживать. Также он создан из kali-dev таким же образом, как и Debian Testing создан из Debian Unstable. Пакеты переносятся только тогда, когда все зависимости могут быть удовлетворены в целевом дистрибутиве.
Управление различиями с Debian
В качестве конструктивного решения мы стараемся как можно больше минимизировать количество раздвоенных пакетов. Как бы то ни было, чтобы реализовать некоторые из уникальных особенностей Kali, необходимо внести ряд некоторых изменений. Чтобы ограничить влияние этих изменений, мы стремимся отправить их «выше по течению», интегрируя особенность напрямую или путем добавления необходимых методов таким образом, чтобы было легко непосредственно включить нужные функции без дальнейшей модификации самих вышестоящих пакетов.
The Kali Package Tracker помогает нам продолжать отслеживать наши изменения с Debian. В любое время, мы можем проверить, какой пакет был раздвоен, синхронизирован ли он с Debian и требуется ли обновление. Все наши пакеты сохраняются в репозиториях Git, где рядом находятся ветка Debian и ветка Kali. Благодаря этому, обновление раздвоенных пакетов является простым процессом, состоящим из двух несложных шагов: обновление ветки Debian и затем слияние с веткой Kali.
В то время, как количество раздвоенных пакетов в Kali является относительно небольшим, число дополнительных пакетов довольно таки велико: на апрель 2017 года их количество приближалось к 400. Большинство этих пакетов являются бесплатным программным обеспечением, соответствующим Debian Free Software Guidelines, и наша конечная цель заключается в том, чтобы всегда поддерживать эти пакеты в Debian. К сожалению, есть также несколько исключений, когда практически невозможно было создать правильное пакетирование. В результате нехватки времени в Debian было отправлено несколько пакетов.
Перевод: Анна Давыдова
Источник: kali.training/
Перейти к содержанию книги Kali Linux Revealed
Это интересно: