- Главная
- Блог
- Защита и безопасность
- 7 советов по защите сайта на Joomla
7 советов по защите сайта на Joomla
Для того чтобы защитить свой сайт, нужно знать, как и зачем взламывают сайты.
Зачем взламывают сайты?
- Ради интереса. Обычно это молодёжь.
Серьёзную защиту им не взломать. - Для доступа к ресурсам хостинга (сервера). Например, для рассылки спама или для DDOS-атак.
На сайт загружается специальный скрипт, который использует ресурсы вашего хостинга для рассылки спама. - Для доступа к показателям и ресурсам сайта: посещаемость, ТИЦ и т.д.
Например, для распространения вирусов, получения трафика, простановки ссылок на чужие сайты и т.д. - Проделки конкурентов. Взлом на заказ, это довольно дорого, но конкуренты иногда способны и на такое. Кроме взлома, могут устроить DDOS атаку.
Как взламывают сайты?
1 способ – это подбор паролей к админке.
При помощи специальных программ эта задача ставится на автомат.
2 способ – уязвимости в CMS и расширениях.
Создаются специальные программы-боты, которые ищут определённые уязвимости в CMS системе или её расширениях: модулях, плагинах и т.д.
3 способ – бэкдоры (backdoor).
Это когда в каком-либо скрипте или расширении уже содержится «потайная дверца», через которую можно получить доступ к сайту. Обычно такие скрипты и расширения свободно скачиваются с торрентов или складчин.
Поэтому лучше не скачивайте ничего с такого рода ресурсов.
4 способ – уязвимости 0-го дня.
Это когда хакеры находят уязвимость в CMS, но её разработчики ещё не знают об этом.
Обычно получается массовый взлом сайтов.
5 способ – через уязвимости хостинга.
Этим грешат дешёвые хостинги, которые жалеют денег на зарплату хорошим программистам и спецам по безопасности, а также на нормальное программное обеспечение.
Это основные способы взлома.
Теперь давайте разберёмся как защитить свой сайт от злоумышленников.
Я дам 7 советов, а ниже прикреплю PDF отчёт с подробностями.
7 советов по защите.
1. Логин и пароль.
Логин к админке - всё что угодно, но только не admin.
Пароль к админке должен быть с использованием букв и цифр.
Проверить надёжность пароля можно здесь >>
Задание: прямо сейчас смените логин и пароль, если они у вас простые.
2. Скрытие админки.
Даже если у вас надёжный пароль от админки, то всё равно программы, которые подбирают пароли будут создавать лишнюю нагрузку на ваш сайт.
Поэтому админку лучше спрятать.
Для Joomla есть пара хороших расширений, которые могут это сделать.
Например, AdminExile или JSecure Lite
Если для вашей CMS нет подобных плагинов, то можно поставить дополнительную basic-авторизацию.
Задание: спрятать админку.
3. Регулярное обновление CMS и расширений.
Есть люди, кто скажет: «А зачем? У меня и так всё хорошо работает…»
Дело в том, что бесплатные CMS, такие как Joomla, Wordpress, Drupal и другие, имеют открытый исходный код, который могут видеть все, кому не лень.
Поэтому хакеры постоянно ищут в этом коде уязвимости, а разработчики закрывают эти уязвимости выпуском новых версий своих CMS систем.
Например, в Joomla.Project есть специальная группа, которая занимается безопасностью системы и выпускает релизы безопасности.
Поэтому обновлять CMS нужно регулярно. Старый код имеет уязвимости.
Но перед обновлением нужно не забывать сделать резервную копию сайта, это на случай, если при обновлении что-то пойдёт не так.
Задание:
- сделайте резервную копию сайта,
- обновите расширения и движок до последней версии.
Если у вас совсем старая версия CMS, и вы боитесь её обновлять, то можете поручить это дело нам и посчитать приблизительную стоимость >>
4. Запрет на прямое обращение к скриптам.
Хакеры, чтобы взломать сайт делают обращения к различным скриптам на сайте, т.е. к PHP файлам.
Запрет на такое обращение заметно снижает риск взлома.
И даже если у хакеров получиться загрузить на ваш сайт что-то нехорошее, то запустить это они не смогут. Т.к. будет запрет на прямое обращение к PHP-файлу
Это делается через файл htaccess, код вы найдёте в PDF отчёте, который можно скачать ниже.
5. Хороший хостинг и актуальное ПО.
Качество хостинга напрямую влияет на безопасность сайта.
На обычных виртуальных хостингах может быть много уязвимостей, особенно если это дешёвый хостинг.
Например, взломав какой-нибудь старый сайт, который сто лет не обновлялся, хакеры могут получить доступ ко всем сайтам на виртуальной машине.
Также если на хостинге используется устаревшее программное обеспечение, то это тоже влияет на безопасность сайта.
Далее я подскажу несколько надёжных хостингов.
Задание: узнать версию PHP на вашем хостинге.
Это можно сделать через админ.панель Joomla. Система – Информация о системе.
Вкладка «Информация о PHP»
Если версия PHP ниже чем 5.5, то желательно обновить.
Актуальная версия не ниже 5.6, а лучше 7.+
6. Защита от инъекций и атак.
Взлом сайта обычно происходит через GET или POST запросы.
Поэтому их нужно фильтровать и блокировать.
Для этого есть специальные расширения. Например, Marco’s SQL Injection
Он защищает сайт от подобных SQL и LFI атак и блокирует подозрительные IP адреса.
Но с подобными расширениями, нужно быть поосторожнее, потому что они могут блокировать некоторые функции сайта.
Именно это расширение, про которое я вам говорю показало себя с хорошей стороны.
7. Мониторинг сайта.
Если честно, то 99% владельцев сайтов НЕ знают, что происходит с их сайтами.
Ни днём, ни ночью, ни в выходные, ни в праздники.
Злоумышленники может быть уже заливают шелл на ваш сайт, пока вы тут читаете этот отчёт.
Но будем надеяться, что нет.
Знать, что происходит с сайтом, какие файлы там изменяются, доступен он или нет – это очень важно.
Поэтому на выручку нам приходят специальные сервисы мониторинга.
Но нам нужны не просто сервисы мониторинга, которые проверяют доступность сайта.
Нам нужны сервисы, которые проверяют и доступность сайта и следят за его файловой системой.
Таких я знаю два:
Monitorus.pro (99р/мес)
Find-xss.net (от 30р/мес)
Последний – это сервис от моего коллеги, он дешевле, поэтому рекомендую его.
У него есть все нужные функции.
Сервис следит за доступностью сайта и за изменениями в файлах.
Если изменится какой-нибудь файл, добавиться новый или удалится старый, то мониторинг пришлёт вам уведомление с отчётом о файлах.
Что удалено, что появилось, что изменилось и т.д.
Это позволяет всегда быть в курсе что происходит с вашим сайтом.
Если кто-то сделает включение вредоносного кода в файл, или зальёт шелл, то вы сразу же об этом узнаете и сможете предпринять нужные действия.
НО, как бы мы не старались, защитить сайт на 100% не возможно.
Кроме взлома может быть авария на хостинге, глюк сервера и т.д.
Поэтому, как говорят, лучшая защита - это бэкап сайта.
Совет №8. Регулярно делайте бэкапы.
В любой проблемной ситуации, будь то взлом, заражение, сбой базы данных, порча системных файлов и т.д., единственный выход – это актуальная резервная копия сайта.
Если она у вас будет, то вам не страшны никакие беды.
Вы всегда сможете восстановить сайт из бекапа.
Но, часто мы надеемся на авось, и забываем про резервное копирование, или просто ленимся.
Это приводит к печальным последствиям.
Не раз я наблюдал такое у своих клиентов и подписчиков.
Восстановление сайта - процесс хлопотный, и довольно дорогой.
Есть ручное и автоматическое создание резервных копий.
Вручную – это долго и неудобно.
Поэтому нам нужно создавать резервные копии автоматически.
Резервное копирование можно настроить за несколько минут.
Расскажу про варианты, их плюсы и минусы.
Вариант 1. Средствами хостинга.
Практически каждый хостинг предоставляет возможность создания резервных копий.
Обычно это делается через панель хостинга.
Плюсы:
- Довольно просто, без особых заморочек
- Резервные копии создаются автоматически
- Можно бекапить любые сайты
Минусы:
- Неудобно восстанавливать (а иногда и непонятно как)
- Бэкап создаётся не регулярно, может быть что база бэкапилась 5 дней назад, а файлы 3 дня назад.
Такой бэкап мало чем поможет, т.к. данные сайта за 5 дней могут сильно измениться - Бэкапы хранятся на хостинге, если сайт взломают, то добраться до них не составит труда.
- Занимает много места на хостинге
- Если на сайт попадёт вирус, то резервная копия будет создана вместе с ним.
Это самая главная проблема автоматических бекапов.
Вариант 2. Akeeba Backup (вручную)
Для Joomla и WordPress есть специальное расширение – Akeeba Backup
Есть две версии: бесплатная и версия PRO за 2800 рублей/год.
В бесплатной версии мы можем создавать бекапы в ручную, но это неудобно.
Приходиться каждый раз входить на сайт и запускать резервную копию.
Потом нужно ждать и скачивать резервную копию к себе на компьютер, потому что оставлять её на хостинге не безопасно.
Поэтому ручной вариант подходит лишь для каких-то специфичных задач, например, для переноса сайта на другой хостинг или локальный сервер.
Нам нужен автоматизированный процесс.
Вариант 3. Akeeba Backup (по расписанию)
В бесплатной версии мы можем настроить автоматическое резервное копирование через дополнительные утилиты хостинга (но не все хостинги это поддерживают) и при этом бекапы будут храниться на сайте, как вы знаете – это небезопасно.
В платной версии мы можем настроить создание бекапов по расписанию CRON и можем отправлять их на хранение в облако.
Это уже хорошо. В облаке резервная копия будет в безопасности.
Главное, чтобы там хватало места.
Плюсы:
- Бекапы создаются автоматически
- В PRO версии можно загружать в облачные сервисы (DropBox, Box.com, Google Storage, iDriveSync, SugarSync и др.), а также по FTP на удалённый сервер.
- Удобно восстанавливать сайт из бекапа, есть специальный скрипт Kickstart
Но есть и минусы:
- Документация и техподдержка на английском, и она ограничена по времени
- Если на сайт зальют вирус, то резервная копия будет создана вместе с ним. Толку от неё будет мало.
- Работает только с Joomla (другое расширение только с WP)
- Нет российских облачных сервисов, типа Яндекс.Диск или Облака.Mail.ru
- Приходиться следить за свободным местом в облаке.
Вариант 4. AutoBackupMaster
Это наша разработка. Мы создали специальный скрипт, который облегчает и автоматизирует процесс создания резервных копий. Достаточно один раз настроить и забыть про бэкапы совсем, скрипт всё будет делать сам и сообщать что бекап сайта создан.
Основные возможности:
- Кроссплатформенный, может работать с любой CMS системой или даже самописным движком.
- Создаёт бекапы по расписанию CRON, настройка занимает не более 5 минут.
- Отправляет бекапы в облачные хранилища, на данный момент поддерживаются: Яндекс.Диск, DropBox и Облако.Mail.ru
- Цикличная запись, как в автомобильном регистраторе. Можно установить кол-во хранимых резервных копий и при достижении лимита, скрипт удалит самую старую копию и вместо неё запишет новую.
- Также может закачивать архив резервной копии по FTP на удалённый сервер или хранить локально, прямо на хостинге.
- Может делать резервные копии только базы данных и отправлять их на e-mail.
Базы данных можно выбирать из списка - Интеграция с сервисом мониторинга. Может останавливать бекапы по тревоге, если были изменены или добавлены файлы, например, если кто-то решил залить к вам на сайт шелл или вирус.
Эта опция исключает попадание вирусов в резервные копии.
На этом закончу данную статью, в дополнение прикладываю PDF отчёт. Он небольшой, читается быстро.
Скачайте его и сохраните.