Ос для хакерства язык русский. Гид по Kali Linux: тестирование на проникновение

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

Хакерские программы

1. dhcpdump - получение данных о локальной сети

Программа предоставляет информацию о широковещательных пакетах от DHCP-сервера, работающего в вашей локальной сети. На основе собранных данных можно легко выяснить адрес шлюза, DNS-сервера и иную информацию еще до подключения. В основном, dhcpdump используется для отладки работы DHCP-сервера, но хакеры могут использовать этот софт для пассивного сбора информации о структуре сети перед атакой.

2. dsniff - вытаскивает логины и пароли

Хорошо известный многим сниффер. Отличается простотой: запустил и получай себе пароли, которые вводят на сайтах другие члены локальной сети. Для успешной работы dsniff требуется, чтобы локальная сеть была организована с применением пассивного сетевого оборудования (Ethernet-пакеты не маршрутизируются и рассылаются всем).

3. httpry - перехватывает введенные на сайтах пароли

Еще один сниффер, но со специализацией только на HTTP-трафике. Собирает адреса посещенных страницы, логины и пароли.

4. iptraf - кто сколько насидел в интернете

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

5. mysql-sniffer - перехватывает запросы к MySQL и ответы

Незаменимый инструмент для web-разработчика. Программа фиксирует все обращения к локальному серверу MySQL. Затем по журналам можно отлавливать ошибки в работе сайта и решать проблемы, связанные с производительностью работы сервера. Хакеры могут использовать для получения пользовательских паролей на сайте.

6. ngrep - поиск в сетевом потоке

Поистине уникальный инструмент. Как grep, только для сетевого трафика. Можно, например, проверять, куда утекают ваши персональные данные.

7. p0f - детектор операционных систем

Позволяет пассивно определять тип оборудования и установленные операционные системы на машинах. Атакующий не выдаст себя и факт разведки не попадет в журналы.

8. snort - система обнаружения вторжений

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

9. tcpdump - захват сетевого трафика

Записывает весь трафик в универсальном формате PCAP для дальнейшего изучения. Например, можно записать трафик публичной сети Wi-Fi и дома изучить записанное с помощью Wireshark.

10. iftop - производительность сетевой подсистемы

Мониторинг производительности сетевой подсистемы. Тормозит интернет? Проверьте для начала iftop - может банально не тянет сетевой адаптер.

11. netstat - что происходит?

Показывает открытые сетевые порты и подключившихся к ним клиентов. Периодически полезно запускать на серверах для проверки, не протроянили ли компьютер.

12. netcat - универсальный сетевой инструмент

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

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

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

Сегодня мы увидим дистрибутивы linux для взлома, одни из лучших, а также для тестирования и проникновения. В основном здесь перечислены различные дистрибутивы с упором на безопасность Эти дистрибутивы Linux предоставляют различные инструменты, которые необходимы для оценки сетевой безопасности и других подобных задач.

Kali Linux - наиболее широко известный Linux дистрибутив для "этического хакерства" с возможностью тестирования на проникновение. Известный как дистрибутив Linux для тестирования безопасности, Kali Linux был разработан в целях наступательной безопасности и предшественником Kali Linux на этом пути был BackTrack, созданный на базе нескольких дистрибутивов Linux.

Kali Linux основан на Debian. Он поставляется с большим количеством инструментов для тестов на проникновение в различных областях безопасности и анализа. Теперь он следует модели роллинг-релизов, которая означает, что каждый инструмент вашего дистрибутива всегда будет актуален.

Дистрибутивы linux для взлома разнообразны и многофункциональны, среди которых Kali Linux - пожалуй, самая передовая платформа для тестов на проникновение. Дистрибутив поддерживает широкий спектр устройств и аппаратных платформ. Кроме того, Kali Linux предоставляет приличный набор документации, а также большое и активное сообщество.

BACKBOX

BackBox - linux для взлома, дистрибутив, основанный на Ubuntu, разработан для тестов на проникновение и оценки безопасности. Это один из лучших дистрибутивов в своей области.

У BackBox есть свое собственное хранилище программного обеспечения, обеспечивающее последние стабильные версии различных наборов инструментов для анализа сети и наиболее популярных приложений для "этического взлома". Он разработан с упором на минимализм и использует окружение рабочего стола XFCE. Он обеспечивает быстрый, эффективный, настраиваемый и полноценный опыт работы. У BackBox также есть целое сообщество, готовое помочь по любым вопросам.

