Как защитить сайт на Joomla от взлома

Взлом сайтов на популярном движке Joomla далеко не редкость. Ломают школьники, ломают хакеры, ломают скриптами вручную и автоматически. Но если все так плохо, что можно сделать для защиты нашего сайта. Цели взлома могут быть абсолютно различные, но самое популярное:

  1. Для развлечения и тестирования скриптов и приложений найденных в интернете. В этой категории преобладают школьники и начинающие, которые торопятся испытать способ взлома найденный на форуме.
  2. Для размещения ссылок и левого контента. Это самая популярная цель взлома. На ваш сайт удаленно включают текст, который раньше называли портянками - это набор фраз и предложений, которые максимально соответствуют запросам продвигаемого злоумышленниками сайта. Некоторые черно-рукие сеошники верят, что такой способ поможет продвинуть их ресурс. Здесь преобладает автоматический способ взлома.
  3. Атаки по заказу конкурентов. Конкуренция у нас далеко не совсем честная, а если еще ваш сайт дорогой тематики (Бизнес, Банки, Страхование и недвижимость, медицина), обязательно найдутся завистники, которые желают вас подвинуть.
  4. И многое другое...

Наиболее распространенные методы взлома сайтов

Сразу стоит заметить, что данные методы используют не только для взлома сайтов на Joomla, но и на других CMS.

  1. Ddos атаки. Ddos=distributed denial of service=распределенная атака типа "отказ в обслуживании". Cуть атаки - в том, что атакуемой машине посылается множество запросов, которые она не в состоянии обработать. Эффект в данном случае - "честные" пользователи не могут к ней подключиться из-за большой нагрузки, как максимум - выход машины из строя. Слово "распределенная" означает, что атака производится одновременно с большого количества компьютеров (как правило - зараженных вирусом, дающим злоумышленнику некий контроль над ними, т. н. зомби-сеть).
    Теперь простым языком: Массовый пинг (отсыл пакетов) на указанный ip-адрес.Приводит к перегрузке и отключению сервера.Простейшая атака на сервер. Часто используется для аварийной перезагрузки и получения контроля над сервером с удалённого компьютера.
  2. Инъекции: Наиболее грозным и распространенным способом взлома сайта являются инъекции.
    Возможность успешной эксплуатации инъекций на сайте в 99% случаев приводит к его взлому.RCE - Remote code execution. Удаленное выполнение кода на сервере.
    PHP - инъекции. Выполнение произвольного PHP кода.
    SQL - инъекции. Внедрение произвольного кода в SQL запрос.
    XPath - инъекции. Внедрение произвольного кода в XPath запрос.
  3. Инклуды:Не менее грозный и распространенный способ взлома сайта - это инклуды.
    Возможность успешной эксплуатации любого инклуда на сайте в 100% случаев приведет к его взлому.RFI Remote file include. Включение удаленного файла.
    LFI - Local file include. Подключение, выполнение или чтение локальных файлов на сервере.
    PHP include. Включение удаленного PHP файла.
  4. Клиентские атаки. Атаки на администраторов и посетителей сайтаОчень популярный способ взлома сайта - это атаки на клиента, в браузере жертвы.
    Один из самых практикуемых способов взлома сайта.
    Обусловлен тем, что клиентским атакам (к примеру XSS) подвержены более 75% всех сайтов в мире.XSS атака. Сross Site Sсriрting - межсайтовый скриптинг.
    CSRF атака. Сross Site Request Forgery - подделка межсайтовых запросов.
    Фишинг атака. Fishing - Фишинг атака - подделка страниц сайта.

Что может привести к взлому

Некорректная публикация сайта на сервере. Ошибки публикации.

Некорректная публикация сайта на сервере является грубейшей ошибкой разработчиков и администраторов ресурса, зачастую приводящая к его взлому.
К таким ошибкам, напрямую влияющих на безопасность сайта являются:

  • Открытые директории с системными файлами.
  • Открытый доступ и возможность выполнения системных файлов, взаимодействующих с файловой системой или базами данных.
  • Системные архивы, бэкапы сайта, находящиеся в открытом доступе.
  • Файлы дампа баз данных в открытом доступе.
  • Открытый доступ к .svn или .git индексным файлам.

Ошибки администрирования сайта

Нередко администраторы сайта устанавливают короткие и примитивные пароли к админкам, наподобие 123qwerty.
Такие пароли элементарно подбираются злоумышленниками с помощью специальных программ.

Небрежность администраторов сайта, имеющих доступ к FTP и административной панели, нередко приводит к взлому сайта.

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

А теперь подробнее...

Как защитить сайт на Joomla

Использование сложного пароля и логина

Нередко администраторы сайта устанавливают короткие и примитивные пароли к админкам, наподобие 123qwerty. Такие пароли элементарно подбираются злоумышленниками с помощью специальных программ. А если при этом еще используется логин "amin", взлом доступа занимает считанные минуты.

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

Не пытайтесь прописывать русские слова кириллицей такие пароли так же просты для подбора.

Изменяем адрес доступа к административной панели

Используя не сложный код либо плагин можно изменить установленный по умолчанию адрес админки Joomla http://mysait/administrator - это поможет отфильтровать злоумышленников, которые промышляют методом подбора.

Для смены адреса можно использовать плагин jSecure Lite, заполнив поле Key вы создаете уникальный адрес входа в административную часть вашего сайта http://mysait/administrator/?Key.

