Тему данной статьи хотелось бы адресовать владельцам сайтов на WordPress (и любых других бесплатных CMS), чьи веб-проекты, по разным причинам, оказались в числе жертв злоумышленников и в результате хакерских атак стали использоваться как инструмент для зарабатывания денег — рассылки спама, размещения дорвеев и фишингового контента, распространения вирусов, заражающих компьютеры пользователей, внедрения редиректов, несанкционированно «перебрасывающих» посетителей с легитимного сайта на веб-ресурсы для взрослых, проведения атак на другие интернет-проекты и так далее.
При обращении в нашу компанию за «скорой помощью» для сайтов нам часто задают один и тот же вопрос: «Стоит ли продолжать использовать бесплатную CMS (Content Management System) или, как советуют многие веб-разработчики, необходимо перейти на другую, лучше коммерческую систему управления сайтом, чтобы избежать аналогичных взломов в будущем?»
Эксперты из команды «Ревизиум», в чьих руках ежедневно проходят реабилитацию десятки веб-проектов на WordPress, Joomla, Drupal, MODx и др, решили подготовить материал, который бы помог сориентироваться владельцем взломанных сайтов в данной ситуации. В данной статье рассмотрим целесообразной использования, безопасность и защищенность сайта на CMS Wordpress, но все аргументы справедливы и для других опенсорсных системы управления сайтом.
Система управления сайтами WordPress — наиболее популярная и самая распространенная в мире система. По данным сайта w3techs.com, на сегодняшний день около 27,7% сайтов в мире (доля рынка 58,8%) используют WP в качестве блог-платформ, представительств своего бизнеса в интернете и даже для ecommerce-проектов.
Безусловно, популярность данного движка обусловлена отсутствием необходимости платить за его использование. Кроме того, WP, пожалуй, — одна из наиболее удобных и комфортных CMS: быстрый старт интернет-проекта и простая эксплуатация сайта в дальнейшем, интуитивно понятный и приятный администраторский интерфейс, доступность огромного количества плагинов и шаблонов, которые помогают развивать и совершенствовать веб-ресурс без глубоких знаний веб-разработки.
Обратная сторона всемирной любви — частые взломы сайтов на WordPress и хорошо изученный хакерами код плагинов. Увы, проведение веб-атак на WP — выгодное и низкобюджетное предприятие все по той же причине: сайтов, работающих на этом движке, гораздо больше чем на других, да и доступных инструментов для взлома предостаточно. Следовательно и за одну автоматизированную атаку (массовую/нецелевую) злоумышленник может взломать и «заразить» намного больше веб-проектов чем на другом движке.
Массовая автоматизированная атака — это веб-атака на большой массив сайтов, сгруппированных по некоторому признаку: например, наличию одинаковых критических уязвимостях в скриптах CMS, плагинах или шаблонах. При такой атаке злоумышленник использует автоматизированные средства — утилиты для взлома. Основные преимущества массовой автоматизированной атаки — большая выборка потенциальных кандидатов для заражения, низкая стоимость взлома и минимально затраченное время для достижения конкретного результата.
Так стоит ли в этой ситуации оставаться на самой «любимой» хакерами платформе? Не целесообразнее, действительно, перейти на другой движок?
На самом деле все зависит от задачи, стоящей перед владельцем сайта, и типа проекта. Интернет-магазин на WordPress — рискованный и не самый оптимальный вариант (Wordpress, все-таки изначально создан не для e-commerce), и лучше перейти на коммерческий движок, разработанный специально для интернет-торговли. Высоко посещаемые проекты также нуждаются в более серьезном решении. Поскольку такого уровня сайты попадают в зону риска и могут привлекать более серьезных специалистов «темной стороны» интернета, которые не прочь повозиться с веб-проектом «вручную» и попробовать его взломать в рамках целевой, таргетированной атаки, направленный на конкретный сайт.
Однако небольшой новостной сайт, персональный блог, региональные информационные проекты, лендинги могут прекрасно существовать на бесплатном движке. Нужно только своевременно позаботиться об их безопасности.
Зараженные сайты на WordPress легко лечатся и отлично защищаются. И мы бы не рекомендовали менять CMS, если в этом нет особой необходимости, упомянутой выше (большой трафик, ecommerce направленность). Хотя, на создание интернет магазина на Wordpress готовы многие разработчики.
Начать нужно не со смены движка, а с изменения своего отношения к вопросам безопасности: принятия простых истин.
Во-первых, под атакой хакера или ботов может оказаться любой сайт. Взламывают сайты и на бесплатных CMS, и на коммерческих движках. Главное правило безопасности — вовремя позаботиться о защите своего сайта от хакеров.
Фактически любой среднестатистический сайт без защиты может быть легко взломан хакерами в рамках массовой автоматизированной кампании, имей он хоть одну критическую уязвимость в скриптах, плагинах или шаблонах. Это как лотерея с плохим «выигрышем» — ваш сайт может попасть в хакерскую выборку для атаки, а может и нет.
Интерес хакеров, как ошибочно рассуждают владельцы небольших онлайн-проектов, сосредоточен не только на сайтах с солидным трафиком. Напротив, под массовую «раздачу» может попасть абсолютно любой сайт, вне зависимости от его популярности, посещаемости и других характеристик. Автоматизированная нецелевая атака — это атака «вслепую», веб-нарушитель понятия не имеет, какие сайты оказались в его выборке, кто их аудитория и какой тематике они посвящены. В одной связке может оказаться и сайт регионального детского сайта из Подмосковья, и сайт туристического агентства из Испании. Потому что цель хакера — это не сам сайт, а его хостинг, на котором он будет размещать фишинговые страницы, дорвеи, вредоносные файлы или с которого начнет рассылать спам.
Во-вторых, сайты взламывают не только через уязвимости. Доступ к вашему веб-проекту злоумышленник может получить через перехват паролей к сайту или хостингу. Это может произойти в результате взлома компьютера; при нерегулярной смене паролей, особенно в случаях, когда доступы предоставлялись третьим лицам и в дальнейшем никак не контролировались(например, фрилансеру для проведения рекламной кампании в Яндекс/Google или SEO, а он мог их переслать еще кому-то); или в случаях, когда администрирование сайта выполнялось через небезопасное сетевое подключение (например, через публичный WiFi в кафе, в торговых центрах, на выставках/форумах в экспоцентрах, и так далее). Как вы понимаете, произойти это может не только с сайтом на WordPress.
В-третьих, на хостингах, где нет технической изоляции сайтов друг от друга (то есть скриптами одного сайта можно вносить изменения в файлы другого сайта), сайт на WordPress может быть взломан через «соседа», работающего на другой CMS. Например, хакер получает доступ к сайту на Joomla и уже через него «ломает» сайт на WP.
Владельцы взломанных и зараженных сайтов очень часто незаслуженно обвиняют в своих бедах поставщиков хостинговых услуг. Но так ли это справедливо и существует ли реальная угроза на стороне поставщика? Из нашей практики работы с десятками хостеров по всему миру риск взлома и заражения сайта присутствует в том случае, если речь идет о «доморощенном», мелком реселлере, частнике, который взял в аренду сервер и распродает на нем веб-пространство по невысокой цене, привлекая таким образом владельцев сайтов. Очень часто в этих случаях сервер не администрируется надлежащим образом, критические уязвимости не закрываются, серверное ПО вовремя не обновляется, а правила безопасного администрирования сервера игнорируются.
Крупнейшие топовые хостеры России и СНГ заботятся о безопасности своих серверов, активно инвестируя в развитие технологий. Но хостер не несет ответственности за «дырявые» плагины и движки, на которых работают сайты его клиентов. Безопасность сайта (не хостинга) — ответственность его владельца.
К слову, веб-проекты на WordPress часто заражаются самими же владельцами сайтов, которые экономии ради устанавливают на сайты бесплатные темы и плагины из непроверенных источников, с уже содержащимся в них вредоносным кодом.
Резюмируя все выше сказанное, на месте сайта на WordPress может оказаться любой другой сайт, в том числе реализованный и на коммерческой CMS, если его владелец будет игнорировать правила безопасности.
Очень часто владельцы сайтов имеют ограниченное представление о том, что такое безопасность сайта. Одним кажется, что плагин безопасности, установленный на WP — гарант защиты против хакерских вторжений. Другие видят безопасность своего веб-проекта в частой смене паролей и аккуратно следуют, действительно золотому правилу, устанавливая сложные и длинные комбинации из букв, символов и цифр. Третьи медитируют на автоматические «лечилки» — специальные сервисы, которые могут вроде как оперативно удалить вирусы с сайта и быстро возвратить их в строй дееспособных. Четвертые в случае непредвиденных обстоятельств рассчитывают на волшебный бэкап, который регулярно создается на хостинге и так далее.
И все же пока мало кто из владельцев сайтов действительно понимает, что безопасность веб-проекта — это именно комплекс регулярно проводимых мероприятий, а не какое-то разовое действие.
Безопасность сайта складывается из двух основных компонентов: технических средств защиты и организационных мер безопасности.
Технические средства защиты связаны с перенастройкой сайта и хостинга, процессом «цементирования», препятствующим несанкционированному внедрению в файлы сайта вредоносных фрагментов; установкой на сайт защитного экрана (web application firewall), который бы блокировал возможность проведения атак на веб-сайт; а также защиту админ панели сайта от брутфорс-атак (подбора паролей).
Данную часть вопроса можно закрыть с помощью привлеченных специалистов по безопасности. Здесь речь идет о разовой процедуре, которую нужно выполнить единожды, но на должном уровне.
Организационные меры безопасности — это набор правил управления доступами к сайту и хостингу, правильно организованная работа с подрядчиками, гигиена безопасного администрирования сайта:
— Своевременное обновление движка, плагинов и шаблонов.
— Создание регулярных бэкапов, сохранение бэкапов не только на хостинге, но и локально.
— Регулярная смена паролей от сайта и хостинга (панель управления, FTP, SSH).
— Профилактическая проверка сайта на предмет взлома и заражения. Отлично подойдут бесплатные инструменты: сканер файлов на хостинге AI-BOLIT и веб-сканер страниц сайта ReScan.Pro.
— Работа с подрядчикам на договорной основе. Предоставление подрядчикам ограниченного доступа к сайту и хостингу для выполнения конкретных задач; смена паролей после завершения задач подрядчиком; проведение профилактической проверки сайтов сканерами после предоставления доступов к сайту и хостингу третьим лицам.
— При работе с сайтом через публичное WiFi подключение использование VPN (Virtual Private Network) или выход в интернет через 3G/LTE.
Организационная часть — зона ответственности владельца сайта (при наличии бюджета она может быть отдана на аутсорсинг специализированной команде, но владельцы сайтов на WordPress, как правило, не располагают таким бюджетом, поэтому контролировать данный вопрос скорее всего придется самостоятельно).
Бесплатная CMS — отличное решение для сайта начального уровня, особенно при текущем многообразии тем и шаблонов, позволяющих за $30-50 получить адаптивный сайт с отличным дизайном. Однако, к выбору шаблона стоит подойти ответственно: изменение шаблона зачастую крайне сложное и лучше подобрать тот, который будет соответствовать вашим потребностям на
В дополнение к перечисленным автором методам защиты я могу добавить несколько простых советов:
Используйте сложные логины. Удалите стандартный «admin» и создайте «Sasha86». Это уменьшит шансы подобрать пароль;
Поменяйте префикс в таблицах со стандартного $table_prefix = ’wp_’; на $table_prefix = ’938jrske32_’; Это уменьшит вероятность SQL-инъекций;
Поставьте специализированный плагин iThemes Security.
Советы приведены для WP, для остальных популярных CMS — Joomla!, Drupal, MODx есть аналогичные несложные операции по повышению безопасности.
Возвращаясь к вопросу о выборе CMS. Если вы планируете заниматься сайтом самостоятельно, то бесплатная CMS — хорошее решение для того, чтобы попробовать сделать первые шаги, определиться и понять, что для Вам действительно нужно от CMS.
Если же у вас изначально большие планы и вы понимаете, что реализовывать их вы будете не своими силами, то в этом случае выбирать необходимо не CMS, а подрядчика. Да, CMS имеют некоторую специфику, тем не менее работать вам в первую очередь с людьми и взаимопонимание с исполнителем в данном случае важнее.
Нередко разработчики отдают предпочтение бесплатным CMS, основываясь на бизнес-требованиях, которым должен отвечать сайт.
Соблазн достичь быстрого и легкого управления сайтом действительно велик, однако обратная сторона этого преимущества — угроза безопасности и стабильности системы. Скажем, для простого сайта-визитки небольшой компании или некоммерческого проекта есть смысл использовать CMS WordPress, достаточно только соблюдать гигиену сайта и с умом подойти к выбору надежного хостинга. Во всяком случае, без экспертизы любые действия могут только навредить.
Чтобы настраивать страницы, управлять SEO-данными и т.д., на CMS устанавливаются плагины. В идеале плагины должны упрощать жизнь не владельцам сайтов, а разработчикам, контент-менеджерам, дизайнерам и прочим квалифицированным специалистам, которые без вреда для сайта смогут за короткое время достичь результата. Бесплатные CMS хороши разнообразием выбора инструментов, которые помогают с легкостью расширять функционал и возможности сайта.
В библиотеке бесплатной CMS находятся десятки тысяч плагинов, которые зачастую дублируют функционал друг друга. Некоторые из них устаревают и перестают быть актуальными, при этом оставаясь доступными для установки. В итоге они только захламляют библиотеку, не принося никакой пользы, а при установке и вовсе наносят вред, так как тормозят работу сайта и могут вызвать различные проблемы.
Для тестирования работы плагина (например, если нужно установить новый) или при обновлении уже используемого желательно иметь так называемую «песочницу» для безопасного тестирования, чтобы не нанести вред основному сайту и иметь возможность в любой момент откатить изменения.
С другой стороны, сайт на популярной CMS легко поддерживать. Проект не требует длительного погружения в специфику, и специалист с опытом работы с CMS может без особых усилий прийти на помощь, так что поддержка такого рода сайта обойдется значительно дешевле.
У нас есть успешный опыт использования CMS Drupal для проектов без проколов в системе безопасности. Перед релизом проекты проходили тестирование, соблюдались все требования системы безопасности (сложность пароля, возможность передачи только зашифрованных данных и пр.).
Положительным опытом работы нашей команды с CMS Drupal можно считать разработку своих собственных плагинов, которые отвечают требованиям политики безопасности компании. Исходный код этих плагинов выверен и не содержит ничего лишнего. Так что, когда мы разворачиваем CMS при создании любого нового проекта, у нас уже есть пакет готовых плагинов, которые используются из проекта в проект и в надежности которых мы уверены. Но не все компании могут позволить себе такой подход.
Доверяйте свои сайты проверенным CMS и высококлассным специалистам — усилия, которые вложены в разработку и поддержку проекта, не должны пропасть даром. Сайт — это инвестиция, которая может принести свои плоды только при должной заботе о его безопасности и надежности.
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.
Заместитель директора по развитию интернет-агентства Bquadro
Действительно, риск столкнуться со взломом сайта, реализованного на бесплатной платформе, существенно выше, чем при использовании коммерческих CMS. Рекомендации, которые описывает автор статьи, действительно могут снизить риск потенциального взлома. К сожалению, когда мы говорим о владельце сайта на бесплатной платформе, высока вероятность того, что:
он ещё не обжигался, то есть, его сайт никогда ранее не взламывали;
он не понимает, что работоспособность сайта напрямую не влияет на прибыль его компании, и временное отсутствие представительства в сети не критично;
бюджет проекта не позволяет приобрести коммерческий продукт.
При этом в описанных ситуациях клиент часто не имеет компетенции/желания самостоятельно заниматься ведением вопроса безопасности проекта, а в случае взлома — оперативно решать возникшую проблему.
При выборе платформы стоит оценить риски: как быстро вы сможете вернуть сайт в строй, есть ли у вас штатный проверенный специалист, который сможет это сделать, и, если нет, готовы ли вы разбираться в ситуации самостоятельно или выделять дополнительный бюджет на привлечение подрядчика. Также необходимо заранее понимать, какова будет упущенная прибыль в случае неработоспособности сайта в течение нескольких дней.
И да, если ваша задача — быстро протестировать какую-то нишу, и ваш штатный программист/надёжный подрядчик хорошо знаком с Drupal, Wordpress и т. п., тогда для создания одностраничного сайта или персонального блога бесплатная CMS скорее всего подойдёт.
Если же речь идёт о корпоративном сайте, интернет-магазине и тем более портале, я бы рекомендовала всё-таки выбирать проверенные коммерческие продукты. Тем более цена лицензии не так высока, как возможные траты на восстановление сайта в случае атаки.