Как безопасно размещать сайты на хостинге

Как безопасно размещать сайты на хостинге
Небольшая заметка о том, почему опасно размещать несколько сайтов на одном аккаунте хостинга и как справиться со взломом нескольких сайтов на аккаунте.

Виртуальный (он же “шаред”/shared) хостинг можно представить в виде коммунальной квартиры или общежития, где живут несколько сайтов в одном общем виртуальном пространстве. У большинства хостинг-компаний на аккаунтах shared-хостинга (это те тарифы, где можно размещать 2, 3, 10, 50 сайтов) ресурсы не изолированы друг от друга: у всех сайтов один общий владелец, а скрипты сайта выполняются с правами того единственного владельца аккаунта или с правами пользователя веб-сервера www-data (к счастью, последнее встречается все реже). Фактически это означает, что скриптам одного сайта разрешено создавать, удалять, редактировать файлы любого другого сайта на том же аккаунте, а также скрипты одного сайта могут получить доступ к базе данных другого сайта. Поэтому хакеру достаточно взломать один сайт, чтобы получить контроль над всеми сайтами хостинг-площадки. Например, заразить их вирусами, получить доступ к чувствительным/конфиденциальным данным или полностью уничтожить.

Как все это проецируется на реальную жизнь?
К нам обращается владелец сайтов, размещенных на shared-хостинге, с жалобой на какой-то определенный сайт (с него может идти спам или доступ к нему блокирует антивирус), но после экспресс-проверки сайтов аккаунта оказывается, что на остальных также загружены хакерские скрипты или внедрен вирусный код.   То есть взломан и заражен весь аккаунт. Вместо одного сайта нужно лечить все пять (десять, двадцать, пятьдесят,…) Клиент в печали.
Часто в целях финансовой экономии владелец shared-аккаунта просит вылечить только один сайт, а остальные не трогать (или вылечить их позже). Это плохая практика, так как уже через несколько дней вредоносный код с соседнего зараженного сайта может снова попасть на вылеченный и он окажется повторно инфицирован. Поэтому при взломе / заражении сайтов на виртуальной площадке, где размещено больше одного сайта, необходимо обязательно проводить работы с каждым сайтом (сканировать на вирусы и хакерские скрипты, лечить, если сайт заражен, и ставить защиту от взлома). В противном случае гарантированного избавления от взломов и заражения не будет, а сам процесс лечения будет напоминать вычерпывание воды из дырявой лодки. То есть бесконечный процесс: пока один чистили от вирусов, второй уже заразился.


У владельца зараженного аккаунта есть только три возможных варианта эффективного решения данной проблемы:
  1. изолировать сайты на отдельных аккаунтах: каждому сайту купить отдельный аккаунт на shared-хостинге и перенести сайты на них, после чего постепенно вылечить сайты
  2. удалить или заблокировать сайты, которые не представляют особой ценности, а остальные в течение суток вылечить и защитить от взлома
  3. вылечить и защитить от взлома все сайты на виртуальной площадке в течение суток (или быстрее)
Важно понимать, что
  1. сайты должны быть изолированы друг от друга, то есть размещены в разных пользовательских аккаунтах виртуального хостинга (или размещены на виртуальном хостинге, где данная изоляция уже заложена в архитектуру хостинга, но таких очень мало)
  2. сканирование, лечение и защита должны быть выполнены для всех активных сайтов виртуальной площадки, причем в сжатый временной интервал (например, в течение суток или быстрее).

Большинство владельцев аккаунтов виртуального хостинга неправильно понимают термин “изоляция сайтов”, кроме того, они не знакомы с динамикой распространения вредносного кода и механизмом заражения сайтов на хостинг-площадке, что порождает несколько типичных заблуждений.
  1. Заблуждение №1 : Если создать для каждого сайта свой FTP аккаунт, то сайты будут изолированы.

    Увы, это не так. В данном случае сайты будут изолированы только по FTP, но через веб-скрипты по-прежнему возможен доступ к любому файлу любого сайта или базы данных в рамках виртуальной площадки.
    Настоящая изоляция возможна только при размещении на разных аккаунтах виртуального хостинга или если если ее специальным образом обеспечивает хостинг (виртуализацией, настройками операционной системы, на уровне ядра и т.п.). Стоит сразу отметить, что php опция open_basedir в данном случае не спасает.
  2. Заблуждение №2 : Сейчас можно вылечить один сайт, а через некоторое время – остальные.

    К сожалению, нельзя. К тому времени, как будет вылечен последний сайт, первый снова будет заражен от “больных” соседей. И процедуру придется выполнять бесконечно.
А что, если сайты хостятся на VPS/VDS/ выделенном сервере ?
Для выделенного сервера справедливы те же правила: сайты опасно размещать внутри одного аккаунта пользователя. Для каждого сайта нужно создать отдельного пользователя операционной системы и разместить сайт в каталоге этого пользователя. Часто делается обратное: 50 сайтов лежат в директории /var/www/admin/. Причем все 50 оказываются в одночасье заражены.
Если у вас VDS сервер или виртуальный аккаунт, на котором уже размещено больше трех сайтов внутри одного пользовательского каталога, рекомендуем потратить немного время и изолировать сайты друг от друга. В перспективе это сэкономит вам время, деньги и нервы.
Чем еще полезна изоляция сайтов ? Плюсов масса:
  1. к каждому сайту можно сделать отдельный SFTP аккаунт (и перестать пользоваться старым и небезопасным FTP)
  2. для каждого сайта можно прописать оптимальные настройки, повысив безопасность и производительность, и быть уверенным, что они не сломают другие сайты на площадке
  3. seo-специалистам, фрилансерам-программистам можно предоставлять доступы только к одному сайту (по FTP/SSH) и не бояться, что они сломают соседние сайты
  4. лечение и защиту сайов в случае массового взлома можно выполнять постепенно, по одному
Надеемся, что данная информация поможет вам избежать проблем массового взлома сайтов или, если он уже случился, наиболее эффективно с ним справиться.
Если у вас остались вопросы или вам нужна помощь специалистов, напишите нам .

Посмотреть другие статьи.
хостинг безопасность защита ревизиум
Alt text

Где кванты и ИИ становятся искусством?

На перекрестке науки и фантазии — наш канал

Подписаться

revisium

Блог компании "Ревизиум": лечение сайтов от вирусов и защита от взлома. Информационно-познавательные материалы из мира безопасности и защиты сайтов.