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

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

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

Так как мы не ищем легких путей, то будем устанавливать самостоятельно, скачаем образ kali-linux-2.0-amd64.iso , размером 3,09 ГБ.

И так, создаём виртуальную машину в WMvare либо virtualbox и начинаем установку.

Первое что мы видим, это выбор вариантов установки. Это несколько вариантов live установки, такие как:

  • failsafe (безопасный)
  • persistence – live версия с сохранением изменений на диске,
  • encrypted persistence – с шифрованием
  • режим forensic, “судебный режим”, при его использовании на присоединённые устройства не вносится никаких изменений
  • Install with speech synthesis – установка со звуковым сопровождением

Нас же интересует меню graphical install – установка с графической оболочкой.

Установка на SSD заняла не более 10 минут. После окончания установки, на предлагают использовать сетевой репозиторий. Мы конечно же соглашаемся, после чего происходит автоматическое обновление пакетов.

Следующий этап это настройка загрузчика GRUB, в моём случае это единственный диск с одной операционной системой, поэтому ставим загрузчик в начало единственного диска.

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

Описание ВСЕХ утилит kali linux здесь – Kali Linux Tools Listing

01 – Information Gathering – Сначала идут консольные и графические утилиты для сбора информации, можно протестировать порты.


Самые популярные утилиты nmap (консольная) и zenmap он же с графической оболочкой.

02 – Следующий раздел Vulnerability Analysis, или по нашему сканеры уязвимостей. Например “OpenVAS”, как аналог небезызвестного сканера Xspider.

Устанавливается он довольно долго.

03 – Web application analysis – тестирование web приложений.

04 – Database Assessement – всё для работы с базами данных.

05 – Password Attacks – подбор пароля по хэшу, брутфорс.

06 – Wireless Attack – набор утилит для аудита беспроводных сетей.

07 – Reverse engineering – различные дебаггеры и отладчики.

08 – Exploitation tool – эксплуатация различных эксплойтов.

09 – Sniffing and spoofing утилиты для работы с трафиком, преимущественно чужим.

10 – Post Exploitation еще порция эксплойтов.

11 – “Судебные утилиты”, помогут извлечь ценную информацию.

12 – Reporting tools – создание отчетов

13 – System services – запуск и остановка сервисов приложений.

В общем, десятки приложений для брутфорса, подбора хэшей паролей, поиска уязвимостей в веб серверах, wi-fi сетях, веб приложениях.

Для использования этой системы понадобится опыт использования ОС linux и работы с консолью. Не используйте данное ПО для противозаконных целей.

Статья 272. Неправомерный доступ к компьютерной информации

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

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

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

На сегодняшний день самыми популярными дистрибутивами для тестирования на проникновение являются *nix-like дистрибутивы: , BlackArch Linux, Pentoo и многие другие. Они могут использоваться как в виртуальной среде, так и в качестве live системы или вообще быть установлены в виде десктопной ОС.

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


PentestBox не похож на другие security-дистрибутивы, которые работают на виртуальных машинах. Идея о его создании посетила автораAditya Agrawal после изучения статистики - более 50% пользователей, скачавших дистрибутивы, использовали Windows:

  • Samurai Web Testing Framework -
  • Santoku Linux -
  • Parrot OS -

Что же отличает PentestBox?

Простой для использования.Скачиваем 2,5 гигабайта с сайта, распаковываем и все готово к использованию. Не такой требовательный к ресурсам, как инстанс виртуальной машины. Нет зависимостей, все утилиты, стандартые команды - все установлено. Также, установлен браузер Mozilla Firefox с самымипопулярными аддонами для аудита веб-приложений .

PentestBox довольно легко кастомизируется - добавляете нужные вам утилиты на python/ruby/исполняемый файл и прописываете алиасы. Обновления тоже не составят никаких сложностей. Интерфейс выполнен в виде командной строки с «классическим» зеленым шрифтом на черном фоне, олд скул.

PentestBox содержит достаточно большое количество популярных утилит, облегчающих процесс тестирования на проникновение. Утилиты разбиты по группам, облегчающим их поиск и использование - от сбора информации и разведки, веб-сканеров, bruteforce утилит до утилит анализа Android приложений и Wi-Fi.

Сборка не содержит один из основных «комбайнов», используемых специалистами по безопасности и хакерами - Metasploit framework. Авторуказывает , что для установки и так существует вполне себе работающая Windows версия этого продукта, прекрасно выполняющая свое предназначение в нативном виде.

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

Сбор и анализ информации

В этом разделе собраны утилиты для предварительного исследования цели.

