Готовый к выпуску защищенный выпуск Ubuntu Server?

По умолчанию Ubuntu Server не очень безопасен:

  1. Автоматические обновления безопасности не включены
  2. Брандмауэр 'UFW' не включен
  3. Логины SSH должны быть явно созданы
  4. и так далее...

Для личного пользования я следовал инструкциям, таким как http://hardenubuntu.com/ чтобы включить автоматические обновления, установить fail2ban и т. Д. Но сейчас я работаю в облаке и не хочу повторять все эти шаги вручную каждый раз, когда я раскручиваю новый экземпляр. Есть ли дистрибутив / вариант Ubuntu, который поставляется с "готовой к работе" безопасностью и не требует ручной закалки? Решения, использующие инструменты управления конфигурацией (Chef, Puppet, Ansible и т. Д.) Также будут работать.

А если такого нет, то почему бы и нет?

4 ответа

Решение

Если вы ищете эти функции, вам нужно использовать образ Ubuntu Cloud вместо традиционного образа сервера.

  1. Обновления для системы безопасности включены по умолчанию, и каждые несколько недель публикуются новые изображения с обновлениями.
  2. В облачных средах сеть обычно ограничена из коробки, но если вы хотите использовать ufw Вы можете включить его.
  3. Облачные образы принимают вход только через ssh, вы можете использовать cloud-init для создания / использования любых ключей, а также пользовательских данных, если хотите: https://help.ubuntu.com/community/CloudInit

Из ваших комментариев похоже, что вы хотите автоматизировать развертывание с помощью Ansible. Ansible и cloud-init - это популярный шаблон в облаке, есть множество руководств о том, как это сделать, вот для начала:

Вот несколько примеров конфигурации для cloud-init, которые вы можете использовать для создания своих собственных конфигураций:

Такой версии установщика сервера или установщиков рабочего стола не существует, потому что администрированию было бы вредно иметь что-то "полностью заблокированное" при установке.

Насколько я понимаю, это потому, что тонкий баланс между "Простотой настройки / использования" и "Lock It All Down" очень деликатный.

Как я понимаю...

  • Система не включает автоматическое обновление автоматически, потому что это может поставить под угрозу стабильность.
  • Включение ufw автоматически раздражает системных администраторов, которые хотят, чтобы все работало "из коробки", а затем хотят заблокировать правила брандмауэра после того, как все работает так, как они хотят (это - САМЫЕ САМЫЕ администраторы сервера, работающие в безопасности).
  • Принудительное создание ключей сразу после установки - нет-нет, поскольку для настройки таких ключей обычно требуется, чтобы другая система сначала их генерировала. Немедленное принудительное выполнение аутентификации ключа, скорее всего, заблокирует возможность настройки аутентификации ключа этого типа.

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

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

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

Серверные среды не предназначены для стандартного развертывания, поскольку они могут сильно различаться. Базовые настройки сервера Ubuntu необходимо настроить для различных сред. Поэтому отключение или включение служб, брандмауэров и т. Д. Зависит от необходимости развертывания. Вход в систему на основе ключей UFW и Key является одним из таких аспектов, который необходимо создавать в соответствии с потребностями.

Автоматические обновления безопасности не включены

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

Брандмауэр 'UFW' не включен

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

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

Логины SSH должны быть явно созданы

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

Другие вопросы по тегам