В настоящее время я настроил свой CentOS 6.6 VPS для клиентов, которые размещают веб-сайты на моем сервере. У них есть доступ по FTP с использованием виртуального пользователя (с vsftpd в качестве реального пользователя), который chrooted в их папке www. Их электронные письма хранятся в домашней папке vmail, категоризированные по домену и (виртуальному) пользователю.
Оглядываясь назад, я вижу, что это было довольно неуклюже. Было бы проще и, вероятно, лучше использовать реальных пользователей для всех моих клиентов, перенаправлять их домашние папки в /var/www и хранить их письма там же. Вероятно, следует запретить PHP покидать домашний каталог пользователя (хотя не уверен, как).
Есть ли риск, связанный с моей настройкой? Может ли злоумышленник, скомпрометировавший пользователя X, легко скомпрометировать пользователя Y? Будет ли разумно перейти на предлагаемую настройку? Это займет у меня несколько дней, я не уверен, стоит ли это усилий...
Я использую Apache, MySQL, PHP, Postfix, Dovecot, VSFTP.
решение1
Что касается конкретной угрозы, заключающейся в том, что пользователь может получить доступ к файлам другого пользователя, то запуск всех «пользователей» в том же контексте безопасности, как сейчас, является более вероятным и, следовательно, более рискованным.
Здесь есть тонкости, поскольку другая настройка будет иметь другие угрозы, которых, возможно, нет в версии chroot, однакоchroot не является функцией безопасности.
Скорее всего, все сведется к тому, каковы будут последствия, если пользователь получит доступ к данным другого пользователя, что определит риск. Если последствия невелики, то, возможно, не стоит менять все, но согласно хорошей практике защиты конфиденциальности «следует» ли это менять? Вероятно.