Форензика

Утилиты для сбора «цифровых доказательств», криминалистического анализа, сбора доказательной базы.

PDF tools - поиск и выявление подозрительных объектов в PDF документах, анализ элементов PDF.

PeePDF - анализ объектов, элементов и потоков, содержащихся в PDF файлах.

Origami - утилита для анализа и работы с зараженными pdf (используемыми для

Начну свой рассказ с анекдота. Решили как-то Винни-Пух (ВП) и Пятачок (П) взять интервью у снежного человека. Ходили, искали, так и не нашли. Добрались до гор Сибири. Там ВП говорит:
"Пятачок давай разделимся, а то мы с тобой никогда его не найдем!"

Так и сделали. ВП искал, искал, никого нет. Решил найти Пятачка. Ходил, бродил, вдруг видит Пятачок лежит мертвый с разорванным ртом, а рядом диктофон валяется. ВП включил диктофон и слышит:
-Товарищ снежный человек, можно взять у вас интервью?
-Бери!
-Но...
-Бери!
-Но это же не интервью!
-Бери!
-А-а-а!
...
Вот и я решил взять интервью, не у снежного человека, конечно же;),
а у хакеров, людей, которых достаточно сложно найти и которые могут много чего интересного рассказать. Всем я задавал одинаковые вопросы (очень уж хотелось выяснить, чем отличаются между собой эти невидимки;), не все из которых имеют отношения к компьютерам. Не буду особо вдаваться в то, как я находил реальных хакеров (оставлю это профессиональной тайной), скажу лишь, что некоторые из них достаточно известны в узких кругах, других
порекомендовали знающие люди, третьих приходилось искать самому.

Интервью №1 (Sidex)

1) Нужна ли Вам известность?

