Подняв сервер, можно сразу поставить одну из стандартных ОС, которые предлагает хостер. Но есть и другой вариант — загрузить собственный образ ISO и установить из него произвольную ОС и любой софт на свой выбор.
Это реально очень удобно. Мы можем поставить на сервер ParrotOS со всеми утилитами для пентестинга, готовый файл-сервер или любую ОС, даже Android или MacOS. Можно поставить специально подготовленную систему, настроенную именно для наших задач.
Зачем это нужно? Вот несколько примеров.
Установка системы из ISO — самый эффективный метод, если для сервера требуется нестандартное программное обеспечение и ОС. Всё-таки не каждому требуется именно типовая установка Nginx/Apache и стандартный набор программ из стека LAMP/LEMP/LEPP. Кому-то сервер нужен для других целей. Здесь много вариантов. Скажем, мы хотим запустить игровой сервер, медиасервер, групповой чат или набор утилит для пентестинга, то есть тестирования веб-сервисов на предмет уязвимостей, чтобы сообщить о них владельцу сервиса и, например, получить положенное вознаграждение по программе bug bounty.
Пентестинг
Многие задачи пентестинга удобно выполнять с выделенного сервера, а не со своего домашнего компьютера, где некоторые порты наглухо закрыты файрволом провайдера. А вот с сервера можно спокойно запустить, например, скан портов в круглосуточном режиме.
Для пентестинга лучше всего подходят операционные системы вроде Kali Linux и ParrotOS. Соответственно, их удобнее всего устанавливать из образов ISO.
Kali Linux
Kali Linux включает инструменты для следующих задач:
Обратная разработка (реверс-инжиниринг). Средства для отладки программ и реверс-инжиниринга исполняемых файлов.
Стресс-тестирование. Инструменты для стресс-тестирования сетей и веб-сервисов. По сути это DDoS системы, но не с целью обвалить её, а с благими намеренями выяснить, какую нагрузку система способна выдержать.
Взлом оборудования. Инструменты для работы с Android и Arduino.
Судебная экспертиза (форензика). Инструменты для цифровой криминалистики. Они позволяют создавать образы дисков, проводить анализ образов памяти и извлекать файлы.
Для упрощения пентестинга в системе есть категория Top 10 Security Tools (Топ-10 инструментов безопасности). В эту категорию входят aircrackng, burp-suite, hydra, john, maltego, metasploit, nmap, sqlmap, wireshark и zaproxy. Это самые известные и эффективные инструменты.
Например, Metasploit — фреймворк с огромной коллекцией эксплоитов для всех известных уязвимостей, швейцарский нож пентестера. Nmap — идеальная программа для сканирования портов. Wireshark — лучший снифер и анализатор сетевого трафика. John the Ripper — известный инструмент для брутфорса паролей, и так далее. Всё это поставляется в комплекте Kali Linux, так что ничего не нужно инсталлировать вручную. Всего в комплект входит более 600 предустановленных хакерских приложений. Это удобно. Хотя, в принципе, ничто не мешает установить любые нужные программы в любом другом дистрибутиве Linux.
Свежие образы Kali Linux генерируются каждую неделю и выкладываются на официальной странице.
Как вариант: Parrot OS
Дистрибутив Parrot OS на базе Debian служит той же цели, что и Kali Linux. Это своего рода «портативная лаборатория» для всех операций, связанных с ИБ, от пентестинга до форензики и стресс-тестирования, но при этом позиционируется также для разработчиков программного обеспечения с упором на безопасность и приватность.
Kali Linux и Parrot OS во многом похожи, но отличаются системными требованиями (320 МБ ОЗУ для Parrot OS, 1 ГБ для Kali Linux), внешним видом (MATE и KDE у Parrot OS против GNOME у Kali Linux) и набором хакерских инструментов. В Parrot OS есть всё то же, что и в Kali Linux, плюс дополнительно собственные инструменты, такие как AnonSurf (удаление всех своих следов из браузера) и Wifiphisher (установка поддельной точки доступа WiFi для обмана окружающих устройств). По производительности Parrot OS тоже выигрывает, особенно на слабой конфигурации, где Kali Linux начинает заметно лагать.
Различные варианты образов ISO и докер-контейнеры с Parrot OS выкладываются здесь.
Конечно, для пентестинга есть и другие дистрибутивы, которые тоже можно достать в виде образа ISO или сделать такой образ самому.
Игровой сервер
Если нужно поднять игровой сервер, во многих случаях тоже удобнее загрузить специализированный ISO и установиться из него.
Например, игра Counter-Strike Global Offensive — самый популярный в мире шутер. Есть несколько причин для установки собственного приватного сервера. Здесь вы можете ограничить круг игроков, полностью исключить читеров. И самое главное — вы устанавливаете собственные правила игры.
CSGO Server устанавливается на Linux, на Windows 10 или другую систему. Но может быть удобнее сделать ISO, где всё уже установлено, включая SteamCMD, консольный клиент Steam, который является обязательным условием для установки сервера CSGO. Так что если вы всё-таки устанавливаете CSGO сразу на сервер, то сначала нужно поставить SteamCMD. Если подготовить образ ISO со всем необходимым, то в дальнейшем его можно использовать многократно, накатывая на разные серверы.
Некоторые хостеры предлагают уже готовые серверы CS. Их можно арендовать как с оплатой за слоты, так и с оплатой за ресурсы (профессиональные тарифы игровых VDS/VPS).
Или взять Minecraft. Да, это детская игра, но она входит в пятёрку самых популярных онлайн-игр в мире. Для Minecraft-серверов создана специальная MineOS Turnkey, которая распространяется в виде ISO. Хотя всё необходимое программное обеспечение можно установить отдельно на существующий сервер BSD/Linux, но гораздо приятнее сразу накатить систему со всем необходимым. Система изначально сконфигурирована и оптимизирована под эту задачу: здесь есть инструмент администрирования сервера, управление резервными копиями, продвинутые инкрементальные бэкапы игрового мира (резервное копирование rdiff с использованием алгоритма rsync), загрузка пользовательского интерфейса и серверных модов (vanilla, bukkit и др.) одним щелчком мыши.
MineOS
MineOS Turnkey сделана на основе известной системы Turnkey Linux.
Turnkey Linux
Turnkey Linux — библиотека готовых системных образов на базе Debian 8 ("Jessie"). Turnkey переводится «под ключ», то есть «всё включено». В каждый образ изначально интегрированы лучшие компоненты свободного программного обеспечения. В результате получаются безопасные и простые в использовании решения — образы ISO для любых нужд, какие только могут понадобиться.
Debian — крупнейший дистрибутив GNU/Linux, в состав которого входит 37 500 пакетов опенсорсных программ. Однако большая часть этих программ малоизвестны, потому что не включены по умолчанию в состав стандартных дистрибутивов. Turnkey ставит своей миссией изменить это.
В рамках проекта создан простой, но мощный инструментарий разработки Linux-дистрибутивов TKLDev, который позволяет легко создавать готовые решения, которые за несколько минут разворачиваются из образа ISO непосредственно на железе, на виртуальном устройстве или в облаке.
Turnkey — это более 100 готовых к использованию образов. Все они поддерживают автоматическое ежедневное обновление с последними патчами безопасности, резервное копирование и восстановление одной кнопкой: система сохраняет изменения в файлах, БД и управлении пакетами в зашифрованном хранилище, из которого серверы могут быть автоматически восстановлены. Инструмент для резервного копирования TKLBAM встроен в ядро системы Turnkey Core.
Каждый дистрибутив Turnkey включает в себя веб-интерфейс управления, веб-оболочку и простую консоль конфигурации.
Все образы легковесные (от 150 МБ), тщательно собраны с нуля с минимально необходимым набором компонентов, чтобы обеспечить наиболее эффективное потребление ресурсов, эффективность и безопасность. Во всех релевантных образах SSL работает из коробки на бесплатных сертификатах Let's Encrypt.
WordPress (425 МБ VM, 392 МБ ISO). Одна из лучших платформ для публикации блога с тысячами доступных плагинов на любой вкус.
Ghost (740 МБ VM, 582 МБ ISO). Ещё одна опенсорсная платформа для публикации блогов, с красивым оформлением, простая в использовании и бесплатная, отличается высокой скоростью. Приложение написано на Node.js, клиент администрирования на фреймворке Ember.js, а темы — на движке Handlebars.js.
Ghost
ZoneMinder (531 МБ VM, 483 МБ ISO). Система видеонаблюдения для дома, офиса или любого места. Использует лучший софт, совместим с любыми камерами. Подходит для систем любого размера. Продвинутое распознавание движения и объектов в реальном времени (системы EventServer и zmMagik).
Файл-сервер (508 МБ VM, 461 МБ ISO). Простой в использовании файл-сервер, совместимое с Windows общее хранилище файлов с веб-менеджером. Полностью готовый файл-сервер поддерживает протоколы передачи файлов SMB, SFTP, NFS, WebDAV и rsync. Возможно как приватное хранилище файлов, так и общедоступное на публичном хостинге. Работает на основе Samba и WebDAV CGI.
Файл-сервер (File Server)
Nextcloud (639 МБ VM, 558 МБ ISO). Хранение файлов, фотогалерей, календаря и многого другого. Сервер доступен с любого устройства через интернет. Тоже можно установить или в локальной сети с доступом через интернет, или на публичном сервере.
Nexctcloud
GitLab (1,1 ГБ VM, 1,0 ГБ ISO). Единый сервер для всего жизненного цикла разработки программного обеспечения. От планирования проекта и управления исходным кодом до CI/CD, мониторинга и безопасности. GitLab предоставляет собой управление версиями на основе Git, упакованное с полным набором инструментов DevOps. По сути, что-то вроде GitHub, но на своём сервере и с более продвинутым функционалом.
Медиасервер (648 МБ VM, 587 МБ ISO). Полностью настроенный медиасервер индексирует все ваши домашние видео, музыку и фотографии, затем автоматически транскодирует на лету и транслирует этот контент для воспроизведения на любом устройстве. На сервере работает Jellyfish с веб-приложением для управления файлами, система совместима с Windows и различными протоколами передачи данных, включая SFTP, rsync, NFS и WebDAV. Как и в случае с обычным файл-сервером (см. выше), здесь файлами можно управлять как в приватном, так и в публичном хранилище, то есть транслировать видео для всех желающих в интернете, насколько выдержит аппаратная часть сервера.
MySQL (398 МБ VM, 368 МБ ISO). Известная опенсорсная СУБД, которая сейчас принадлежит корпорации Oracle. Это быстрый, стабильный, надёжный, простой в использовании и многопоточный сервер баз данных SQL. Строго говоря, на самом деле на сервере фактически работает MariaDB, типичная замена для MySQL, хотя у неё есть некоторые функции, которые отсутствуют у MySQL, так что можно мигрировать с MySQL на MariaDB, но зачастую невозможно вернуться обратно.
Торрент-сервер (607 МБ VM, 549 МБ ISO). Файловый сервер с интегрированным общим доступом к файлам. Файлы добавляются в список загрузки через простой веб-интерфейс, который позволяет удалённо управлять сервером. Особенно полезно для централизации общего доступа к файлам в общей сети. Включает антивирусный сканер.
Пожалуй, этот образ лучше подходит для установки в локальной сети вместе с медиасервером, чтобы скачивать фильмы и сериалы из торрентов, сохранять их в хранилище — и транслировать на все телевизоры, ноутбуки и смартфоны в доме.
phpBB (416 МБ VM, 384 МБ ISO). Самое популярное в мире опенсорсное решение для веб-форумов. Основано на модулях. Высокий уровень безопасности, многоязычный интерфейс и продвинутая административная панель с настройками всех функций форума.
Zen Cart (416 МБ VM, 384 МБ ISO). Сервер для управления интернет-магазином. Поддержка разных языков и валют.
AVideo (672 МБ VM, 616 МБ ISO), бывшее название YouPHPTube. Опенсорсный сервер для видеотрансляций, созданный по образцу YouTube, Vimeo и т. д. С помощью AVideo вы можете поднять собственный сайт с видеороликами, а также транслировать видео в прямом эфире. Среди некоторых функций — импорт и кодирование видео с других сайтов непосредственно из интернета, поддержка мобильных устройств через адаптивный гибридное приложение, которое позволяет непосредственно транслировать видео с телефона через сервер на широкую аудиторию.
Mattermost (622 МБ VM, 569 МБ ISO). Опенсорсная альтернатива Slack на своём хостинге. Объединяет обмен сообщениями и файлами, работает на ПК и мобильных устройствах, встроенное архивирование и поиск. Mattermost из коробки интегрируется с целым рядом других веб-приложений и расширяется модулями, так что вы можете создавать кастомные функции поверх ядра на Golang/React.
Это лишь несколько примеров специализированных образов ISO из коллекции Turnkey. Загружаете такой образ на свой сервер, устанавливаете систему из него — и у вас сразу есть настроенное приложение со всеми необходимыми компонентами.
Таким образом, технически на VDS можно поставить практически любую операционную систему с любыми приложениями, используя собственный ISO. Главное, чтобы система имела драйверы для работы с VirtIO устройствами. Если их нет в образе, то нужно их добавить самостоятельно.