Ограничение доступа по IP

Если у вас статичный IP можно настроить доступ в админ-панель только с вашего IP-адреса. Для этого нужно запретить доступ к папке administrator с любого IP, кроме вашего. Чтобы это сделать, создаем файл .htaccess в папке administrator. В него заносим такой текст:

order deny,allow
allow from xxx.xx.xxx.xx
deny from all

где "xxx.xx.xxx.xx" - это IP-адрес, с которого можно зайти в админ-панель.

Если вам нужно прописать еще дополнительные IP адреса, копируем allow from xxx.xx.xxx.xx и прописываем их. Выглядеть будет так.

order deny,allow
allow from xxx.xx.xxx.xx
allow from xxx.xx.xxx.xx
deny from all

Установите нужные права доступа

Установите на все папки права доступа 755, а на все файлы 644, кроме файла configuration.php - на него 444. Стоит заметить, что устанавливая на файл configuration.php права 444 вы можете ограничить установку расширений через Админ панель. При установке некоторых плагинов и компонентов может выдавать ошибку. Решается это временной сменой прав на файл.

Важный момент! Некоторые хостинги рекомендуют использовать свои рекомендуемые права на папки, например 700. Такое правило никак не угрожает безопасности вашего сайта даже наоборот, повышает его безопасность и безопасность других ваших сайтов лежащих на одном дисковом пространстве.

Установка плагинов и расширений

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

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

Как удалить вшитые ссылки из шаблона 

Переименуйте файл htaccses.txt

Используйте .htaccess вместо htaccses.txt. Эта рекомендация разработчиков Joomla актуальна еще с версии 1.0.

Перенесите логи и временные файлы

Перенесите папки временных файлов (tmp) и лого (logs) за пределы public_html. Для этого, в файле configuration.php найдите строки (в нашем примере настоящие пути заменены на буквы англ. алфавита):

var $log_path = '/home/xxxx/yyyyyy/zzzz/logs/';
var $tmp_path = '/home/xxxx/yyyyyy/zzzz/tmp/';

и впишите туда новое местоположение папок. После этого переместите эти папки в указанную директорию.

Обновите CMS

Следите за новыми версиями Джумлы и постоянно обновляйте ее. Это очень важно, т.к. разработчики выпускают патчи для устранения уязвимостей.

Не используйте для создания сайтов Joomla 1.5, 1.7, 2.5 - так как они уже не поддерживаются разработчиками. А рабочих способов взлома 1.5 и 1.7 в интернете намного больше. чем рекомендаций защиты.

Использование FTP

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

Я использую для работы Файловый менеджер на хостинге Beget, как по мне он обладает полным требуемым функционалом для редактирования файлов и поддерживает все разрешения файлов, что не мало важно работает быстро. Пользоваться FTP перестал еще года 4 назад.

Использование компонентов Защиты

Обязательно используйте компоненты для защиты сайта.  Для Joomla лучше себя зарекомендовал RSFirewall. Компонент действительно помогает сделать наш сайт не доступным для злоумышленников.

Основные особенности RSFirewall!:

  1. Встроенные фильтры, предотвращающие SQL, PHP, LFI и XSS уязвимости;
  2. Функциональный сканер сайта, проверяющий установленные права на папки и последние изменения файлов;
  3. Встроенный системный журнал, фиксирующий все попытки взлома сайта;
  4. Возможность защиты специальным паролем всей папки администратора;
  5. Возможность блокировки IP - адресов, с которых пытаются получить доступ к админ панели сайта;
  6. Автоматическое включение каптчи при неоднократной несанкционированной попытке входа в админ панель;
  7. Уведомление на электронную почту о всех атаках и попытках взлома админ панели;
  8. Функция проверки таблиц баз данных с возможностью их восстановления через опцию исправления / оптимизации;
  9. Уведомления в админ панели сайта о новых способах защиты сайтов через встроенный RSS - канал;

Это действительно очень мощный компонент для защиты вашего сайта. Установленный и настроенный RSFirewall защитит от 98% всех известных способов взлома.

На некоторых из моих сайтов, которые далеко не блещут высокой посещаемости RSFirewall отлавливает  5-10 попыток удаленного включения в день, но бывают дни когда намного больше. А если бы на моих сайтах посещаемость выше - наверное и попыток было бы в разы больше.

Если вы просматривая журнал RSFirewall случайно заблокируете свой IP адрес, единственным выходом будет зайти через прокси сервера или другого IP. Советую все используемые вами IP вписывать в Белый список, что бы избежать подобных ситуаций.

Правильный выбор хостинг провайдера

Уязвимости программного обеспечения сервера несут огромную опасность для размещенных на них сайтах.
Устаревшие версии редакции серверных операционных систем, а также Nginx, Apachе, PHP, MySQL, FTP и прочего ПО несут в себе угрозу безопасности сайта, так как в большинстве случаев они уязвимы к взлому и атакам.
Кроме этого, существуют специальные программные решения,  эксплойты, с помощью которых происходят взломы и атаки на сервер.

Неправильная настройка сервера также может открыть "дыру" или лазейку, через которую злоумышленник сможет осуществить взлом.

Выбор хостинг провайдеров огромен. На своем опыте поделюсь, что безупречными остаются Beget.com и Reg.ru. Использую эти хостинги на протяжении более 5 лет и ни одного нарекания не было.

Как правильно выбрать хостинг провайдер

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

Вас могут заинтересовать:



Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *