Возможно, вы подумаете, что вам не стоит опасаться, и это статья не для вас! Ведь ваш сайт не имеет смысла взламывать… Но позвольте я вас огорчу. Эта статья актуальна для всех владельцев сайтов.
Чаще всего взломы производятся для того, что бы использовать ваш сервер для рассылки спама или хранения файлов нелегального содержания. Происходит это за счет автоматизированных скриптов, предназначенных для прочесывания всех сайтов с целью взлома. Как только обнаруживаются лазейки в программном обеспечении, начинаются атаки и продолжаются, пока не выйдет обновление, которое скроет лазейку. Поэтому так важно следить за обновлениями CMS.
Давайте рассмотрим три вида угроз безопасности сайта, от которых зависит наше с вами спокойствие!
Угрозы безопасности:
- безопасность CMS и скриптов
- безопасность сервера и хостинга
- ответственность администратора сайта
Угроза безопасности CMS и скриптов
CMS — это система управления сайтом (MODX, Wordpress, Bitrix и др.), на которой работает сайт. Надежность платформы, на которой установлен сайт - это отсутствие уязвимостей, позволяющих злоумышленнику получить доступ к базе данных, файловой системе или панели администратора сайта.
Скрипт — это программный файл, который автоматически выполняет некоторую задачу, которую пользователь делал бы вручную, используя интерфейс программы.
К сожалению, в каждой CMS или в скрипте со временем обнаруживаются уязвимости. Некоторые даже опубликованы в открытом доступе, другие существуют без огласки.
Следите за обновлениями, и своевременно обновляйте CMS до последней доступной версии, разработчики постоянно усовершенствуют свой продукт, а хакеры постоянно его взламывают, и эта Интернет-война будет длиться бесконечно.
Исходный код и скрипты можно проверить при помощи специализированных сканеров поиска уязвимостей XSpider, Acunetix Web Vulnerability Scanner, утилитами для поиска SQL инъекций, XSS, RFI и другими.
Безопасность сервера и хостинга
А теперь вернемся к безопасности сервера и хостинга. На сервере необходимо разрешить только необходимый функционал, а все ненужные функции должны быть запрещены.
Пример:
Веб сайт не выполняет внешних подключений к другим серверам. Значит выключаем опцию внешних соединений. Если сайт не использует системные вызовы (system, shell_exec, и др.), отключите их. Кроме того, должна быть ограничена область видимости файловой системы из скриптов. Обо всем этом должен позаботиться системный администратор сервера.
Хостинги бывают двух видов shared («общий») или dedicated («выделенный»). Для общего хостинга ответственность за безопасную настройку сервера лежит на администраторе хостинг-компании. Для выделенного-сервера (VDS/VPS/DDS) ответственность лежит на владельце сервера.
Как известно, на одном сервере shared-хостинга размещаются сотни сайтов, и каждому сайту требуются свои функции. Поэтому хостинг-компании максимально лояльно подходят к вопросам настроек сервера, разрешая практически все. Естественно, это сказывается на общем уровне безопасности всех сайтов, размещенных на их серверах. Если на вашем сайте хранятся личные данные или проводятся денежные операции, вам нужно позаботится о безопасной настройке сервера.
Настройку dedicated-сервера должен проводить опытный системный администратор, который изолирует сайт от остальной части системы и максимально ограничит свободу скриптов и область их видимости, а также организует механизмы контроля целостности файловой системы, систему резервного копирования и логгирования.
Ответственность за угрозы безопасности администратора сайта.
Теперь, когда вы знаете об опасностях вы сможете предотвратить их, но не забудьте поделится этой информацией с человеком которой администрирует ваш сайт. А иначе он ненароком может пустить все коту под хвост.
Правила безопасности для администраторов сайта:
- Ваш компьютер не должен быть подвержен вирусам. Поэтому компьютер, с которого выполняется работа с сайтом, должен быть защищен коммерческим антивирусным программным обеспечением и регулярно им проверяться
- Пароли от ftp/ssh/панели администратора меняйте почаще
- Пожалуйста, не сохраняйте и не храните пароли в программах (ftp-клиентах, браузере, электронной почте)
- Создавайте креативные и сложные пароли типа «Tyz!k^NetObed987@6%2»
- Работать по безопасному протоколу SFTP или SCP
Угрозы информационной безопасности сайта:
- Угрозы конфиденциальности – несанкционированный доступ к данным.
- Угрозы целостности – несанкционированное искажение или уничтожение данных.
- Угрозы доступности – ограничение или блокирование доступа к данным.
Говоря простыми словами — основная угроза безопасности сайта — хакерская атака, может быть либо целевой, либо носить бессистемный характер, по принципу — атакую все подряд, что-нибудь да сломается! В первом случае злоумышленник может выявлять максимально возможное количество векторов атаки для составления и реализации потенциально успешных сценариев взлома, во втором же объекты атакуются массово. Обычно используют несколько поверхностных уязвимостей.
Что может стать угрозой и большой неприятностью?
- Механизм проверки идентификации.
- Атака на самих пользователей, клиент-сайд атаки.
- Утечка или разглашение критически важной информации.
- Интеллектуальная атака.
Уязвимости веб-сайтов, как правило, приводят к выполнению кода на удаленном сервере. Все серверы используют данные, переданные пользователем при обработке запросов. Часто эти данные используются при составлении команд, применяемых для генерации динамического содержимого. Если при разработке не учитываются требования безопасности, злоумышленник получает возможность модифицировать исполняемые команды. К такого рода уязвимостям относятся, например, SQL-injection.
К такого рода атакам относятся — bruteforce, обход авторизации, небезопасное восстановление паролей, предсказуемое значение сессии или ее фиксация.
Во время посещения сайта между пользователем и севером устанавливаются доверительные отношения, как в технологическом, так и в психологическом аспектах. Пользователь ожидает, что сайт предоставит ему легитимное содержимое. Кроме того, пользователь не ожидает атак со стороны сайта. Эксплуатируя это доверие, злоумышленник может использовать различные методы для проведения атак на клиентов сервера. Такого рода атаки могут быть задействованы как в сложных сценариях атаки (watering hole, drive by), так и в более привычных — клиент-сайд атаках, например XSS.
К разглашению информации относится как информация непосредственно о веб-сайте, его компонентах, платформе и составляющих, так и утечка чувствительной информации с сайта, из-за ее ненадлежащей защиты. Подразумевается раскрытие информации лицам, доступ к которым им запрещен, либо раскрытие информации в результате неверной настройки веб-сервера.
Интеллектуальные атаки направлены на эксплуатацию функций приложения или логики его функционирования. Логика приложения представляет собой ожидаемый процесс функционирования программы при выполнении определенных действий. В качестве примеров можно привести восстановление паролей, регистрацию учетных записей, аукционные торги, транзакции в системах электронной коммерции. Приложение может требовать от пользователя корректного выполнения нескольких последовательных действий для выполнения определенной задачи. Злоумышленник может обойти или использовать эти механизмы в своих целях. К такого рода атакам относятся и атаки класса отказ в обслуживании, DoS.