PARROT SECURITY OS

Parrot Security OS - Linux для тестирования безопасности и относительно новый игрок в этой сфере. Frozenbox Network стоит за развитием этого дистрибутива. Целевая аудитория Parrot Security OS - тестеры возможностей проникновения в различные системы, которые нуждаются в дружественной обстановке с онлайн-анонимностью, а также в зашифрованной системе.

Parrot Security OS базируется на Debian и использует MATE в качестве среды рабочего стола. Почти любой известный инструмент для тестов на проникновение можно найти здесь, наряду с некоторыми эксклюзивными пользовательскими инструментами от Frozenbox Network. И да, он доступен в качестве роллинг-релиза.

BLACKARCH

BlackArch - linux для взлома, дистрибутив для тестирования на проникновение и исследование безопасности, построенный на основе Arch Linux.

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

Если вы уже являетесь пользователем Arch Linux, вы можете настроить под себя инструменты, находящиеся в коллекции BlackArch.

DEFT LINUX

DEFT Linux - дистрибутив, созданный для компьютерного анализа, с целью запуска системы (LiveCD) для определения поврежденных или испорченных устройств, подключенных к компьютеру, которые запускаются найти в ходе загрузки.

DEFT в паре с DART (Digital Advanced Response Toolkit) - система анализа компьютера для Windows. Он использует окружение рабочего стола LXDE и приложение WINE для запуска инструментов Windows.

Samurai Web Testing Framework

Этот инструмент разработан с единственной целью - тестирование на проникновение в Интернет. Другое отличие от остальных дистрибутивов состоит в том, что здесь речь идет о виртуальной машине, поддерживаемой Virtualbox и VMWare.

Samurai Web Testing Framework основан на Ubuntu и содержит лучшие бесплатные инструменты с открытым исходным кодом с акцентом на тестирование сайтов и их атаку.

Samurai Web Testing Framework также включает в себя предварительно сконфигурированные Wiki, созданные специально для хранения информации во время тестов на проникновение.

PENTOO LINUX

Pentoo базируется на Gentoo Linux. Это дистрибутив ориентирован на безопасности и тестах на проникновение, и доступен в качестве LiveCD с поддержкой сохранения состояния (сохранение любых изменений, сделанных в ходе сеанса работы, которые будут доступны при следующей загрузке, если вы используете USB-накопитель).

Pentoo - Gentoo с большим количеством настраиваемых инструментов, функций ядра и многого другого. Он использует окружение рабочего стола XFCE. Если вы уже являетесь пользователем Gentoo, вы можете установить Pentoo как дополнение к уже установленной системе.

CAINE

Caine - окружающая среда для помощи в анализе компьютера, создан как проект цифрового анализа и полностью сосредоточен на нем.

Caine поставляется с богатейшим набором средств, разработанных специально для оценки и анализа систем. Проект предлагает отличную среду, которая организована с целью интеграции существующих программных средств таких, как модульное ПО и удобный графический интерфейс. Основные задачи проекта, которые CAINE гарантирует: среда, которая поддерживает цифровой анализ в течение всех четырех фаз исследования, интуитивно понятный графический интерфейс, уникальные рабочие инструменты.

Network Security Toolkit

Network Security Toolkit - Linux для тестирования безопасности, представляет собой загрузочный LiveCD на основе Fedora. Он обеспечивает профессионалов в области безопасности и сетевых администраторов широким спектром инструментов сетевой безопасности с открытым исходным кодом.

У Network Security Toolkit есть расширенный веб-интерфейс пользователя для системного/сетевого администрирования, навигации, автоматизации, мониторинга сети, анализа и конфигурации многих приложений, которые находятся в дистрибутиве Network Security Toolkit.

Fedora Security Spin

Fedora Security Spin представляет собой вариант Fedora, предназначенный для аудита безопасности и тестирования, а также может быть использован для обучения.

Цель данного дистрибутива - поддержка студентов и преподавателей, в то время как они практикуют или обучаются методологии в области информационной безопасности, безопасности веб-приложений, компьютерного анализа, экспертной оценки и так далее.

BUGTRAQ

Bugtraq - дистрибутив Linux с огромным диапазоном взламывающих, анализирующих и прочих инструментов. Если вы ищете дистрибутивы linux для взлома, вероятно, Bugtraq один из них.

Bugtraq доступен с рабочим окружением XFCE, GNOME и KDE на основе Ubuntu, Debian и OpenSUSE. Он также доступен на 11-ти различных языках.

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

