Существует немало способов незаконного проникновения в сеть предприятия. При всей изощренности злоумышленников компании порой сами оставляют очевидные и просторные лазейки. Невнимательность в работе с ключами SSH — одна из распространенных ошибок.
Ключи используются для системной автоматизации и аутентификации, интеграции приложений, управления системой и других общих функций. Пользуясь ими, злоумышленник может продвинуться глубже в сеть компании. Поэтому сегодня мы говорим об управлении SSH-ключами.
/ Pexels / Caio / CC
SSH-ключи задуманы в качестве упрощенного способа входа на сервер без необходимости ввода пароля. Как рассказывает Тату Улёнен (Tatu Ylonen), создатель SSH и генеральный директор компании SSH Communications Security, специализирующейся на корпоративной защите, на одном сервере накапливаются от 50 до 200 ключей. В случае с крупными предприятиями их количество исчисляется сотнями тысяч, а иногда — миллионами.
Как правило, их создают разработчики и администраторы баз данных, чтобы упростить аутентификацию. В итоге, по словам Тату, около 90% ключей, созданных за годы, а порой и за десятилетия, не используются, но остаются активными. Более того, около 10% этих ключей предоставляют root-доступ. Что это означает для злоумышленников? В их распоряжении оказывается безграничное поле для маневров.
Опрос Ponemon Institute, проведенный в 2014 году среди 2,1 тыс. системных администраторов из числа компаний Global 2000, показал, что три из четырех предприятий уязвимы для атак из-за слабой защиты ключей для SSH.
Проблема заключается в том, что отдельные ключи открывают доступ не только к конкретному серверу, но и прокладывают путь к другим сетевым элементам. Это позволяет проводить затяжные, незаметные атаки, способные подорвать всю инфраструктуру предприятия. Имея в распоряжении ключи, можно установить вредоносное ПО в прошивку или стереть любые данные на серверах и системах хранения, включая все бэкапы.
Разумеется, недобросовестная политика управления ключами открывает возможности для корпоративного шпионажа. Например, атака на Sony Pictures в 2014 году с похищением конфиденциальной информации, как считается, произошла именно благодаря уязвимости SSH.
В контексте IoT есть и более серьезная опасность: SSH-ключи могут открыть доступ к аппаратным средствам. Тату Улёнен рассказал, что производители все чаще стремятся оптимизировать процесс и прибегают к удаленным технологиям управления, полагаясь на защищенность сетевого протокола. Тем временем ключевые файлы SSH продаются на «черных рынках», и с помощью них конкуренты могут получить доступ к камерам наблюдения или вызвать сбой в системе защиты компании. Сценариев атак достаточно много, а последствия их непредсказуемы.
«Для исправления этого нет универсального решения. Это даже не техническая проблема — это проблема управления», — утверждает Тату.
Разные ключи служат для осуществления различных функций: от восстановления резервных копий для дата-центров до исполнения транзакций. Поэтому грамотное управление SSH-ключами подразумевает под собой понимание значения каждого элемента, а значит, чем раньше будет взят на вооружение предприятием так называемый «key-менеджмент», тем эффективнее будет выстроена оборона.
Тату Улёнен предлагает три основных направления работы с ключами: мониторинг, администрирование и автоматизация. В разговоре об уязвимости SSH он сетовал на то, что у большинства организаций до сих пор нет инструментов для отслеживания актуальных ключей. Соответственно, нет понимания того, кто и зачем их установил и когда их следует удалять.
Некоторые предприятия используют Excel для учета. Системы управления ключами на основе бумажных или электронных таблиц используются 57% компаний, согласно исследованию Global Encryption Trend Study от 2016 года. Однако, как отмечает специалист в области кибер-безопасности Майкл Кобб (Michael Cobb), такой подход подвержен ошибкам, оттого не может быть эффективным.
Что касается автоматизации, Тату Улёнен приводит пример одного из трех крупнейших банков в США, в штате которого насчитывалось 200 системных администраторов. 10% команды занималась исключительно SSH-ключами. Кроме нерационального использования ресурсов, в такой ситуации повышается риск, связанный с человеческим фактором. Например, возможность случайного присвоения ключу root-доступа.
Согласно Тату, безопасность предприятия начинается с создания стратегии управления жизненным циклом ключей SSH, а затем перетекает в обязательное применение этой стратегии. Опрос Ponemon демонстрирует непопулярность такого подхода: около 74% респондентов заявили, что они позволяют администраторам самостоятельно контролировать и управлять ключами. В результате команды безопасности предприятия часто не видят масштабов проблемы.
Компаниям стоит адаптировать процессы по автоматизированному удалению ключей с уходом людей, которым они принадлежали. В то же время некоторыми компаниями активно используется метод учета ключей с момента запуска сервера. Так, 1cloud предоставляет доступ к панели управления, где в удобной форме хранятся все ключи, причем генерация секретных ключей осуществляется администратором самостоятельно, что гарантирует дополнительную безопасность. А о том, как подключиться к Linux-серверам, используя SSH-ключи, мы подготовили небольшое руководство.
Мэттью Маккенна (Matthew McKenna), коммерческий директор SSH Communications Security, советует сосредоточиться на том, какие ключи могут иметь root-доступ и насколько серьезными будут последствия утраты контроля над каждым из таких ключей. Поэтому следующий шаг — четкое распределение ответственности в сети с установлением каждого владельца ключа. Использование надежных криптографических стандартов и передовой практики в этой области — еще один гарант безопасности для организации.
Учитывать следует размер ключа, его «возраст» и алгоритм. К дополнительным компонентам относятся защита идентификационной фразы, связанной с элементами управления закрытым ключом, и устранение или ротация ключей SSH1. Управление конфигурацией системы предоставляет возможность стандартизировать местоположения ключей и обеспечить контроль элементов управления, связанных с доступом, например, запрет root-доступа и ограничение устаревших ключей.
/ Pixabay / Ashish_Choudhary / CC
Инженеры Facebook в своем блоге поделились опытом использования сертификатов при проектировании системы безопасности. Серверы ИТ-гиганта настроены таким образом, что все аутентификации проходят через центр сертификации для SSH с каталогом доступов. Так система определяет, имеет ли аутентифицированный клиент право на выполнение конкретного действия.
Кроме того, на службе у Facebook есть централизованная инфраструктура syslog, собирающая журналы в реальном времени, и инфраструктура, необходимая для ее поддержки. Синтаксические анализаторы интерпретируют и преобразуют журналы в табличные данные, которые отправляются в базы данных долгосрочного хранения, такие как Hive. В качестве совета сотрудники рекомендуют при проектировании собственного центра сертификации вести учет всех выданных сертификатов и рассмотреть возможность выдачи краткосрочных сертификатов.
Так как создатель SSH выступает за автоматизацию работы с ключами, и SSH Communications Security активно разрабатывает соответствующие продукты, мы собрали несколько полезных инструментов для key-менеджмента.
Обсуждая лучшие способы управления SSH-ключами, ряд пользователей Hacker News отдали предпочтение физической защите, девайсам, которые обеспечивают аутентификацию при непосредственном контакте. Такие решения, как YubiKey 4 зачастую используются для двухфакторной аутентификации с соблюдением виртуальных мер безопасности.
P.S. Еще несколько материалов из нашего блога на Хабре:
Ключи используются для системной автоматизации и аутентификации, интеграции приложений, управления системой и других общих функций. Пользуясь ими, злоумышленник может продвинуться глубже в сеть компании. Поэтому сегодня мы говорим об управлении SSH-ключами.
/ Pexels / Caio / CC
Чем грозит слабый SSH-key-менеджмент?
SSH-ключи задуманы в качестве упрощенного способа входа на сервер без необходимости ввода пароля. Как рассказывает Тату Улёнен (Tatu Ylonen), создатель SSH и генеральный директор компании SSH Communications Security, специализирующейся на корпоративной защите, на одном сервере накапливаются от 50 до 200 ключей. В случае с крупными предприятиями их количество исчисляется сотнями тысяч, а иногда — миллионами.
Как правило, их создают разработчики и администраторы баз данных, чтобы упростить аутентификацию. В итоге, по словам Тату, около 90% ключей, созданных за годы, а порой и за десятилетия, не используются, но остаются активными. Более того, около 10% этих ключей предоставляют root-доступ. Что это означает для злоумышленников? В их распоряжении оказывается безграничное поле для маневров.
Опрос Ponemon Institute, проведенный в 2014 году среди 2,1 тыс. системных администраторов из числа компаний Global 2000, показал, что три из четырех предприятий уязвимы для атак из-за слабой защиты ключей для SSH.
Проблема заключается в том, что отдельные ключи открывают доступ не только к конкретному серверу, но и прокладывают путь к другим сетевым элементам. Это позволяет проводить затяжные, незаметные атаки, способные подорвать всю инфраструктуру предприятия. Имея в распоряжении ключи, можно установить вредоносное ПО в прошивку или стереть любые данные на серверах и системах хранения, включая все бэкапы.
Разумеется, недобросовестная политика управления ключами открывает возможности для корпоративного шпионажа. Например, атака на Sony Pictures в 2014 году с похищением конфиденциальной информации, как считается, произошла именно благодаря уязвимости SSH.
В контексте IoT есть и более серьезная опасность: SSH-ключи могут открыть доступ к аппаратным средствам. Тату Улёнен рассказал, что производители все чаще стремятся оптимизировать процесс и прибегают к удаленным технологиям управления, полагаясь на защищенность сетевого протокола. Тем временем ключевые файлы SSH продаются на «черных рынках», и с помощью них конкуренты могут получить доступ к камерам наблюдения или вызвать сбой в системе защиты компании. Сценариев атак достаточно много, а последствия их непредсказуемы.
«Для исправления этого нет универсального решения. Это даже не техническая проблема — это проблема управления», — утверждает Тату.
Разные ключи служат для осуществления различных функций: от восстановления резервных копий для дата-центров до исполнения транзакций. Поэтому грамотное управление SSH-ключами подразумевает под собой понимание значения каждого элемента, а значит, чем раньше будет взят на вооружение предприятием так называемый «key-менеджмент», тем эффективнее будет выстроена оборона.
Как выстроить управление SSH-ключами на предприятии
Тату Улёнен предлагает три основных направления работы с ключами: мониторинг, администрирование и автоматизация. В разговоре об уязвимости SSH он сетовал на то, что у большинства организаций до сих пор нет инструментов для отслеживания актуальных ключей. Соответственно, нет понимания того, кто и зачем их установил и когда их следует удалять.
Некоторые предприятия используют Excel для учета. Системы управления ключами на основе бумажных или электронных таблиц используются 57% компаний, согласно исследованию Global Encryption Trend Study от 2016 года. Однако, как отмечает специалист в области кибер-безопасности Майкл Кобб (Michael Cobb), такой подход подвержен ошибкам, оттого не может быть эффективным.
«Такой файл очень быстро теряет свою актуальность, часть ключей не вносят, часть не удаляют, информацию вовремя не меняют, а потом забывают. Это приводит к колоссальному расхождению с реальной картиной, — говорит начальник отдела развития проекта 1cloud Сергей Белкин. — Более того, сразу возникает соблазн организовать удаленный доступ к такому файлу. Были случаи, когда пользователи выкладывали его, например, в Dropbox. А за последние годы подобные сервисы не раз страдали от масштабных утечек данных».
Что касается автоматизации, Тату Улёнен приводит пример одного из трех крупнейших банков в США, в штате которого насчитывалось 200 системных администраторов. 10% команды занималась исключительно SSH-ключами. Кроме нерационального использования ресурсов, в такой ситуации повышается риск, связанный с человеческим фактором. Например, возможность случайного присвоения ключу root-доступа.
Согласно Тату, безопасность предприятия начинается с создания стратегии управления жизненным циклом ключей SSH, а затем перетекает в обязательное применение этой стратегии. Опрос Ponemon демонстрирует непопулярность такого подхода: около 74% респондентов заявили, что они позволяют администраторам самостоятельно контролировать и управлять ключами. В результате команды безопасности предприятия часто не видят масштабов проблемы.
Компаниям стоит адаптировать процессы по автоматизированному удалению ключей с уходом людей, которым они принадлежали. В то же время некоторыми компаниями активно используется метод учета ключей с момента запуска сервера. Так, 1cloud предоставляет доступ к панели управления, где в удобной форме хранятся все ключи, причем генерация секретных ключей осуществляется администратором самостоятельно, что гарантирует дополнительную безопасность. А о том, как подключиться к Linux-серверам, используя SSH-ключи, мы подготовили небольшое руководство.
Мэттью Маккенна (Matthew McKenna), коммерческий директор SSH Communications Security, советует сосредоточиться на том, какие ключи могут иметь root-доступ и насколько серьезными будут последствия утраты контроля над каждым из таких ключей. Поэтому следующий шаг — четкое распределение ответственности в сети с установлением каждого владельца ключа. Использование надежных криптографических стандартов и передовой практики в этой области — еще один гарант безопасности для организации.
Учитывать следует размер ключа, его «возраст» и алгоритм. К дополнительным компонентам относятся защита идентификационной фразы, связанной с элементами управления закрытым ключом, и устранение или ротация ключей SSH1. Управление конфигурацией системы предоставляет возможность стандартизировать местоположения ключей и обеспечить контроль элементов управления, связанных с доступом, например, запрет root-доступа и ограничение устаревших ключей.
/ Pixabay / Ashish_Choudhary / CC
Инженеры Facebook в своем блоге поделились опытом использования сертификатов при проектировании системы безопасности. Серверы ИТ-гиганта настроены таким образом, что все аутентификации проходят через центр сертификации для SSH с каталогом доступов. Так система определяет, имеет ли аутентифицированный клиент право на выполнение конкретного действия.
Кроме того, на службе у Facebook есть централизованная инфраструктура syslog, собирающая журналы в реальном времени, и инфраструктура, необходимая для ее поддержки. Синтаксические анализаторы интерпретируют и преобразуют журналы в табличные данные, которые отправляются в базы данных долгосрочного хранения, такие как Hive. В качестве совета сотрудники рекомендуют при проектировании собственного центра сертификации вести учет всех выданных сертификатов и рассмотреть возможность выдачи краткосрочных сертификатов.
Инструменты для управления SSH-ключами
Так как создатель SSH выступает за автоматизацию работы с ключами, и SSH Communications Security активно разрабатывает соответствующие продукты, мы собрали несколько полезных инструментов для key-менеджмента.
- PuTTY: клиент SSH, разработанный для платформы Windows. Он является программным обеспечением с открытым исходным кодом и позволяет генерировать новые ключи.
- Thycotic Secret Server: управление привилегированными пользователями. Позволяет связать генераторы ключей SSH с официальной системой управления учетными данными.
- Universal SSH Key Manager: разработка SSH Communications Security, которая предлагает комплексное управление ключами, в том числе полный учет и контроль доступа SSH, криптографические рекомендации и управление конфигурацией, непрерывный мониторинг, блокировку доступа в случае необходимости, восстановление и управление жизненным циклом ключей.
- PowerBroker Password Safe: инструмент для распределения прав в сети. Решение позволяет управлять паролями и сеансами, обеспечивая безопасный контроль доступа. Инструмент способен выборочно обрабатывать изменения паролей, проводить их проверку для определенных рабочих групп, поддерживать стандартные алгоритмы шифрования, такие как AES 256 и Triple DES, осуществлять автоматическую ротацию ключей и автоматически обновлять пароли на удаленных и мобильных устройствах.
- Venafi TrustAuthority: пригодится при развертывании сертификационного центра. Он способен обнаруживать внутренние сертификаты путем сканирования локальных систем и хранить ключи SSH для пользователей и хостов.
- GitWarden: инструмент для GitHub-команд, предоставляющий автоматическую синхронизацию локальных учетных записей пользователей, ключей SSH с командами организации. Это упрощает управление пользователями напрямую через пользовательский интерфейс GitHub.
Обсуждая лучшие способы управления SSH-ключами, ряд пользователей Hacker News отдали предпочтение физической защите, девайсам, которые обеспечивают аутентификацию при непосредственном контакте. Такие решения, как YubiKey 4 зачастую используются для двухфакторной аутентификации с соблюдением виртуальных мер безопасности.
P.S. Еще несколько материалов из нашего блога на Хабре:
Комментарии (5)
MMik
21.09.2017 15:47+1Есть два проекта:
- SSH Certificate Authority для управления упрощёнными сертификатами в формате OpenSSH, и
- патч для OpenSSH для поддержки стандартных X509 сертификатов, что позволяет использовать PKI для SSH.
farcaller
21.09.2017 16:04может я чего не понимаю, но openssh же несколько лет как умеет авторизацию по сертификатам? https://www.digitalocean.com/community/tutorials/how-to-create-an-ssh-ca-to-validate-hosts-and-clients-with-ubuntu
boblenin
21.09.2017 22:54+5Что-то прочитав статью до конца я так и не получил ответа на вопрос поставленый в заголовке. Точно тема соответствует содержанию?
de1m
Мы на работе используем keybox. Коллега для удобства запилил докер образ, в принципе удобно.