Привет коллеги. В связи с новой работой, я столкнулся с проблемой.
Имеется хостинг (timeweb.ru) на котором хостятся около 200 сайтов. Директории с сайтами лежат в корне и имеют одного владельца. Привязать каждую директорию к отдельному владельцу невозможно. К сожалению современные cms имеют много дыр и когда проникает вирус, он может заразить все директории с сайтами в корне. Вот недавно пришлось лечить около 50 сайтов. Повезло, что вирус можно удалить с помощью регулярок.
Собственно меня интересуют советы и то, как другие борятся с подобными проблемами (к примеру компании у которых около 1000 сайтов и т.д.)
Обеспечение безопасности на shared хостинге
Если ресурсов есть и их не жалко, то можно сделать схему nginx -> apache+mpm_itk. А уже в apache можно от разных пользователей процессы запускать.
Если просто nginx+cgi_php или nginx+php-fpm, то никак не защитишься. Nginx не умеет свои потоки от разных пользователей пускать.
З.Ы. На подопечных серверах пока в сумме около полутора сотен сайтов. Так что возможно я неадекватно оцениваю возможную нагрузку ввиду недостатка опыта.
elve, проблема в том, что хостинг виртуальный, я не властен над конфигурацией сервера..
Имеется хостинг (timeweb.ru) на котором хостятся около 200 сайтов. Директории с сайтами лежат в корне и имеют одного владельца. Привязать каждую директорию к отдельному владельцу невозможно.
Скорее вы просто не нашли как это сделать. Такие вопросы надо не тут задавать задавать, а в форум/поддержку хостера.
Такие вопросы надо не тут задавать задавать
ну я не задавал такие вопросы
Собственно меня интересуют советы и то, как другие борятся с подобными проблемами
меня интересуют общие советы по безопасности.
меня интересуют общие советы по безопасности.
Во-первых, для каждого сайта отдельная учетка.
Далее фразы для гугла:
php open_basedir
php suhosin.executor.func.blacklist или php disable_functions (лучше первое)
apache mpm-itk
Второе далеко не всегда приемлемо, т. к. многие CMS используют вызовы системных приложений для всякой фигни (а это потенциально опасно).
Третье жрет чуть больше ресурсов, чем mpm-prefork.
ИМХО оптимально первое + mpm_prefork + ограничение на запуск софта от имени вебсервера на уровне системы. Это не самая простая задача, но позволяет обеспечить более-менее приемлемый уровень изоляции площадок, не создает проблем пользователям и применимо при использовании разнообразных панелей управления.
PS По личному опыту значительно чаще тырят пароли от FTP, чем используют уязвимости CMS.
уязвимости с ftp я решил, перевел всех на использование менеджера паролей и закупкой хорошего антивируса, также запретом на сохранение паролей в ftp клиентах
neol, не подскажешь еще как можно внедрить систему анализа логов на предмет уязвимостей в cms ? Может пользуешься какими-либо методами ?
riso, почти никак. Корректные права в собственном хомяке, не сохранять пароли, криптостойкие пароли, бэкапы почаще. А так шаред это как автобус :)
А так шаред это как автобус
Это точно.
Корректные права в собственном хомяке
вот думаю на файлы убрать бит записи даже для владельца
закупкой хорошего антивируса
Хороший антивирус - это фантастика (:
neol, не подскажешь еще как можно внедрить систему анализа логов на предмет уязвимостей в cms ? Может пользуешься какими-либо методами ?
Если CMS коробочная, то ее просто надо вовремя обновлять.
Если уж приходится искать дырку, то:
- PHP собран с suhosin patch (так по умолчанию в Debian), так что если сайт сканируют на уязвимости, то с некоторой долей вероятности это будет заметно в syslog.
- Если изменяют файлы, то скорее всего используют POST запросы (или весьма длинные GET), которые несложно отобрать grep'ом.
Ну а с этими логами уже можно сесть с программерами за чашечкой кофе/чая/пива и плотно подумать. Правда за время моей работы на нынешнем месте (а это уже 4 года) такого не было ни разу. То ли программеры у нас мощные, то ли просто везет (:
Хороший антивирус - это фантастика (:
хорошо сказано
Если CMS коробочная, то ее просто надо вовремя обновлять.
ВиУ
ВиУ
Можно расшифровать?
[quote=drBatty]ВиУ
Можно расшифровать?[/quote]
нет