- безопасности программной части (CMS, скриптов)
- безопасности сервера (хостинга)
- осведомленности и аккуратности администратора сайта или тех, кто работает с сайтом как администратор
Если все три составляющих организованы надлежащим образом, то сайт будет неприступным для хакеров и вирусов.Надежность программной частиПрограммная часть — это система управления сайтом (Joomla, WordPress, Bitrix и др) или скрипты, на которых работает сайт. Надежность программной части подразумевает отсутствие уязвимостей («дыр»), позволяющих злоумышленнику получить доступ к базе данных, файловой системе или панели администратора сайта.Чтобы в программной части не было уязвимостей, разработчики должны разрабатывать скрипты с оглядкой на безопасность, что выполняется не всегда. Правда жизни такова, что практически в каждой CMS или в скрипте существуют уязвимости. Часть из них опубликована в открытом доступе (публичные уязвимости), другая не доступна широкой аудитории и используется злоумышленниками для целевых атак на сайты. Для того чтобы программная часть сайта была надежна и неприступна, нужно уделять внимание проблеме безопасности.Если сайта работает на одной из популярных систем управления сайтом, нужно следить за обновлениями и патчами, и своевременно обновлять CMS до самой последней доступной версии.Если сайт работает на скриптах собственной разработки, нужно выполнить сканирование сайта доступными средствами поиска уязвимостей (XSpider’ом, Acunetix Web Vulnerability Scanner’ом, утилитами для поиска SQL иньекций, XSS, RFI и другими), проверить исходный код сайта средствами статического анализа исходного кода (RIPS) и, если обнаружатся уязвимости, исправить их. Кроме регулярных обновлений скриптов и CMS есть еще один важный момент, усиливающий безопасность и надежность скриптов — это правильная конфигурация сайта.
Необходимо:
- грамотно прописать права на файлы и директории
- закрыть доступы к внутренностям сайта (каталогам с
- резервными копиями, конфигурационным файлам и пр)
- запретить выполнение скриптов в директориях загрузки
- поставить дополнительную защиту на вход в панель администратора
и др.
Данные меры позволяют значительно снизить вероятность взлома сайт, даже при наличие уязвимостей в программной части.Безопасность сервера (хостинга)Вторым важным моментом, влияющим на безопасность сайта в целом, является хостинг, на котором размещается сайт. Хостинг может быть shared («общий») или dedicated («выделенный»).Для shared-хостингов ответственность за безопасную настройку сервера лежит на администраторе хостинг-компании. Для dedicated-сервера (VDS/VPS/DDS) эта ответственность лежит на владельце сервера.Как в случае shared-хостинга, так и в случае dedicated-сервера конфигурация должна обеспечивать минимальную свободу действий, не нарушающих работоспособность сайта. То есть на сервере должны быть разрешены только самые необходимые функции, а все остальное — запрещено. Например, если сайт не выполняет внешних подключений к другим серверам, должны быть отключены опции внешних соединений. Если сайт не использует системные вызовы (system, shell_exec, и др), эти функции необходимо отключить. Кроме того, должна быть ограничена область видимости файловой системы из скриптов и многое другое. Обо всем этом должен позаботиться системный администратор сервера.Как известно, на одном сервере shared-хостинга размещаются сотни сайтов, и каждому сайту требуются свои функции. Поэтому хостинг-компании максимально лояльно подходят к вопросам настроек сервера, разрешая практически все. Естественно, это сказывается на общем уровне безопасности всех сайтов, размещенных на их серверах. Поэтому владельцу сайтов нужно тщательно подходить к вопросу выбора хостинга: выбирать нужно тот, который позволяет производить настройку веб-сервера и php персонально для эккаунта, а не использовать установки по-умолчанию.Настройку dedicated-сервера должен проводить опытный системный администратор, который изолирует сайт от остальной части системы, максимально ограничит свободу скриптов и область их видимости, а также организует механизмы контроля целостности файловой системы, систему резервного копирования и логгирования.Осведомленности и аккуратности администратора сайтаВладельцы сайта, обычно, уделяют мало внимания вопросам безопасности, предполагая, что программная часть безупречна, настройки сервера надежны и безопасны. Хотя собственная беспечность наиболее часто является причиной взлома сайтов и заражения вирусами.Ниже приведен чеклист, который должен постоянно держать в голове администратор (владелец) сайта:
- Компьютер, с которого выполняется работа с сайтом, должен быть защищен коммерческим антивирусным программным обеспечением и регулярно им проверяться. Если с сайтом работает несколько человек, данное требование применяется к каждому.
- Пароли от ftp/ssh/панели администратора нужно менять регулярно, хотя бы раз в месяц
- Не хранить пароли в программах (ftp-клиентах, браузере, электронной почте)
- Ставить сложные пароли вида «Xhsdf3@4%4»
- Работать по безопасному протоколу SFTP или SCP
Итог: Чтобы сайт был защищен от вирусов и хакеров, нужно достаточно много внимания уделять проблеме безопасности: поддерживать программное обеспечение в актуальном состоянии, правильно настраивать хостинг и следить за доступами к сайту. Если хотя бы один из трех элементов будет слабым звеном, сайт останется уязвимым.—По вопросам защиты сайта вы всегда можете обратиться к специалистам.