Сетевые ограничения на виртуальном хостинге

Ограничения на виртуальном хостингеЗачастую люди создают сайты на личном компьютере и там же их тестируют. И только после загружают такие сайты на сервер виртуального хостинга, где впоследсвие они оказываются неработоспособными.  Такое обычно случается с новичками и вызывает бурю негодования: “Как это так? Я же сам видел, как сайт работал на моем компьютере, а на Вашем сервере он почему-то не работает. Плохой у Вас сервер, чините”.

Такой пользователь не задумывается о том, что он создавал сайт на персональном компьютере, к которому у него безграничный доступ и на котором работает только он сам.  На виртуальном же хостинге работает множество людей, и для их комфортной и безопасной работы вводится ряд ограничений. Любые ограничения — это неприятно, но те, что мы используем на нашем виртуальном хостинге, призваны помочь самому пользователю. Не будь их, пользователь столкнулся бы с другими проблемами, которые явно перевешивают неудобства от наших ограничений. Одним из существующих ограничений является файрвол (Firewall), об устройстве которого будет рассказано в этой статье.

На нашем виртуальном хостинге, функцию файрвола выполняет программный комплекс CSF. Это надстройка над файрволом iptables, который входит в ядро linux. CSF позволяет не только определить, к каким службам можно выполнить подключение, создав набор правил для Iptables, но и проводит аудит журнальных файлов сервера, выявляя попытки атак на наш сервер. Все сетевые соединения делятся на два типа: входящие и исходящие.

Входящие — это возможность подключаться к серверу. Тут все просто, мы блокируем все, кроме нескольких служб, которые необходимы для работы хостинга. Доступны только: Веб сервер, FTP сервер, SSH сервер, Почтовый сервер и контрольная панель cPanel. Казалось бы, для работы сайта больше и не нужно. Ан нет. К серверу баз данных, запущенному на своем персональном компьютере вы подключаетесь свободно и для редактирования базы данных используете любимую программу. Но, когда дело доходит до подключения из этой же программы к аналогичному серверу на виртуальном хостинге, у вас ничего не получается. Это происходит потому, что мы блокируем сетевые соединения к серверу баз данных, если соединения происходят не с нашего же сервера.

На первый взгляд — не очень удобно. Зачем же это было сделано? Очень просто: для поддержания безопасности. Чтобы удаленные машины-боты не могли заниматься подбором пароля к вашей базе данных. Никто не говорит, что у этих ботов получилось бы подобрать пароль, получить доступ и взломать сайт. Но, смотря, как современные мошенники тратят массу усилий, изощряются и придумывают все новые и новые методы взлома систем, стоит принимать любую, даже небольшую, вероятность всерьез.

Спросите, почему я назвал таких людей мошенниками, а не хакерами? Да все просто: в моем понятии последние это неплохие люди, с большим энтузиазмом, больше интересующиеся тем, как это устроено, и, как обойти ограничения для поддержания спортивного интереса, нежели тем, как сделать плохо ближнему. Не знаю почему, но такое у меня сложилось мнение. Так вот, сейчас мошенники периодически сканируют Ваш сайт, чтобы обнаружить проблемные места. Смотрят страницы с оповещениями об ошибках, собирают данные. Они, например, могут записать сообщение о невозможности подключиться к базе данных вашим скриптом (когда оно выводиться на странице, вместо сайта). После, зная логин и имя базы данных, пытаются подбирать пароль. И, даже если не создавать удаленных пользователей в базе данных и отбросить возможность того, что они подберут пароль, сам процесс подбора пароля и наличие массы соединений с сервером баз данных, несут уйму нежелательной нагрузки на сервер.

Но не все так плохо, и пользователь, который хочет редактировать базу данных не в веб интерфейсе, а, используя собственную программу, может использовать обходной путь. Например, он хочет загрузить дамп базы данных, размер которого превышает ограничение на загрузку файлов в php. Для этого пользователь может использовать протокол ssh. И речь не обязательно идет о том, что нужно будет заходить в консоль сервера и там, вводя необходимые команды, загружать дамп базы данных. Можно использовать проброс порта 3306 (если речь идет о mysql) на свой локальный компьютер, используя ssh соединение с сервером. Для этого, например, можно использовать программу Putty.  Как видно из этого примера, у пользователя есть возможность обойти некоторые ограничения без подвержения сервера риску.

Теперь поговорим об исходящих ограничениях. На первый взгляд — это бессмысленная мера. Ведь исходящие соединения могут устанавливать только программы, запущенные из-под аккаунтов наших же пользователей. Тут, однако, есть нюансы. Как быть в тех случаях, когда аккаунт пользователя взламывают? Вирус крадет логин-детали из почтового клиента на компьютере пользователя, или находится уязвимость в коде сайта, или злоумышленник покупает аккаунт у нас, используя ворованную кредитную карту… Достаточно несложный Dark Mailer (программа для рассылки спама), вполне может отправить миллионы писем в обход локального почтового сервера, при чем в кратчайшие сроки. Это может стать причиной попадания сервера в публичные блэклисты. И, как результат, наши пользователи не смогут отправлять почту, используя этот сервер. По этой причине мы блокируем все исходящие соединения на порт 25 (SMTP). Аналогично и с другими портами, нет смысла разрешать исходящие соединения без крайней необходимости. Естественно, у нас есть исключения из правил, и некоторые порты у нас разрешены для исходящих соединений. Например, мы разрешаем подключаться к 80-ому порту (HTTP), так как многие CMS умеют скачивать дополнения и обновления из сети самостоятельно. Это явно лучше, чем каждый раз загружать их на сервер, используя FTP. Также, запрещая подключения к 25-ому порту, мы оставляем открытым 587(Submission), который также позволяет отправить почту через удаленный сервер, но на нем нужно авторизоваться.

Нельзя не отметить одну особенность нашего файрвола: он блокирует IP ареса компьютеров, с которых совершаются попытки подбора паролей или атаки на сайты наших пользователей. Под попыткой подбора паролей мы подразумеваем ошибки аутентификации в разных сервисах нашего сервера. Ошибки авторизации в почте, на FTP сервере или при входе в контрольную панель cPanel. Что касается атак, то это совпадения с правилами mod_security (набор правил, призванных предотвратить взлом вашего сайта). Если таких совпадений, при обращении к Вашему сайту окажется много, то ИП адрес посетителя может быть блокирован.

Не стоит переживать, любой подобный блок — это временная мера, и через 20 минут он будет снят. Но, если таких “временных” блоков будет более 4-х, то блок станет постоянным, и для его снятия Вам нужно будет обратиться к нам в техподдержку.

Чтобы подытожить написанное, хочу сказать, что все ограничения мы вводили исключительно для спокойствия и безопасности наших пользователей. Если вдруг Вы столкнетесь с какими-то проблемами, связанными с нашими сетевыми ограничениями, то не стесняйтесь обращаться с вопросами в нашу техподдержку, мы постараемся подсказать Вам наиболее удобный способ решить Ваши задачи без ущерба для безопасности всего сервера.

 

С наилучшими пожеланиями,

руководитель техотдела Денис Мищенко

Понравилась статья? Оставь свой голос!
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5 (1 оценок, среднее: 5,00 из 5, вы уже поставили оценку)
Загрузка...