1 August 2011

Наш аудитор безопасности — идиот

Information Security
Original author: Sam Rudge
Прим. переводчика: это статья (а вернее — вопрос на serverfault.com) системного администратора одной электронной торговой площадки, проходившей аудит безопасности на право пользоваться некой системой процессинга банковских карт.



Аудитор безопасности наших серверов потребовал в течение двух недель следующие вещи:
  • Список всех пользователей с их паролями в открытом виде
  • Историю изменения паролей всех пользователей за последние 6 месяцев (опять-таки, в открытом виде)
  • Список всех файлов на наших серверах, которые были загружены на них извне за последние 6 месяцев
  • Публичную и приватную части всех SSH-ключей
  • Механизм, отсылающий ему электронное письмо каждый раз, когда любой пользователь меняет свой пароль (в письме открытым текстом должен быть написан новый пароль)
Наши сервера крутятся под Red Hat Linux 5/6 и CentOS 5 с LDAP-аутентификацией. Насколько я знаю, всё вышеперечисленное либо вообще невозможно, либо очень трудно получить на этой платформе. Но если я не предоставлю информацию в срок — мы потеряем доступ к платежной платформе и всю потенциальную прибыль за время миграции на другую. Есть какие-то мысли, как выкрутится?

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

Получение пар SSH-ключей возможно, но процедура длительная и нудная — много пользователей, много компьютеров. Разве что можно как-то это автоматизировать?

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

Эти самые «новые политики безопасности» были введены 2 недели назад, а информацию по паролям и загруженным файлам требуют за последние 6 месяцев — круто, правда?

Если коротко, мне необходимо:
  • Способ сфальсифицировать историю изменений паролей за последние 6 месяцев, так чтобы выглядело правдоподобно
  • Способ сфальсифицировать историю загрузок файлов
  • Простой способ сбора SSH-ключей с большого количества компьютеров
Если мы завалим этот аудит — потеряем процессинговую платформу и займет добрых две недели, чтобы переехать куда-то еще. Что делать?

Обновление 1


Спасибо всем за ответы, я вернул себе веру в то, что не являюсь полным идиотом и требуемая информация не является стандартом в подобных аудитах.

Я планирую написать аудитору еще одно письмо с объяснением ситуации: многие из вас указали, что согласно правилам PCI (прим.переводчика: комитет по безопасности платежных карт, куда входят Виза, Мастеркард и прочие) пароли ни коем случае не должны храниться или передаваться в открытом виде. Не особо, однако, надеясь на здравый смысл, мы начинаем вострить лыжи для перехода на PayPal.

Обновление 2


Черновик письма:
Hi, [name],
К сожалению, нет никакого способа предоставить вам некоторую запрошенную информацию. Речь идет о паролях в открытом виде, истории изменения паролей, SSH-ключах и логах загрузки файлов. Это не только невозможно технически, но и противоречит стандартам PCI, явно запрещающим хранение и передачу таких данных в открытом виде (раздел 8.4 — «Все пароли должны передаваться и сохраняться только в зашифрованном виде с использованием сильной криптографии»).

Я могу предоставить Вам список логинов и хешированых паролей наших пользователей, публичные SSH-ключи и список авторизованных хостов. (Это даст Вам информацию о количестве уникальных пользователей и используемых алгоритмах шифрования), информацию по нашим требованиям к безопасности паролей и конфиги LDAP-сервера. Я настоятельно советую Вам пересмотреть свою политику безопасности, поскольку нет никакой возможности пройти аудит безопасности, соблюдая и её и законодательные акты о защите персональных данных вместе с требованиями PCI.

С уважением,
Я.

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

Обновление 3


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


Я даже еще раз повторю:
«Сильная криптография» означает только то, что пароль должен шифроваться по мере его ввода пользователем, но потом его нужно перенести и сохранить в открытом формате, так как он может понадобиться в дальнейшем.

Я планирую это выражение распечатать и повесить в рамочке на стену.

Я решил не утруждать себя более излишней дипломатичностью и дал ему ссылку на этот топик:
Предоставление требуемой Вами информации ПРЯМО ПРОТИВОРЕЧИТ законам и требованиям PCI — я процитировал раздел правил. Кроме того, я начал дискуссию на ServerFault.com (онлайн-сообщество профессиональных системных администраторов), которая получила огромный отклик, в целом сводящийся, опять таки, к тому, что данная информация не может быть предоставлена. Можете как-нибудь почитать на досуге:

Наш аудитор безопасности идиот, как мне предоставить ему требуемую информацию?

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

(Честно говоря, я как-то упустил тот факт, что назвал его идиотом в заголовке статьи, но было уже глубоко побоку — мы уже съехали)

А он все-таки мне ответил. Я думаю, читателям будет интересно узнать, что они балбесы, не понимающие о чем говорят:
Я прочитал Ваш пост и ответы на него. Что ж — все ответившие ошибаются. Я работаю в этой индустрии дольше любого на этом сайте — получение списка пользователей и их паролей это базовый навык, это одно из первых, чему должен научиться системный администратор и неотъемлемая часть безопасности любого надежного сервера. Если уж у Вас ума не хватает на такую элементарщину, я думаю у Вас нет установленного PCI на Вашей системе, так как подобная возможность является необходимым требованием этого ПО). И вообще говоря, при работе с такими вещами как безопасность серверов Вы не должны задавать вопросы на публичных форумах без понимания базовых принципов её функционирования.

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

Я подчеркну ключевые идиотизмы, если Вы их пропустили:
  • Он работает аудитором дольше всех здесь (Он то ли мысли читает, то ли шпионит за всеми тут)
  • Получение списка паролей в открытом виде в UNIX — «базовая возможность»
  • PCI — это теперь ПО
  • Люди не должны задавать на форуме вопросы, если они не знают чего-то о том, что спрашивают
  • Постинг фактов, подтвержденных письмами — это клевета
Великолепно.

Организация PCI отреагировала адекватно и сейчас плотно исследует этого аудитора, его компанию и их правила. Наша система успешно переехала на PayPal. Я буду ждать информации от PCI о результатах аудита этого аудитора — но вот что меня беспокоит. Если та компания имела такие внешние требования — значит и внутренние у них были в том же духе. А значит все платежи всех наших клиентов вполне себе могут храниться где-то в открытом виде без всякого шифрования и защиты. Я надеюсь, расследование PCI расставит точки над i и соответствующие меры будут приняты.

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

Маленький апдейт


Наш адвокат посоветовал не нарываться. Ну что же, не называя конкретных имен, я скажу лишь что это не крупный процессинговый центр, у него около 100 клиентов и находится он в Бирмингеме, UK.
Tags:PCIбанкибезопасностьпароли
Hubs: Information Security
+263
14.3k 92
Comments 156