ARCHSTRIKE

ArchStrike (ранее известный как ArchAssault) - проект, основанный на Arch Linux для тестеров в области проникновения и профессионалов в области безопасности.

Дистрибутивы linux для взлома поставляются с широким диапазоном программного обеспечения, как и ArchStrike, который оснащен всеми лучшими приложениями Arch Linux с дополнительными инструментами для тестирования на проникновение и кибер-безопасности. ArchStrike включает в себя тысячи инструментов и приложений, разделенные на группы пакетов по категориям.

: тестирование на проникновение, книгу пригодную для использования как новичками так и уже опытными администраторами и экспертами ИБ для целей проведения аудита безопасности ИТ-инфраструктуры. Книга состоит из 8 частей, в которые входят 62 главы с подробным описанием используемых инструментов и методики тестирования.

Книга является систематизированным сборником, включающим переводы англоязычных ресурсов, книг и веб-сайтов посвященных теме penetration testing и собственного опыта авторов.

Официальное описание к книге:

Kali Linux является передовым Linux дистрибутивом для проведения тестирования на проникновение и аудита безопасности. Информация в данной книге предназначена только для ознакомления или тестирования на проникновение собственных се тей.

Для тестирования сетей третьих лиц, получите письменное разрешение.

"Тестирование на проникновение (жарг. Пентест) - метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника." - WiKi.

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

Книга состоит из 8 частей , в которые входят 62 главы . Все подробно рассказывается с использованием примеров. В книге используется самая актуальная информация на сегодняшний день.

1. Общая информация и установка Kali Linux

  • Что Такое Kali Linux?
  • Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину
  • Установка Дополнений гостевой ОС VirtualBox для Kali Linux 2.0
  • Как установить Kali Linux на флешку и на внешний диск (простой способ)
  • 10 лучших подсказок того, что нужно сделать после установки Kali Linux 2.0
  • Инструменты VMware в гостевой системе Kali
  • Как включить VPN на Kali Linux - разрешение проблемы с невозможностью добавить VPN
  • Проверка и восстановление репозиториев в Kali Linux из командной строки
  • Как поменять среду рабочего стола в Kali Linux
  • Как добавить/удалить обычного (не рута) пользователя в Kali Linux
  • Как сбросить пароль root’а в Kali Linux
  • Восстанавливаем GRUB в Kali Linux после обновления до Windows 10
  • Повышаем свою анонимность в Интернете с Tor в Kali Linux

2. Обзор инструментов Kali Linux

  • Обзор разделов инструментов Kali Linux. Часть 1. Краткая характеристика всех разделов
  • Обзор разделов инструментов Kali Linux. Часть 2. Инструменты для сбора информации
  • Лучшие хакерские программы
  • База данных эксплойтов от Offensive Security (создателей Kali Linux)

3. Тестирование на проникновение беспроводных сетей

  • Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
  • Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и cowpatty в Kali Linux
  • Взлом Wifi WPA/WPA2 паролей с использованием Reaver
  • Модификация форка Reaver - t6x - для использования атаки Pixie Dust
  • Взлом паролей WPA2/WPA с помощью Hashcat в Kali Linux (атака перебором Wi-Fi паролей по маске)
  • Мод Wifite с поддержкой Pixiewps
  • Взлом Wi-Fi сетей: инструменты, которые не попали в Kali Linux
  • Router Scan by Stas’M на Kali Linux (взлом роутеров и Wi-Fi в промышленных масштабах)
  • Чиним Wifi_Jammer и Wifi_DoS в WebSploit
  • Стресс-тест беспроводной сети с Wifi_Jammer: как глушить Wi-Fi
  • Стресс-тест беспроводной сети с Wifi_DoS: как досить Wi-Fi

4. Стресс-тесты сети

  • Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali Linux: slowloris, slow body и slow read атаки в одном инструменте
  • Стресс-тест сети: DoS веб-сайта в Kali Linux с GoldenEye
  • Стресс-тест сети с Low Orbit Ion Cannon (LOIC)
  • Стресс-тест сети: DoS с использованием hping3 и спуфингом IP в Kali Linux

