Практика защиты сайта на Joomla 3

Защита веб-сайта CMS Joomla, среды разработки, соединения. Рассмотрены возможные угорозы, которые могут возникнут при недостаточной защите рабочего компьютера. Дан список действий которые обеспечат защиту CMS Joomla на хостинге.
Выполнив рекомендации описанные в этой статье, вы повысите защищенность сайта на Joomla.
В предыдущей статье «Полная защита сайта на Joomla 3.x» рассказывается для чего взламывают сайты, какая вероятность попасть в поле видимости злоумышленника, приемы которыми пользуются для получения доступа к сайту.

Защита компьютера

Мероприятия по безопасности начнем с проверки рабочего компьютера и усиления защиты сохраненных паролей.

Антивирусная программа

Что бы защитить компьютер от вредоносных программ (вирусов, троянов, клавиатурных шпионов и т.д.), установите антивирусную программу (Kaspersky Anti-Virus, Dr.Web). Если антивирусная программа еще не стоит, то на сайте разработчика скачайте бесплатный вариант программы. Бесплатная антивирусная программа имеет минимальную-достаточную функциональностью, что бы обеспечить базовую защиту файловой системы компьютера. Что бы обеспечить усиленную защиту компьютера, установите на него платную версию антивирусной программы. Выбирая антивирусную программу отдайте предпочтение тому антивирусу с которым возможно уже сталкивались и слышали рекомендации. Хорошим набором возможностей, обладает бесплатная антивирусная программа Antivirus COMODO, скачать ее можно по ссылке antivirus.comodo.com. При установке бесплатных версий программ, будьте внимательны и убирайте лишние галочки, установки дополнительных компонентов, если конечно эти программы вам не нужны. Разработчик который распространяет платные версии, заинтересован в качестве своего бесплатного продукта, иначе попробовав бесплатную версию и не получив желаемого результата, Вы не купите платную версию этой антивирусной программы. В бесплатный антивирус от компании COMODO входит четыре расширения, которые усиливают функционал защиты компьютера (Complete Malware Protection, Auto Sandbox Technology, Host Intrusion Prevention (HIPS), Cloud-Based Protection). После установки, антивирусная программа загружает последние обновления антивирусных баз и запускает ускоренную проверку компьютера. После первичной проверки, запустите полную проверку жесткого диска компьютера.

Программа для хранения паролей

Если вы храните пароли в текстовом файле или записываете их в блокнотик, то бросайте это дело и устанавливайте себе программу для хранения паролей. Программа предоставляет функциональность, для объединения хранимых паролей в группы, добавления ссылок на интернет ресурсы, комментировать и оставлять заметки. Это удобно и при большом количестве паролей, такая программа, становится просто не заменимым инструментом. Подберите себе программу для хранения паролей с которой будет удобно работать. Я использую бесплатную программу для хранения паролей KeePass последней версии, скачать можно по ссылке keepass.info. Скачайте и установите программу. Установите основной пароль на открытие базы паролей, перенесите в программу пароли. При создании новой записи в базе паролей, программа сразу создает пароль необходимой сложности. Двойным кликом по полю «Логин», «Пароль» содержимое копируется буфер обмена и хранится там 12 секунд. Открыть указанную страницу сайта можно двойным кликом по полю «Ссылка». Программа для хранения паролей защищает и усиливает защищенность паролей.

Защитите мастер-паролем базу паролей хранящуюся в интернет браузере

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

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

Защита веб-сайта

Обновите Joomla до последнего релиза

Следите за тем что бы версии Joomla и установленных расширений всегда были в актуальном состоянии и оперативно делайте обновление. Это вызвано тем, что в коде со временем обнаруживаются уязвимости и если код не поддерживается т.е. не обновляется, то выявленной уязвимостью могут воспользоваться злоумышленники. Что бы исключить риск взлома сайта, отключите (удалите) не используемые расширения.

Защитите подключение к сайту

Что бы обеспечить защищенное подключение к сайту нужно использовать сертификат SSLи перевести сайт на работу по протоколу HTTPS. Для этого необходимо в панели управления хостингом заказать и подключить сертификат SSL (Secure Sockets Layer — уровень защищённых сокетов) а в административной панели веб-сайта Joomla активировать режим работы SSL Система—>Общие настройки—>Сервер—>Включить SSL . В этом поле можно выбрать, какая часть сайта будет защищена. Можно защитить панель управления или весь сайт целиком. При правильной настройке и отсутствии на странице сайта ссылок на не защищенные ресурсы, в адресной строке браузера появится зеленый замок, а если будет установлен сертификат повышенной надежности, то строка адреса сайта будет иметь зеленый цвет. Более подробно про перевод сайта на SSL можно прочитать в статье «Бесплатный SSL сертификат Let’s Encrypt для сайта»

Выставьте правильные права на папки и файлы

