Vserver: безопасная почта от взломанного веб-сервиса
Я планирую арендовать и настроить vServer с Debian xor CentOS. Я знаю по своему хосту, что vServers виртуализированы с помощью linux-vserver.
Предположим, что работает lighthttpd и некоторый агент пересылки почты, и мы должны гарантировать, что если lighthttpd будет взломан, сохраненные электронные письма не будут легко читаться.
Для меня это звучит невозможно, но, может, я что-то пропустил или, по крайней мере, вы, ребята, можете подтвердить невозможность...:)
Я думаю, что в принципе есть три очевидных подхода.
Первый - зашифровать все данные. Тем не менее, сервер должен где-то хранить ключ, чтобы злоумышленник (w|c) мог это выяснить.
Во-вторых, можно выделить такие важные службы, как lighthttpd. Поскольку мне не разрешено делать 'mknod' или remount /dev в linux-vserver, я не могу настроить вложенный vServer с помощью lxc или аналогичных методов.
Последний подход заключается в том, чтобы сделать chroot, но я не уверен, что он обеспечит достаточную безопасность. Далее я еще не пробовал, если я могу сделать chroot в linux-vserver...?
Заранее спасибо!
4 ответа
Поскольку виртуализацию в этой среде по-прежнему невозможно, я продолжил поиск и нашел приемлемый способ изоляции сервисов. Буду признателен, если вы прокомментируете свои сомнения, если таковые имеются. Я знаю, что chroot не идеальная тюрьма, но все должно быть в порядке.
- chroot веб и сервер базы данных (используя джейлкит, чтобы уменьшить боль)
- для каждой службы chroot не запускайте мастер-процесс от имени root (как описано здесь для apache)
С уважением.
(Это поздний ответ, я знаю.)
В Ubuntu (и, возможно, Debian) пакет Postfix устанавливается из apt
автоматически запускает его с chroot
,
На большинстве моих серверов я просто запускаю Apache и MySQL как пользователь, кроме root (это по умолчанию в Ubuntu).
Если вы смотрите разрешения вашей файловой системы, это все, что вам нужно.
"Разделяй и властвуй" - обычно ответ. Chroot - довольно слабый инструмент по сравнению с таким решением, как OpenVZ, но есть и http://grsecurity.net/ (да, вам нужно модифицировать ядро). Другие имена, которые следует упомянуть, это AppArmor и SELinux. Они встречаются довольно часто, поскольку за ними стоят ценные дистромейкеры.
Нетрудно полностью разделить lighty и mta, если они работают в одной и той же операционной системе / пространстве процесса. Конечно, вы можете попытаться предотвратить чтение почты через разрешения файловой системы, но я думаю, это не то, что вы имеете в виду. Шифрование данных не вариант, MTA должен будет прочитать его; если кто-то проникнет через lighttpd, он, вероятно, тоже сможет получить root, так как в последнее время было (и будет) множество локальных эксплойтов root для linux.
Я бы порекомендовал настроить MTA на коробке и дополнительно настроить виртуализацию для веб-службы. Или даже лучше: вставьте обе службы в виртуальные машины: даже если MTA взломан (что весьма вероятно, см. Уязвимость удаленного root exim), ваш веб-сервис все еще в порядке.
Кстати: вы можете легко выйти из chroot, если вы получите привилегии root.