5. Анализ уязвимостей в веб-приложениях

  • Инструкция по WhatWeb: как узнать движок сайта в Kali Linux
  • SQL-инъекции: простое объяснение для начинающих (часть 1)
  • Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз данных через SQL-инъекции
  • Хакерские плагины для Firefox
  • Сканируем на уязвимости WordPress: WPScanner и Plecost
  • Новая версия Plecost 1.0.1 - программы для поиска уязвимостей WordPress
  • Работа с W3af в Kali Linux
  • ZAProxy: тестирование на проникновение веб-приложений
  • Как запустить Metasploit Framework в Kali Linux 2.0
  • Как запустить Metasploit Framework в Kali Linux 1.1
  • Metasploit Exploitation Framework и searchsploit - как искать и как использовать эксплойты
  • DIRB: поиск скрытых каталогов и файлов на веб-сайтах
  • Поиск админок сайтов с Kali Linux

6. Анализ уязвимостей в операционных системах и серверном программном обеспечении

  • Сканирование уязвимостей с OpenVAS 8.0
  • Инструкция по Armitage: автоматический поиск и проверка эксплойтов в Kali Linux
  • Как сканировать Linux на руткиты (rootkits) с помощью rkhunter
  • Аудит безопасности Linux
  • Установка Linux Malware Detect (LMD) на Linux
  • Как УЗНАТЬ пароль Windows?

7. Сканирование сетей. Перехват данных в сетях

  • Эмуляция сети из нескольких компьютеров на одном компьютере
  • Как использовать сканер безопасности NMAP на Linux
  • Книга по Nmap на русском
  • Взлом пароля веб-сайта с использованием WireShark (и защита от этого)
  • FTP-Map: определяем программное обеспечение и его версию для FTP-серверов и ищем для них эксплойты
  • ZMap или Как просканировать все IPv4 адреса мира за 45 минут
  • 8. Атаки на пароли. Брутфорсинг
  • Списки слов для атаки по словарю: пароли, имена пользователей, каталоги
  • PW-Inspector: отбираем пароли соответствующие критериям
  • THC-Hydra: очень быстрый взломщик сетевого входа в систему (часть первая)
  • Брутфорсинг веб-сайтов с Hydra (часть вторая инструкции по Hydra)
  • Crunch - генератор паролей: основы использования и практические примеры
  • BruteX: программа для автоматического брутфорса всех служб

В вашем браузере отключен JavaScript

Существует несколько популярных securty дистрибутивов, содержащих большинство популярных утилит и приложений для проведения тестирования на проникновение. Обычно они основаны на существующих Linux-дистрибутивах и представляют из себя их переработанные версии. В этой статье будут представлены наиболее известные из них.

Kali Linux

Наиболее популярный дистрибутив на сегодняшний день. Является преемником Backtrack Linux.
Kali Linux является невероятно мощным инструментом для тестирования на проникновение, который поставляется с более чем 600 security-утилитами, такими как: Wireshark, Nmap, Armitage, Aircrack, Burp Suite, и т.д.

Существует несколько видов этого дистрибутива для различных платформ, таких как ARM, систем виртуализации, инстансов для проведения атак с мобильных платформ - Kali Nethunter.

В данный момент дистрибутив реализован в виде роллинг-релиза, который гарантирует, что вы всегда будете обладать новейшими версиями лучших инструментов и утилит для проведения тестирования на проникновение.

BlackArch

BlackArch Linux создан специально для пентестеров и специалистов по безопасности. Он поддерживает архитектуры i686 и x86_64. В комплект установки сейчас входит 1359 утилит для тестирования на проникновение и их число постоянно увеличивается. Основан на Arch Linux.

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

Parrot Security OS

Набирающий популярность security-дистрибутив, основанный на Debian-linux. Довольно простой в освоении, подходит и для новичков и для профессионалов. Этот дистрибутив нацелен как на проведение тестирования на проникновение, так и на анонимную работу в сети Интернет.

Довольно легкий и эффективный инструмент, многие security специалисты нашли в нем замену все более «прожорливому» Kali, тем более что Parrot использует репозитории Kali для обновления.

BackBox

BackBox основанный на Ubuntu легковесный дистрибутив. В прямом сравнении с Kali проиграет по многим пунктам. В нем нет такого количества разнообразных инструментов, утилит и фреймворков доступных прямо “из коробки”. Нет оптимизаций ядра и прочих твиков.

Благодаря легковесной оболочке XFCE BackBox Linux больше подходит для повседневного использования в качестве рабочей лошадки на вашем личном компьютере. Существует режим - Anonymous mode – весь системный траффик пропускается через TOR-прокси. Скрипт запуска меняет MAC-адрес системы и hostname, также при выключении режима все временные файлы удаляются с помощью интегрированного пакета BleachBit.

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

