Назад | Перейти на главную страницу

Аудит в кластере Linux, совместимом с PCI-DSS

Я знаком с некоторыми из наиболее распространенных способов настройки сервера Linux в соответствии с PCI-DSS 3.2, по крайней мере, к требованиям SAQ A. Общую озабоченность вызывает требование 8.5, которое требует, чтобы:

Общие идентификаторы пользователей и учетные записи отключены или удалены

Сюда входит и пользователь root, который, очевидно, не может быть отключен, поэтому необходим «компенсирующий контроль» (в терминологии PCI-DSS). А общий рецепт это один из вариантов:

Однако в случае, если я имею дело с сегодняшним днем, я защищаю не одну машину: это небольшой кластер (в настоящее время с 10 машинами), и очень, очень полезно иметь возможность sshscp файлы) между машинами. Сделать это как пользователю без полномочий root было бы настоящей проблемой: почти всегда нужный файл доступен для чтения только root, и его нужно поместить в какое-то место, куда может писать только root.

Я бы хотел разрешить ssh как root между машинами, используя SSH-ключ, присутствующий на серверах. Это достаточно легко в /etc/ssh/sshd_config с PermitRootLogin команда в Match Address блок. Меня не слишком беспокоят последствия для безопасности, позволяющие кому-то, кто скомпрометировал одну машину, получить контроль над всем кластером: машины достаточно похожи, поэтому, если им удастся скомпрометировать одну, они, вероятно, смогут использовать тот же процесс для доступа к остальным .

Однако, если я сделаю это, я потеряю возможность отслеживать, кто какую команду выполняет, поскольку UID без входа в систему больше не привязан к процессу, когда я ssh на другую машину. Компенсирующий контроль в PCI-DSS должен «соответствовать назначению и строгости исходного требования PCI DSS», а цель требования 8.5 заявлена ​​как возможность «отслеживать доступ к системе и действия для отдельного человека». Без сохранения UID для входа мы больше не обеспечиваем компенсирующий контроль, позволяющий существовать пользователю root.

Я надеюсь найти способ передачи loginuid с сервера на сервер при входе в систему с правами root, возможно, путем помещения его в среду. Я не возражаю, что для этого требуется неявное доверие исходному серверу: это уже так. Может ли кто-нибудь предложить способ сделать это? Или, если это не удастся, другой способ отслеживания активности системного администратора от имени пользователя root для конкретного пользователя, позволяющий легко ssh и scp между машинами?