Защита сайтов от заражения вирусами соседей по серверу
24 Mar 2017 | Автор: dd |Поднялся тут вопрос у людей о том, как обезопасить сайты, хостящиеся в одном и том же аккаунте, друг от друга. То есть, чтобы при взломе или заражении сайта А, не пострадали бы сайты В и С находящиеся в той же папке виртуального пользователя.
Этот вопрос, к тому же, дополнительно усугублялся тем, что вопрошающие не хотели брать отдельный сервер под свои задачи, а сильно хотели реализовать все в рамках шаред хостинга из коробки.
Простейший путь минимальной защиты – это закрыть все на уровне пыха, с помощью директивы open_basedir которая прописывается в конфиге виртуального хоста
php_admin_value open_basedir /var/www/username/data:.”
и не дает процессу выйти выше указанной директории. Можно ограничить и на уровне именно доменной папки, но тогда придется организовавывать всю структуру папки data внутри доменной, т.к как минимум пара директив требует доступа к папкам на уровне пользователя:
php_admin_value upload_tmp_dir
php_admin_value session.save_path
Но тут надо понимать, что надо закрывать для аккаунта все фичи, вроде exec, proc и ты.ды, т.к для взлома могут использовать не уязвимость, а тупо залить перловый шелл, и тогда защита веб-сервера на уровне командного интерпретатора идет по одному месту.
Данный вариант защиты можно реализовать даже на уровне шаред хостинга, ибо эти директивы можно прописать и в .htaccess
Если говорить про отдельный сервер – это все можно реализовать, взяв у хостера план реселлера и раскидывая сайты по отдельным аккаунтам. Ну либо накатив свой биллинг – панельку и заводя под каждый сайт отдельного пользователя или же прикрутив модуль для апача apache2-mpm-itk который позволяет запускать каждый процесс для виртуального хоста под своими уникальными идентификаторами, т.ч взломщик не получит прав выше директорий разрешенных для непривелигированного пользователя. Но это уже совсем отдельная песня ибо требует своего сервака с полными правами и руками для настройки.
Тогда как из коробки – есть отличное решение у российского хостера Бегет, предлагающего как раз функционал изолирования сайтов друг от друга в рамках одной учетной записи.
Собственно весь механизм изоляции я не знаю, ибо не внимал, но реализован он на POSIX ACL и доработки ядра Linux. Также, что довольно удобно – имеется функционал расшаривания файлов между изолированными папками, в случае если им необходимо использование одних и тех же.
Откровенно говоря, не могу сказать насколько хорошую защиту сайтов от вирусов и шеллов предлагает данный хостинг, т.к сам уже сильно давно использую исключительно дедики и VPS сервера, где все, при желании конечно )) можно реализовать самостоятельно, но судя по отзывам – защита работает нормально и зараза остается в пределах сайта, не перекидываясь на соседние сайты.
Пытался найти еще кого нить из российских хостингов, обеспечивающих изолирование сайтов друг от друга в рамках одного аккаунта, но Бегет оказался единственным в таком роде.
Возможно кто то сможет присоветовать аналогичные решения.
Защита сайтов от заражения вирусами соседей по серверу,Теги: хостинг