Pentoo Linux

Pentoo - security дистрибутив, основанный на популярном дистрибутиве Gentoo Linux, фанатами которого являются разработчики Pentoo. Содержит множество security-утилит.

Одной из особенностей является нативная поддержка Hardened Gentoo - несколько изменений в компиляторе и ядре, которые увеличивают общую защищенность системы от взлома.

Network Security Toolkit

Network Security Toolkit - это один из многих дистрибутивов Linux типа Live CD, направленных на анализ безопасности сети. NST дает администраторам простой доступ к широкому множеству открытых сетевых приложений, многие из которых включены в сотню лучших средств безопасности, рекомендованных сайтом insecure.org. Основан на Fedora Linux.

Обладая сбалансированным набором средств сетевого мониторинга, анализа и безопасности, может дать явные преимущества сетевому администратору, для контроля безопасности вверенной ему инфраструктуры.

DEFT Linux

Это дистрибутив разработан на платформе Lubuntu и оснащен удобным графическим интерфейсом. Кроме того, в продукт добавлен набор профильных утилит, начиная антивирусами, системами поиска информации в кэше браузра, сетевыми сканерами и утилитами для выявления руткитов и заканчивая инструментами, необходимыми при проведении поиска скрытых на диске данных.

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

Samurai Web Security Framework

Основное предназначение этого дистрибутива - тестирование на проникновения различных веб-приложений.

Поставляется в виде образа виртуальной машины, содержащий наиболее популярные Open Source утилиты для сбора информации и проведения различных атак на веб-приложения.

Pentest Box

PentestBox не похож на другие security-дистрибутивы, которые работают на виртуальных машинах. Было бы не совсем правильным называть эту сборку дистрибутивом, это скорее набор *nix-like утилит работающий в Windows окружении.

Имеет собственную оболочку, интерфейс выполнен в виде командной строки, содержит большое количество утилит, список которых можно самостоятельно дополнять/кастомизировать.

Если Вы Windows пользователь и Вас пугает установка виртуальных машин или Linux, Вы можете попробовать поработать с этой оболочкой.

Santoku Linux

Дистрибутив построен на основе Ubuntu linux. Представлен только в виде X64 платформы.

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

WifiSlax

Это специализированный дистрибутива с подборкой инструментов для проверки безопасности систем WiFi-сетей и проведения криминалистического анализа. Дистрибутив построен на базе Slackware linux.

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

В мире Linux мы привыкли видеть исключительно клоны. Debian, Ubuntu, Red Hat, SUSE - все это разные дистрибутивы, принципиального отличия в которых нет. Половина популярных Linux-дистрибутивов - это форки Debian или Ubuntu, другие - форки древнего Slackware с измененным менеджером пакетов и красивыми конфигураторами. От былого разнообразия не осталось и следа, но, может быть, мы просто плохо ищем?

Форк раздела «Введение» из прошлой статьи

Современному линуксоиду не понять, но раньше выбор дистрибутива был настоящей эпопеей. Дистрибутивы действительно отличались по многим параметрам, а ввиду отсутствия высокоскоростного интернета и виртуальных машин эти отличия играли весьма важную роль. Slackware предлагал сквозную простоту, Red Hat отличался проработанностью до мельчайших деталей и встроенными конфигураторами, Mandrake был оснащен графическим инсталлятором, а мегафичей Debian был APT, который позволял (ты не поверишь!) автоматически выкачивать софт из интернета.

Величайшей удачей было раздобыть четырехдисковый набор Red Hat, который включал в себя все графические оболочки и кучу прикладного софта, но, если это не удавалось, Mandrake на двух дисках был вполне пригоден. В те времена скачать образ диска могли лишь единицы, поэтому по рукам ходили многочисленные болванки с самыми ходовыми дистрибутивами. Само дистрибутивостроение отличалось относительной простотой и было пропитано духом just for fun, благодаря которому появлялись многочисленные Франкенштейны, включая мой собственный, почивший где-то на дне 10-гигабайтного диска Seagate.

Прошли годы, Seagate был убит Kingston, а дистрибутивы превратились в огромные сложные махины, созданные для выкачивания денег из компаний, чей админ внезапно уговорил начальство перевести серверы на Linux. Но где-то среди многочисленных инсталляций Ubuntu и Linux Mint продолжают существовать те самые Франкенштейны, которые привносят в мир Linux что-то новое, пусть и в честь очередного вытягивания денег.

