Защита сайта

Защита Joomla (часть 5). Спам на сайте

 

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

Модерация и оповещения

Наряду со всеми техническими средствами и приёмами, любой сайт, вне зависимости от того, это Ваш личный блог или большой интернет-магазин, требует постоянной модерации. Любой сайт должен находиться под постоянным контролем. Я не буду рассуждать о том, как важно своевременно отвечать на комментарии пользователей и вносить новые статьи. Под модерацией с точки зрения безопасности я имею в виду отслеживание обновлений системы управления контентом и её расширений, своевременную их установку, проверку сайта на наличие вредоносного кода, модерацию сообщений пользователей, содержащих ссылки на другие ресурсы (возможно вредоносные), анализ отчётов расширений для повышения безопасности сайта (например, jSecure Authentication, RSFirewall, jFireWall, Marco's SQL Injection, MightyDefender и так далее).

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

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

В качестве источника информации о том, что на сайте найден вредоносный код могут служить такие сервисы как:

Немного детальнее Вы сможете прочитать об этих сервисах в следующих моих статьях. Относительно сервисов подобных Веб-мастер Google и Веб-мастер Яндекс, есть вероятность того, что при условии использования одного аккаунта, на который подключено несколько Ваших сайтов (что весьма удобно), знающие люди смогут (по ключу, вставляемому в код страниц сайта) найти в сети все сделанные Вами сайты (если Вы вебмастер) и попытаться применить ко всем один и тот же метод взлома или одни и те же регистрационные данные (если они к ним попадут).

Ещё одним источником информации о взломе и заражении Вашего сайта могут стать Ваши посетители. Не лишним будет организовать форму обратной связи у Вас на сайте. Или хотя бы указать контактный адрес электронной почты, чтобы пользователь мог пожаловаться (сообщить) Вам о том, что на сайте присутствует вредоносный код или ссылки, ведущие на заражённые ресурсы. Сам пользователь может об этом узнать из предупреждений его антивирусного программного обеспечения.

Также следует зарегистрироваться на различных репутационных сервисах типа WOT, Norton Safe Web и так далее. Это поможет оперативно отслеживать рейтинг Вашего сайта по мнению Интернет-сообщества касательно наличия вредоносного кода у Вас на сайте (и не только об этом).

Постоянно проверяйте свой сайт на наличие вредоносного кода!

Считаю не лишним, чтобы человек, отвечающий за безопасность сайта, был постоянно в курсе последних событий в области безопасности. Он должен быть осведомлён о наиболее распространённых способах атак на сайты, методах борьбы с ними и так далее. В качестве источников хочу порекомендовать такие ресурсы как:

  • Anti-Malware.ru - независимый информационно-аналитический центр.
  • InfoWatch – российская инновационная компания, занимающаяся разработкой программных продуктов для защиты информации от внутренних угроз.

А также официальные сайты производителей антивирусного программного обеспечения.

Если произошло так, что Ваш сайт был взломан, то выяснив приблизительный период и последствия такого взлома (например, кражу пользовательских данных, размещение вредоносного кода, подмену загружаемых файлов и так далее), рекомендую проинформировать об этом своих пользователей и\или посетителей (незарегистрированных пользователей) путём рассылки сообщений и\или выложив соответствующее уведомление на сайте. Если у Вас на сайте предусмотрена внутренняя система обмена сообщениями, то можно оповестить и через неё тоже. Считаю, что пользователь вправе знать о том, что им нужно проявить бдительность (сменить логин\пароль, проверить свой компьютер на наличие вирусов и так далее). Однако такое оповещение следует делать обдуманно и только после того, как будет установлен 100% факт взлома. Отмечу, что защита сайта Joomla без надлежащей модерации не может быть полноценной.

Пользователи и спам

Нельзя сказать, что борьба со спамом на сайте - это прямой способ повысить его безопасность от взлома. Но в спам-сообщениях очень часто присутствуют ссылки на другие ресурсы, которые, в свою очередь, могут быть заражены или перенаправлять на заражённые ресурсы или фишинговые сайты. Или же они могут содержать ссылки на загрузки вредоносных файлов.

Для борьбы со спамом рекомендую задействовать как автоматические фильтры, например, Akismet и BotScout, так и постоянную модерацию. Рекомендую позаботиться об этом на этапе выбора расширений комментирования статей, систем внутренних сообщений, форумов, блогов, регистраций пользователей и так далее. Для Joomla могу порекомендовать в качестве таких расширений, следующие:

  • Compojoom comment. Платный компонент комментирования статей с очень хорошими возможностями для фильтрации спама. Детальнее о нём и о том как он поможет защититься от спама можно прочитать в статьях «Обзор Compojoom comment (часть 1, 2)» (это о 4-й версии компонента). А о 5-й версии можно прочесть в статье «Обзор Ccomment Pro. Плагин комментариев для Joomla».
  • RScomments. Компонент комментариев Joomla. Аналогичен Compojoom comment.
  • Community Builder. Очень функциональное расширение для построения сообщества пользователей на Вашем сайте. Оно подойдёт для замены встроенной регистрации пользователей.
  • uddeIM. Расширение для создания системы внутренних сообщений между посетителями сайта. Детальнее об этом расширении можно прочесть в статье «Обзор uddeIM (часть 1). Личные сообщения Joomla»
  • OSOLCaptcha. Капч для встроенной в Joomla формы обратной связи, модуля регистрации, модуля восстановления забытого пароля и так далее. Более детально об этом плагине Вы сможете прочитать в статье «Обзор osolCaptcha. Капча для Joomla».
  • eKerner Captcha – NoCaptcha. Капч форм Joomla без необходимости ввода символов. Работает на основании «анализа поведения» пользователя.

Все эти расширения или напрямую помогут снизить количество спама у Вас на сайте, или имеют гибкие настройки и интеграцию с мировыми анти-спам системами.

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

Если Вы всё же решили, что Вам необходима регистрация, советую позаботиться о фильтрации спам-регистрации при помощи капча и антиспам систем типа Stopforumspam.com, BotScout, Spamhaus.org. Под спам-регистрацией я понимаю случаи, когда пользователь регистрируется для того, чтобы оставить одно сообщение рекламного характера и на этом всё заканчивается. Или же он начинает рассылать, если есть такая возможность, спам-сообщения через систему внутренних сообщений сайта всем зарегистрированным пользователям. Антиспам системы «умеют» выявлять таких пользователей, заносить их в «чёрные» списки и затем не давать им зарегистрироваться. Или по крайней мере, усложняют этот процесс. Но в этом есть недостаток. Подобные системы ошибаются. И могут блокировать легитимных пользователей. Поэтому рекомендую крайне ответственно подойти к активации и настройке филтрации пользователей. В данном случае Вы не обойдётесь без модерации «спорных» запросов на регистрацию. У пользователя должна быть возможность связаться с Вами и запросить регистрацию, если автоматически ему было в этом отказано. Так же модерация понадобиться в случае, если пользователи будут загружать на сайт свои аватары. Следует проследить, что бы на них не содержались изображения нарушающие законодательство Вашей страны.

Считаю, что вопрос того, как защитить сайт от спама должен решатся как автоматическими средствами так и «ручной» модерацией.

Загружаемые файлы

Отдельным вопросом безопасности сайта следует рассмотреть контроль загружаемых с и\или на сайт файлов пользователями. Если это предусмотрено. Когда Вы выкладываете непосредственно на свой сайт и на свой хостинг файлы, которые могут загружать себе пользователи (скачивать), советую не делать «прямых» ссылок. Лучше, что бы ссылка генерировалась каждый раз для каждого конкретного пользователя. Для Joomla существует множество расширений, позволяющих ограничить скачивание файлов по различным критериям. Например, Core Design Attachments plugin, позволяет ограничить загрузку файла для незарегистрированных пользователей, установить пароль на файл и не дать возможность получить прямую ссылку для скачки файла. Настоятельно рекомендую до того, как выкладывать файл для загрузки, проверить его на наличие вирусов различными антивирусами. Можно воспользоваться сервисом Virustotal. Укажите по возможности точный размер загружаемого файла, чтобы пользователь мог его сравнить, в случае необходимости. Рекомендую устанавливать пароли на сами файлы. В идеале лучше подписать файл при помощи цифровой подписи. Но это несколько сложный и, в большинстве случаев, затратный способ. Для небольшого усложнения подмены файлов рекомендую создать «единое оформление» всех загружаемых архивов и\или документов, например, с использованием Вашей фирменной символики (логотипа). Этот процесс легко создать и автоматизировать.

Если Вы предоставили пользователям возможность загрузки файлов на Ваш сайт с целью того, чтобы все остальные могли их скачивать, то рекомендую позаботиться о проверке их на наличие вирусов и контента, нарушающего авторские права. А это может быть весьма сложно. Ограничьте группы пользователей, которые могут загружать файлы, ограничьте размер и расширения подобных файлов. Для Joomla с подобными (по ограничению) задачами вполне справится Core Design Attachments plugin и Attachments. Но он не решит проблему с проверкой на вирусы. Так же этот плагин не подойдёт для сайтов, на которых обмен файлами ведётся крайне активно или когда на сайте выкладывается большое количество (разделённых по категориям) файлов. А в случае с предотвращением нарушения авторских прав не обойдётся без юридической консультации. А это добавит дополнительные расходы на создание сайта.

Защита сайта Joomla на который выкладываются файлы для загрузки, должна продумываться учитывая данный факт.

В следующей статье «Защита Joomla (часть 6). Файл configuration.php» я рассмотрю более подробно дополнительные меры защиты сайта, которые являются не менее (а, возможно, и более) важными чем все вышеописанные (включая предыдущие статьи).

Похожие материалы
Автор статьи – Хорошевский Алексей

Хорошевский Алексей Примерно с 2008 года и по сегодняшний день создаю сайты «под ключ» на Joomla и WebSite X5. Также занимаюсь их доработкой, SEO-продвижением, контекстной рекламой, защитой от взлома и оптимизацией скорости загрузки сайта.

Кандидат технических наук по специальности «Информационные технологии».

На этом сайте есть контакты и информация обо мне. На нём Вы найдёте примеры моих работ, а также перечень и цены предоставляемых услуг.

 

Полезные ссылки: