Хостинг множества сайтов и безопасность
Такая вот неприятная ситуация возникла.
Есть некий сервер, на котором лежит много-много сайтов. Сайты, в основном, на вордпрессе и подобном, причем разной степени свежести - какие-то сделаны хорошо и аккуратно. а какие-то годами не трогали, и работают они на святом духе. Сверху крутится nginx + apache, почти все сайты под одним пользователем (есть и другие, но не о них этот пост).
И вот повадились злые хакиры тыкать уязвимости в древнем php-коде, грузить всякую гадость, файлы затирать да почту слать. Происходит такое редко, но каждый раз доставляет кучу проблем - вычищать кучу левого кода и оправдываться перед хостером за тысячи спамов, мягко говоря, неприятно.
При этом есть почти стопроцентная уверенность, что никаких серьёзных эксплойтов, троянов и прочего нет, максимум, что эти гады получают - возможность писать под правами апача (www-data) в соседние директории. Захламляют всё, логи auditd пухнут, читать невозможно. Причем делают это, скорее всего, какие-то боты.
В общем, надо это дело как-то ликвидировать, при этом по условиям задачи проверить весь код и исправить все сайты невозможно - их штук 50, а ресурсов, как обычно, нет. При этом точно ясно, что дырявых сайтов не так много, может десяток, но вычислить их не получается.
Итого принято решение хотя бы разделить сайты так, чтобы они не могли гадить друг другу в директории, тогда и понять кто виноват будет проще.
Вот тут возник вопрос - а как сейчас это лучше всего сделать максимально просто? По условиям задачи апачи должны остаться, так как без .htaccess нельзя, а также вся конструкция должна быть относительна понятна и удобна.
Что пришло в голову:
1. Апач с suexec, каждый сайт у отдельного юзера. Говорят, что тормозит немного, что неприятно. Но добавление сайтов простое, в общем-то.
2. Апач с fastcgi и то же самое. Вроде посовременее, но на apache 2.2 у меня лично fpm настраивался как-то очень тяжко, а mod-fcgid/mod-fastcgi почему-то ругают. Но тоже вариант. Просто nginx с php-fpm не подходит из-за htaccess.
3. Какие-нибудь контейнеры, docker там, lxc, вот это всё. Красиво и даже по-хипстерски, но смущает не самая простая процедура разворачивания проектов, нужно тыкать какой-то git, заморачиваться с виртуальными хостами, портами и тому подобным (сходу в гугле красивое решение не нашлось, но может плохо искал). В команде есть люди, которые сидят на винде, и им это всё будет страшно, а пользоваться придётся.
Виртуалки как-то не хочется, сервер не такой жирный.
А что бы вы посоветовали, господа?