Slax и модульная система расширения

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

Slax не просто дистрибутив, это чистокровный LiveCD, который, кроме всего прочего, можно расширять модулями. Делается это с помощью элегантного механизма, который, я уверен, применяется еще в куче других проектов, но впервые для таких целей был использован именно здесь, - файловой системы Unionfs. Суть метода в следующем: не имея возможности изменить файловую систему дистрибутива на компакт-диске с целью установки дополнительного софта, разработчики Slax придумали метод подключения к ней образов файловой системы поверх корня.

Весь дополнительный софт для Slax распространяется в виде модулей с расширением sb. Модуль представляет собой образ файловой системы Squashfs (простая ФС со сжатием), который содержит приложение и все необходимые ему файлы, лежащие по тем путям файловой системы, где они должны быть в работающей системе (usr/bin/abiword, например). Стоит положить этот модуль в специальный каталог на флешке (/slax/modules) или нарезать на диск, и система автоматически подхватит его и смонтирует поверх корня LiveCD при загрузке (Unionfs монтирует ФС друг на друга, как слои пирога). В результате в системе появится приложение, которого физически там нет.

Красота этой идеи не только в ее пригодности для расширения LiveCD, но и в абсолютной простоте реализации. Никаких менеджеров пакетов, конфликтов версий, остатков приложений в файловой системе, абсолютная защита от сбоев ФС, возможность отката к чистой версии ОС. В общем, перечислять можно долго. Но главное, что получается все это с помощью очень простого механизма, который можно реализовать в несколько строк на языке командного интерпретатора.

Есть только одна проблема: построить полноценный дистрибутив из сотен оверлейных файловых систем будет стоить и производительности, и стабильности.

GoboLinux и отдельные каталоги приложений

Другой необычный для Linux (но стандартный в OS X и Windows) подход к установке стороннего софта используется в дистрибутиве GoboLinux . Вместо привычных любому юниксоиду каталогов /bin, /usr/bin, /usr/share и других, содержащих установленные приложения в «размазанном» по системе виде, GoboLinux использует набор каталогов /Programs, /Users, /System, /Files, /Mount и /Depot.

Фактически дистрибутив следует по пути OS X. Все системные файлы находятся в каталоге /System, а приложения, установленные пользователем, - в /Programs, каждое в своем собственном обособленном каталоге (например, /Programs/Firefox). В результате появляется возможность установки разных версий одного приложения (как вариант - библиотеки), а для удаления софта достаточно физически стереть каталог.

Однако в такой организации каталогов есть изъян, который заставил разработчиков GoboLinux применить несколько костылей. Проблема в том, что, в отличие от приложений для OS X, софт для UNIX пишется в соответствии со стандартом FHS, который предполагает наличие в системе стандартного дерева каталогов, включающего в себя те самые /bin, /etc, /lib, /usr и так далее. Приложения ожидают увидеть эту структуру на диске и при ее нарушении могут вести себя непредсказуемо.

Чтобы решить эту проблему, разработчики GoboLinux применили два хака: специальный модуль ядра и символические ссылки. Модуль скрывает все стандартные каталоги (/bin, /etc и прочие) при листинге корневого каталога, но оставляет возможность получить к ним доступ при прямом обращении. Так удается скрыть реальную структуру каталогов от пользователя.

Ссылки, в свою очередь, решают проблему совместимости. Все системные библиотеки и приложения, хранящиеся в /System, имеют символические ссылки в каталогах /bin и /lib, что позволяет системе правильно функционировать. Совместимость сторонних приложений обеспечивает инсталлятор, который создает новые ссылки для каждого устанавливаемого приложения. Так, при установке Firefox появится файл /usr/bin/firefox, который на самом деле ссылается на /Programs/Firefox/bin/firefox, а также ряд других ссылок.

Да, это типичный представитель семейства Франкенштейнов, но у него есть свои поклонники, особенно из числа тех, кому стандартная организация файловой системы UNIX кажется устаревшей и неэффективной. А это, не будем спорить, действительно так.

NixOS, ее конфигуратор и менеджер пакетов

Говоря о менеджерах пакетов и организации файловой системы, нельзя не упомянуть NixOS, едва ли не самый интересный и «правильный» с точки зрения применяемых технологий дистрибутив. NixOS построена вокруг двух основных идей: декларативная модель конфигурации системы и современный менеджер пакетов, лишенный почти всех проблем, привычных dpkg, rpm и им подобных.