Меня не интересует "массовая" известность. Такая чтобы, обо мне говорили обыватели и писали в журналах, далёких от компьютерной безопасности, и компьютеров вообще. Например, мне несимпатична популярность пресловутого Митника, Левина или последней "звёздочки" - Mafia Boy`я. Скорее интересует "узкая" известность среди людей наиболее компетентных и авторитетных. Как говорилось "лучше меньше, да лучше".

2) Как стать хакером?

Никто не спрашивает: как стать обрубщиком ватников? Тогда почему вопрос имеет отношения к "специальности"
- хакер? Это не более чем миф для вскормки подростков: ты станешь хакером, мы научим быть тебя хакером, ты должен стать хакером, американское "How become a hacker". Я же хотел, чтобы молодые люди, задающиеся поднятым вопросом, сменили его на: как стать специалистом по компьютерной безопасности? Тут я бы советовал получить максимум фундаментальных знаний, как то: работа с различными операционными системами, разнообразное программирование, иностранные языки (общения:), протоколы коммуникации, аппаратное устройство техники и т.д. А получив необходимое в нужном объёме, обратиться к более конкретным источникам информации: новостным лентам/сайтам, рассылкам по безопасности, контактам со знающими людьми в интересующей области, тем же книгам, и, конечно, актуальной периодике, вроде того же журнала "Хакер".

3) Ваша любимая книга?

Ирвин Шоу "Богач, бедняк", "Хлеб по водам"; William Gibson
"Burning Chrome".

4) Ваша любимая музыка?

Электронная "фундаментальная" музыка: Kraftwerk, Future sound of London, The Orb, Orbital. И современные эксперименты: Dust brothers, Chemical brothers (ранние и самые последние работы), Primal scream, Apollo 440, Paul Oakenfold, easy listening от Cafe del
Mar.

5) Ваше любимое кино?

Очень тронул фильм "Бойцовский клуб". Но его массовость и неглубина идеи, не позволяют назвать его любимым. Итого, затрудняюсь назвать любимое кино, т.к. логичным было бы написать здесь западный фильм. Я же не постеснялся бы назвать - "Хрусталёв, машину" от супер-режиссёра Германа, что, к сожалению, лишь изредка радует нас своими работами. Из совсем небюджетного кино - "Железная пята олигархии" "нежного"-Баширова.

Ну во-первых, не нужно путать хакера и кракера.... Ломал я разные программульки, но "ломы" мне не запоминаются - в них нет интереса. Интереснее созидать, чем ломать.

9) Есть ли у вас девушка?

Смешной вопрос, разумеется - русские;-). Хотя дело не в национальности...

Linux, Solaris, WinNT

Для разных задач - разные ОС, тут нет и не может быть однозначного ответа.


компьютером?

От 12 до 24.

15) Что Вы думаете о Гейтсе?

Человек, сделавший состояние на человеческой лени и глупости. Приход Гейтса был неизбежен, не было бы его - был бы кто-то другой.

Интервью №4 (TEN)

1) Нужна ли Вам известность?

2) Как стать хакером?

3) Ваша любимая книга?

"Как программировать на C++"

4) Ваша любимая музыка?

5) Ваше любимое кино?

"Иван Васильевич меняет профессию"

7) Самый запомнившийся взлом.

Взлом, когда тебя ловят - самый запоминающийся взлом:).

8) Кого вы считаете самым выдающимся хакером?

Кевин Митник.

9) Есть ли у вас девушка?

10) Хакеры какой национальности самые лучшие?

Русские, конечно.

11) Какие операционные системы стоят на Вашем компьютере?

WinNT 4.0 Workstation и FreeBSD.

12) Какую ОС Вы считаете лучшей?

13) Сколько часов в день вы проводите за
компьютером?

Не меньше 7.

14) На каких языках программируете?

15) Что Вы думаете о Гейтсе?

Хе-Хе! Что я думаю о Гейтсе? Козёл он!

Интервью №5 (Blackhole)

1) Нужна ли Вам известность?

Нет, совсем не нужна.

2) Как стать хакером?

Любить программирование и виртуозно знать его корни - Ассемблер.

3) Ваша любимая книга?

"Война и мир" Толстого.

4) Ваша любимая музыка?

Иоган Себастьян Бах. Сейчас, например, звучат великолепные "Французские сюиты".

5) Ваше любимое кино?

Перечисление заняло бы слишком много времени. Смотрю по настроению.

7) Самый запомнившийся взлом.

Это запрещено законодательством РФ 😉

8) Кого вы считаете самым выдающимся хакером?

Кевина Митника и Роберта Морриса.

9) Есть ли у вас девушка?

Конечно, есть.

10) Хакеры какой национальности самые лучшие?

У меня нет такой статистики. Думаю, что каждый может достигнуть успехов.

11) Какие операционные системы стоят на Вашем компьютере?

MS DOS и Windows NT.

12) Какую ОС Вы считаете лучшей?

13) Сколько часов в день вы проводите за
компьютером?

14) На каких языках программируете?

Ассемблер, C++ и Java.

15) Что Вы думаете о Гейтсе?

Молодец. Но его (Microsoft) языки программирования мне не по душе. И то, что он сделал с Java тоже не делает ему чести.

Спасибо.

Интервью №6 (VirVit)

1) Нужна ли Вам известность?

Смотря в какой сфере жизни.

2) Как стать хакером?

Учиться и еще раз учиться... А так же практиковаться...

3) Ваша любимая книга?

Архитектура ОС UNIX.

4) Ваша любимая музыка?

Rock-n-roll, rock, funk

5) Ваше любимое кино?

8) Кого вы считаете самым выдающимся хакером?

Не интересуюсь известными личностями, хотя Митник...

9) Есть ли у вас девушка?

10) Хакеры какой национальности самые лучшие?

11) Какие операционные системы стоят на Вашем компьютере?

Win98, Linux Black Cat 6.02

12) Какую ОС Вы считаете лучшей?

13) Сколько часов в день вы проводите за
компьютером?

14) На каких языках программируете?

C, C++, Asm, FoxPro.

15) Что Вы думаете о Гейтсе?

Ничего. Оказался в нужное время в нужном месте.

Интервью №7 (Myztic)

1) Нужна ли Вам известность?

Среди других хакеров, не помешало бы.

2) Как стать хакером?

Нужно иметь огромное терпение и желание учиться этому.

3) Ваша любимая книга?

"Атака на интернет".

4) Ваша любимая музыка?

HardCore techno.

5) Ваше любимое кино?

7) Самый запомнившийся взлом.

8) Кого вы считаете самым выдающимся хакером?

9) Есть ли у вас девушка?

10) Хакеры какой национальности самые лучшие?

Русские естессно.

11) Какие операционные системы стоят на Вашем компьютере?

Linux RH7.0 и Win98

12) Какую ОС Вы считаете лучшей?

Трудно сказать, в целом хорошие юниксо-подобные ОС.

13) Сколько часов в день вы проводите за
компьютером?

14) На каких языках программируете?

15) Что Вы думаете о Гейтсе?

Умный перец, додумался продавать софт, а вообще он жадный.

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

: тестирование на проникновение, книгу пригодную для использования как новичками так и уже опытными администраторами и экспертами ИБ для целей проведения аудита безопасности ИТ-инфраструктуры. Книга состоит из 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

В мире 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 в миниатюре.