Это можно сделать используя программу FileZilla скачать можно по ссылке filezilla.ru или файловый менеджер панели управления хостера. Можно установить расширение AdminTools скачать можно по ссылке www.akeebabackup.com, которое быстро и удобно позволило бы устанавливать права на папки. Помимо этого в бесплатной версии расширения есть возможность проверять и восстанавливать таблицы базы данных, устанавливать дополнительный пароль на доступ к административной панели.

Минимальные права:на файлы 644 на папки 755
Рекомендуемые для настроенного сайта:файлы в корне 444 папки 700
исключенияcache,logs,tmp,administrator/cache

Используйте уникальный логин и сложный пароль

Используйте придуманный вами логин (не используйте стандартный admin) и обязательно устанавливайте сложный пароль. Это замедлит или исключит полностью возможность взлома сайта путем подбора пароля и логина.

Защитите доступ к админ-панели

Для этого используйте расширение AdminTools, это удобный и простой способ, так как настройка происходит через панель управления. Еще такую возможность предоставляет хостер, через свою панель управления. Более сложный, ручной способ, рассмотрим его для понимания, как это работает. В защищаемом паролем каталоге, в нашем случае это каталог Administrator, создается два файла .htacess и .htpasswd.В файл .htacess вписываем следующий текст:

AuthUserFile "указываем полный путь к файлу .htpasswd
в котором находятся зашифрованный пароль"
AuthName "Любой текст, для информирования пользователя"
AuthType Basic require valid-user

Для генерации файла с паролем .htpasswd используем утилиту htpasswd из комплекта Apache.

Для этого в командной строке пишем следующее:

1htpasswd -bc .htpasswd ИмяПользователя ПарольПользователя

После этого переместите полученный файл в директорию, указанную в AuthUserFile.

Зарегистрируйтесь на сервисе по мониторингу сайта

Есть ряд бесплатных сервисов по мониторингу сайта. Для мониторинга сайта можно использовать сервис Яндекс Метрика metrika.yandex.ru или uptimerobot.com. Я пользуюсь и тем и другим. Это позволит отслеживать стабильность работы сайта.

Расширения и шаблоны скачивайте только с официальных сайтов разработчиков

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

Проверьте сайт на наличие вредоносного ПО

Подключите сервис Яндекс Вебмастер ссылка на сервис webmaster.yandex.ru, этот сервис используется для отслеживания предупреждений по выявленному вредоносному ПО. VirusTotal — бесплатная служба, анализирующая подозрительные файлы и ссылки (URL) на предмет выявления вирусов, червей, троянов и всевозможных вредоносных программ, ссылка для проверки www.virustotal.com

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

Продвинутая защита сайта на Joomla

Резервное копирование сайта

Даже если хостер делает резервные копии базы данных сайта, лучше подстраховаться и делать резервное копирование самостоятельно и хранить свои архивы в надежном месте. Это связано с тем, что может случиться так, что сервера хостинга станут не доступны, возможно сами резервные копии в какой-то момент не будут содержать актуальной информации и вообще мало ли, что может быть. Поэтому делаем копии самостоятельно. Для облегчения этой процедуры установите расширение Akeeba BACKUP скачать его можно по ссылке www.akeebabackup.com. В бесплатной версии этого расширения функциональности достаточно для резервного копирования и восстановления.

Убрать показ позиций модулей

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

Удалить копирайт Joomla

Скрытие копирайта тоже позволит скрыть следы Joomla.

Убрать мета-тэг generator — Полное удаление или изменение мета-тэга generator скрывает версию CMS Joomla и затрудняет злоумышленнику определение конструктора сайта. Для этих целей используйте плагин который можете скачать по этой ссылке TJ Set Generator Tag

Установить свой favicon.ico

Разрабатывая сайт часто бывает, что разработчик забывает установить свой favocon.ico для сайта и оставляет стандартный из используемого шаблона. По стандартному favicon.ico можно определить, что это сайт сделан на базе CMS Joomla.

Удалить файл readme.txt, license.txt

Из корня сайта удалите эти текстовые файлы они содержит информации о Joomla и позволяют идентифицировать установленную CMS .

Запретить доступ к просмотру содержимого папок

Запретить доступ к просмотру содержимого папок — это достигается расположением в каждой папке и вложенной папке, файла index.html. Поэтому создавая новые папки не забывайте в них создавать пустой файл index.html или второй вариант в файле .htaccess , лежащим в корне сайта, впишите строчку Options -Indexes.

1Options -Indexes

Удалить файлы с логотипом Joomla

В каталоге /images содержаться демонстрационные файлы с логотипами Joomla. Их надо удалить

Заменить 404 страницу

Заменитье 404 страницу на свою. Это позволит усложнить определение используемой CMS.

Сделать SEF-ссылки

Включать SEF только на готовом сайте при переносе на хостинг.

Вот пока на этом все! Но есть еще меры которые можно предпринять, чтобы обеспечить максимальную защиту сайта на Joomla и об этом рассказано в следующей, заключительной статье «Полная защита сайта на Joomla 3.x».