Обе этих технологии тесно связаны между собой и, работая вместе, реализуют весьма интересный принцип организации дистрибутива, который позволяет описать любое из его состояний (включая все конфигурационные файлы и набор установленных пакетов) с помощью одного центрального конфига. Для примера приведу следующий простой конфиг /etc/nixos/configuration.nix:

# Расположение загрузчика boot.loader.grub.device = "/dev/sda"; # Корневой раздел системы fileSystems."/".device = "/dev/sda1"; # Включить SSH по умолчанию services.sshd.enable = true; # Включить Apache (+ настройки) services.httpd.enable = true; services.httpd.adminAddr = "[email protected]"; services.httpd.documentRoot = "/webroot";

Этот файл описывает стандартные настройки простого веб-сервера с доступом по SSH. Да, NixOS действительно позволяет держать настройки разных сервисов в одном файле, но соль не в этом, а в том, что, имея данный конфиг, легко клонировать весь дистрибутив. Достаточно скопировать этот файл в свежеустановленный экземпляр NixOS и запустить команду

$ nixos-rebuild switch

И вуаля. Через несколько минут мы получим дистрибутив с преднастроенными и запущенными SSH и Apache. Но самое интересное, что данная команда не просто устанавливает, настраивает и запускает софт, а фактически приводит дистрибутив к описанному состоянию. Это значит, что после выполнения команды в системе действительно останутся только SSH и преднастроенный Apache и ничего, кроме их зависимостей и конфигов (по сути, аналог установки с нуля).

Данную функциональность можно использовать для быстрого разворачивания дистрибутива, переключения между состояниями, быстро переносить систему между физическими или виртуальными машинами, разворачивать кластеры и многое другое. Кроме того, благодаря менеджеру пакетов NixOS гарантирует целостность системы при обновлении и даже позволяет откатить ее к предыдущему состоянию.

Такое возможно потому, что разные версии (или сборки) одного пакета имеют различные пути расположения в системе внутри каталога /nix/store и идентифицируются системой по хешу, так что обновление - это всего лишь операция по выкачиванию новых версий пакетов, их разворачиванию по уникальному пути и «переключению» системы на их использование. Никто не запрещает в любой момент переключиться обратно. Косвенно такой подход решает проблему DLL Hell, позволяет откатывать приложения к прошлым версиям и, конечно же, устанавливать две версии одной софтины рядом друг с другом.

NixOS невероятно интересная система, и я рекомендую каждому, кто неравнодушен к Linux, обязательно ее попробовать. А мы идем дальше, на очереди QubesOS и ее виртуальные окружения.

QubesOS или Xen как основа для ОС

В разные времена предпринималось множество попыток создать защищенную операционную систему на основе технологий изоляции и виртуализации приложений. В свое время в рамках проекта Syngularity этим занималась даже Microsoft, однако ни одна из этих попыток не увенчалась успехом. Как бы хороши ни были идеи, заложенные в ОС, почти в 100% случаев они становились «жертвой второй системы» - перетащить юзеров и разработчиков на новую платформу не удавалось.

Проект QubesOS , начатый известным польским security-экспертом Иоанной Рутковской (Joanna Rutkowska), выгодно отличается на их фоне тем, что предлагает использовать для построения безопасной ОС уже существующие разработки, без необходимости ломать совместимость с приложениями, драйверами и с нуля писать миллионы строк кода. QubesOS - это всего лишь Linux-дистрибутив на основе Fedora, однако в отличие от других он изначально построен на идее жесткой изоляции приложений и компонентов системы с помощью виртуализации.

В основе системы лежит гипервизор Xen, поверх которого запускается несколько виртуальных машин (доменов), каждая из которых ответственна за выполнение своей системной функции. В отдельных доменах здесь работают сетевой стек (включая набор драйверов), файловые системы и драйверы RAID, а также графический стек, включающий в себя X-сервер. Для запуска приложений также применяются отдельные домены, но не по одному на каждое из них (иначе система умерла бы от быстрого исчерпания ОЗУ), а разделенные на «группы по интересам»: развлечения, работа, интернет-банкинг и так далее.

Канал передачи данных между доменами зашифрован и имеет строгие ограничения на тип передаваемой информации и возможных адресатов. Это значит, например, что если злоумышленник найдет дыру в сетевом стеке Linux и сможет получить доступ к сетевому домену, то он фактически окажется заперт внутри него, так как все, что может делать сетевой домен, - это обрабатывать запросы на сетевые подключения и передачу данных от авторизованных доменов. Это не спасет от снифинга и спуфинга, но защитит данные, хранящиеся в домене-хранилище.

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

В настоящее время разработчики QubesOS готовят к выпуску второй релиз системы (RC2 уже доступен), в котором появятся отдельный домен для Windows-приложений и USB-домен для безопасной работы с USB-устройствами.

ChromeOS

ChromeOS - один самых нетипичных, странных и неоднозначных дистрибутивов Linux. Для большинства людей это всего лишь браузер, работающий почти на голом железе, но для того, кто знаком с Linux, это полноценная операционная система, в которой есть множество стандартных черт обычных дистрибутивов, перемежающихся с собственными доработками, сделанными компанией Google.

По большому счету, ChromeOS - это сильно урезанная Ubuntu, поверх которой работает графическая среда, основанная на наработках проекта Chromium. За загрузку системы отвечает все тот же убунтовский Upstart, однако в силу необходимости запуска гораздо меньшего количества компонентов холодный старт ChromeOS происходит значительно быстрее (буквально за секунду). За графику здесь отвечает X.org, но используется он исключительно с целью правильной поддержки оборудования и устройств ввода, само изображение почти всегда идет в обход X-протокола напрямую в видеоадаптер (поэтому вскоре иксы будут заменены на Wayland или Mir).

Из других компонентов также используется графическая библиотека Clutter, PAM, D-Bus, NTP, syslog и cron. Идеи пакетов в системе нет, а все обновления ОС происходят в ходе OTA-обновления «одним куском». В ходе обновления система никогда не перезаписывается, а вместо этого использует второй системный раздел, который после перезагрузки становится первым. Таким образом, ChromeOS всегда можно откатить к предыдущему состоянию, а само обновление не может убить систему.

Благодаря отсутствию многих стандартных компонентов Linux-дистрибутивов и ориентированности на исполнение исключительно браузерных приложений, ChromeOS отличается высокой устойчивостью к взломам. Как и в случае с настольным браузером, каждое веб-приложение (читай: вкладка) исполняется в собственной песочнице, что позволяет предотвратить компрометацию всей системы в том случае, если злоумышленник найдет дыру в самом браузере. Системный раздел всегда смонтирован только на чтение. Для подтверждения целостности системы в хромбуках используется модуль TPM (Trusted Platform Module).

В целом ChromeOS - это не полноценная операционная система, а скорее очень нестандартный дистрибутив Linux, чего нельзя сказать, например, об Android или Firefox OS.

Debian GNU/kFreeBSD или «а почему бы и нет?»

Дистрибутив Debian всегда отличался широкой поддержкой самых разных компьютерных архитектур. Он способен работать на ARM, MIPS, PowerPC, Sparc и множестве других официально и неофициально поддерживаемых машин и процессоров. Однако один из самых интересных портов Debian был выполнен... на ядро FreeBSD.

По своей сути Debian GNU/kFreeBSD - это тот же самый дистрибутив, но модифицированный для запуска на ядре FreeBSD. Здесь есть привычный apt-get, набор конфигураторов, система инициализации в стиле System V, репозитории бинарных пакетов, KDE и GNOME, так что для конечного пользователя разница будет абсолютно не видна. Зато сисадмин найдет для себя много интересных плюшек.

Основной смысл существования этого проекта - получить возможность использовать технологии FreeBSD, недоступные в ядре Linux. К таким можно отнести нативную поддержку ZFS, модульную подсистему для работы с хранилищами данных GEOM, модульную сетевую подсистему Netgraph и, конечно же, эталонную реализацию TCP/IP-стека. Все это доступно в Debian GNU/kFreeBSD вместе с привычными плюшками Debian.

  • Damn Vulnerable Linux - самый уязвимый дистрибутив в мире
  • Stali - дистрибутив на основе идеи KISS от известного проекта Suckless

Боковые выносы: INFO

Впервые модель установки приложений в обособленные каталоги появилась в инсталляторе GNU Stow.

Интересно, что кроме Debian GNU/kFreeBSD существует также порт на микроядро Hurd, однако его состояние оставляет желать лучшего.

Версия браузера Chrome для Windows 8 - это не что иное, как ChromeOS в миниатюре.