Я пытаюсь найти решение проблемы «курицы и яйца», с которой я столкнулся в проекте, над которым я работаю для нового предприятия.
Рассматриваемые системы передают кредитную картуданные и номера карт и т. д. должны храниться в базе данных в зашифрованном виде.Чтобы соответствовать требованиям PCI, у нас есть номера, зашифрованные уникальными парами ключей для каждого «торговца», поэтому, если один торговец скомпрометирован, он не сможет получить доступ к данным держателя карты другого продавца.
Этохорошо, когда речь идет о взаимодействии человека с системой, так как человек может ввести ключевую фразу, чтобы разблокировать закрытый ключ, а затем расшифровать данные, однако, когда речь идет об автоматизированных службах, которым требуется доступ к данным (то есть для обработки транзакций напозже) возникает проблема с тем, как наилучшим образом предоставить учетные данные процессу service / daemon.
Немного предыстории в системе:
- номера карт шифруются асимметричнопары ключей
- закрытый ключ защищен парольной фразой
- эта парольная фраза затем шифруется парой "мастер" ключей
- парольная фраза для разблокирования главного закрытого ключа затем известнаоператоры дали разрешение (ну, на самом деле они его копию зашифрованы сих собственная пара ключей, которой они знают только парольную фразу).
- процесс демона будет запущен как его собственный пользователь и группа в системе linux.
Для того, чтобы демон былвозможность расшифровать данные, которые я рассматривал следующим образом:
- Установите файл парольной фразы, аналогично тому, как .pgpass работает
- Сохраните файл в домашнем каталоге дляпользователь демона
- Установите права доступа 0600 для файла
- Настройте систему контроля целостности файла, такую как Tripwire, для уведомления группы безопасности (или аналогичной) о любых изменениях в файле или разрешениях.
- Отключить вход в систему для пользователя демона, поскольку он используется только для процесса.
Учитывая вышесказанное, мне интересно, достаточно ли этого.Очевидно, что слабость заключается в том, что системные администраторы - их мало (т.е. 2) доверяют в защищенных системах - учитывая, что они могут повысить свои права доступа (т. Е. Получить root) и затем изменить владельца файлов или разрешения на чтение.ключевая фраза - однако, опять же, это, вероятно, что-то, что можно смягчить с помощью мониторинга изменений контрольных сумм для файлов, контрольных сумм FIM и т. д.
Так что я поступаю неправильно или есть другие предложения о том, как обращатьсяэто?