Joomla Security - полное 10-шаговое руководство

  1. Joomla Уязвимости
  2. Joomla Security
  3. 2. Умные имена пользователей и пароли
  4. 3. Расширения безопасности Joomla
  5. 4. Блокировать плохих ботов
  6. 5. Безопасные соединения
  7. 6. Права доступа к файлам
  8. 8. Включите дружественные для поисковых систем URL
  9. Резюме

Брайан Джексон

Обновлено 14 февраля 2017 г.

Обновлено 14 февраля 2017 г

Joomla - это бесплатная система управления контентом с открытым исходным кодом (CMS), построенная на основе MVC. В настоящее время 2-я наиболее широко используемая CMS в интернете на 2,6%. Хотя это звучит не так уж и много, но миллионы компаний и блогов по-прежнему выбирают Joomla для поддержки своих сайтов. Как и с любой основной платформой, всегда возникают дополнительные проблемы безопасности. Ваш риск атаки выше, а уязвимости постоянно обнаруживаются или эксплуатируются. Следуйте нашему полному руководству ниже о том, что вы можете сделать, чтобы усилить безопасность Joomla и помочь предотвратить себя от взлома или стать жертвой следующей атаки методом перебора.

Joomla Уязвимости

Итак, насколько вы рискуете, когда дело доходит до использования Joomla для питания вашего сайта? Ну, согласно CVE Подробности Как источник данных об уязвимостях в сети, на сегодняшний день зарегистрировано 321 уязвимость Joomla (с 2005 года).

Если вы читаете наши предыдущие посты на Drupal Security а также Безопасность WordPress процентная доля уязвимости Joomla, если сравнивать долю рынка с уровнем инцидентов, меньше (по крайней мере, за последние семь лет). Так что из данных видно, что Joomla - более безопасная CMS.

Какие типы уязвимостей Joomla они? Согласно CVE Details, 39% уязвимостей Joomla связаны с удаленным выполнением кода . Вы можете увидеть проценты от остальных ниже.

Вы можете быть в курсе инцидентов безопасности и уязвимостей, подписавшись на Официальные анонсы безопасности Joomla RSS Feed , Вы также можете увидеть полный список уязвимостей Joomla на детали CVE.

Joomla Security

Несмотря на то, что Joomla - довольно безопасная CMS, она все еще очень широко используется, что означает, что она всегда подвергается риску нападения или взлома. Вы никогда не сможете предотвратить нарушения безопасности, лучшее, что вы можете сделать, - это внедрить лучшие меры безопасности, чтобы защитить себя . Следуйте приведенным ниже рекомендациям, чтобы усилить безопасность Joomla.

Независимо от того, что вы всегда должны обновлять вашу версию Joomla, а также все ваши расширения . Разработчики исправляют их по какой-то причине, и если вы слишком отстаете, вы откроете для себя множество уязвимостей, поскольку хакеры обычно нацелены на более старые версии. Такой как Уязвимость в SQL-инъекциях это было обнаружено в октябре 2015 года, что затронуло миллионы установок Joomla. Вы всегда можете скачать последнюю версию Joomla с joomla.org , Примечание. В этих примерах мы используем Joomla 3.4.8, выпущенную 24 декабря 2015 года.

Если доступно обновление для Joomla, оно будет отображаться на панели администратора. Вы также можете использовать бесплатное расширение, как Обновление Akeeba CMS для автоматического обновления установки Joomla и резервного копирования в то же время.

  1. Чтобы проверить или запустить обновления, перейдите к «Компоненты» → «Joomla! Обновить."
  2. Если доступно обновление, нажмите «Установить обновление». Joomla начнет обновление, которое займет несколько минут. Примечание. Joomla выйдет из системы после завершения установки.

Также рекомендуется использовать только надежные расширения и шаблоны Joomla . Получите ваши расширения и шаблоны от Каталог расширений Joomla или от известных компаний. Это вызовет меньше проблем для вас в будущем.

И всегда делайте резервную копию вашего сайта Joomla! Если вы сохраняете регулярное резервное копирование, это позволяет вам быстро выполнить откат и восстановить вашу CMS в случае атаки. Мы также рекомендуем запускать резервные копии перед обновлением версии и расширений Joomla. Вы можете легко протестировать свои обновления локально, используя программное обеспечение, такое как XAMPP или MAMP, прежде чем отправлять изменения на свой рабочий сайт.

Существует также очень популярное (почти 1000 отзывов) бесплатное расширение для резервного копирования, доступное для Joomla, Akeeba Backup , что мы рекомендуем. Это расширение функций:

  • Резервное копирование в один клик.
  • Мастер переноса сайтов. Переносите ваш сайт между серверами быстро и легко.
  • AJAX питание от резервного копирования
  • Самый быстрый встроенный механизм резервного копирования PHP.
  • Исключить определенные файлы, папки
  • Исключить конкретные таблицы базы данных или их содержимое
  • Режим автоматического резервного копирования (планирование заданий CRON)
  • Восстановление с помощью Akeeba Kickstart (бесплатный скрипт)
  • Архивы можно восстановить на любом хосте. Полезно для переноса вашего сайта между поддоменами / хостами или даже на ваш локальный сервер тестирования (XAMPP, WAMPServer, MAMP, Zend Server и т. Д.).

2. Умные имена пользователей и пароли

Будьте умны с вашими именами пользователей и паролями, которые вы решите использовать в Joomla. Не используйте «admin» в качестве имени пользователя и выберите более сложный пароль. Вероятно, это один из лучших способов повысить безопасность Joomla, и по иронии судьбы это один из самых простых. Однако многие люди используют то, что легко запоминают, например, «1234567», и в конечном итоге сожалеют позже, когда их взломали. Помните, что всегда есть боты, просматривающие Интернет, и по мере роста вашего сайта они всегда будут пытаться подделать ваш логин. Смотрите это руководство на как выбрать надежный пароль ,

Приблизительно 76 процентов атак на корпоративные сети были связаны со слабыми паролями. - applieddi

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

  1. Нажмите «Пользователи» → «Управление», выберите учетную запись администратора (суперпользователя) и нажмите «Изменить».
  2. Затем просто измените значение в поле «Имя для входа» и нажмите «Сохранить».

Мы также рекомендуем использовать бесплатную программу, такую ​​как KeePass или же KeePassX которые позволяют вам создавать безопасные пароли и хранить их в базе данных локально на вашем компьютере.

3. Расширения безопасности Joomla

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

  • ACL Manager : Легко обнаруживать и устранять проблемы с таблицей / разрешениями активов / разрешений Joomla.
  • AdminExile : Обнаружение перебора, черный и белый IP-адреса.
  • QuickLogout : Избавьтесь от запроса подтверждения выхода из системы, чтобы убедиться, что люди выходят из системы.
  • Securitycheck Pro : Глобальный пакет защиты, разработанный для защиты вашего сайта без ущерба для скорости вашего сервера.
  • jomDefender : Предотвращение CSRF, удаление заголовка Joomla PHP, запрос пароля администратора

Есть три дополнительных расширения безопасности, которые заслуживают немного большего внимания. Первый Akeeba Admin Tools , Этот разработчик делает отличные расширения для Joomla. Он в базовой версии расширения будет:

  • Уведомить вас и установить новую Joomla! релизы
  • Исправьте ваши файлы и каталоги разрешений
  • Защитите свой каталог администратора с помощью пароля
  • Изменить префикс вашей базы данных
  • Установите безопасный идентификатор супер администратора
  • Мигрируйте ссылки, указывающие на ваш старый домен на лету

Профессиональная версия включает в себя дополнительные функции, такие как:

  • Ограничить администратора с помощью параметра секретного URL
  • Брандмауэр веб-приложений для блокировки распространенных эксплойтов (SQL-инъекция, XSS, DFI, RFI, вредоносный пользовательский агент, защита от CSRF / спам-ботов, загрузка сканера)
  • Белый список IP для раздела администратора
  • IP черный список
  • Географический блок (запретить доступ к определенным странам / континентам)
  • Автоматическая блокировка IP повторных нарушителей

Если вы собираетесь инвестировать в плагин безопасности Joomla, то именно тот, на который вы хотите пойти.

Вы также можете сканировать свой сайт Joomla с Sucuri's Сканер вредоносных программ и безопасности сайта а также Разоблачить паразитов , Если тест не показывает никаких угроз, это не гарантирует, что ваш сайт полностью безопасен, он просто показывает, что сайт не представляет непосредственной угрозы для посетителей.

Второе расширение безопасности Joomla, на которое мы рекомендуем взглянуть, jSecure , Он предлагает двухфакторную аутентификацию, чтобы еще больше предотвратить доступ к вашему сайту. KeyCDN также теперь имеет двухфакторная аутентификация так что вы можете защитить Joomla на своем веб-хосте, а также на своей учетной записи CDN.

Третье расширение безопасности Joomla, которое мы настоятельно рекомендуем ECC + - EasyCalcCheck Plus , Это расширение защищает Joomla! Основные формы и сторонние расширения через интеграцию антиспам-сервисов и добавляет арифметическую проблему, вопрос, скрытое поле и временную блокировку. Разработано Виктор Фогель Джомла! Специалист в 1 & 1 Интернет SE. Это также показывает следующее:

  • Интегрированные внешние антиспам-сервисы: Google ReCaptcha, Akismet, Honeypot Project, StopForumSpam, Mollom, Bot-Trap, Botscout
  • Защищает серверную часть с помощью токена.
  • SQL-инъекция и защита от локальных включений файлов.

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

4. Блокировать плохих ботов

Всегда есть плохие боты, скребки и сканеры, которые бьют по вашим сайтам Joomla и крадут вашу пропускную способность. Вы можете увидеть полный список ботов на botreports.com , Многие из упомянутых выше расширений безопасности могут отлично работать, чтобы блокировать плохих ботов, но иногда вам может понадобиться сделать это на уровне сервера. Если вы хотите заблокировать несколько строк User-Agent одновременно, вы можете добавить следующее в ваш файл .htaccess.

RewriteEngine On RewriteCond% {HTTP_USER_AGENT} ^. * (Agent1 | Wget | Catall Spider). * $ [NC] RewriteRule. * - [F, L]

Или вы также можете использовать директиву BrowserMatchNoCase следующим образом:

BrowserMatchNoCase "agent1" боты BrowserMatchNoCase "Wget" боты BrowserMatchNoCase "Catall Spider" боты Order Allow, Deny Allow from ALL Запретить от env = bots

А вот пример на Nginx.

if ($ http_user_agent ~ (agent1 | Wget | Catall Spider)) {return 403; }

KeyCDN теперь также имеет функцию, которую вы можете включить блокировать плохих ботов на стороне CDN, чтобы сэкономить деньги на пропускную способность.

5. Безопасные соединения

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

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

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

Ваш веб-хостинг, на котором находится ваш веб-сайт, также должен иметь защищенный хостинг. Это означает, что Joomla всегда должна работать на последних версиях и поддерживаемых версиях PHP, MySQL, изоляции учетных записей, брандмауэров веб-приложений и т. Д. Будьте осторожны с дешевыми общими хостами, поскольку вы можете столкнуться с проблемами, если они переполнены серверами и совместно используют ресурсы, такие как IP-адрес.

6. Права доступа к файлам

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

Joomla имеет хорошую документацию по разрешениям безопасности.

Обычно установка файлов или папок в CHMOD 777 или 707 необходима только тогда, когда сценарий должен записать этот файл или каталог. Joomla рекомендует следующую конфигурацию при установке по умолчанию:

  • Файлы PHP: 644
  • Конфиг файлов: 644
  • Другие папки: 755

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

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

  1. Нажмите «Компоненты» → «Инструменты администратора» и нажмите «Защитить паролем администратора».
  2. Эта функция защитит вашу область администратора паролем с помощью файлов .htaccess. Ваш сервер должен поддерживать этот тип защиты паролем.

Вы также можете сделать это вручную в файле .htaccess.

8. Включите дружественные для поисковых систем URL

Всегда рекомендуется включать дружественные для поисковых систем URL-адреса и скрывать имена файлов, такие как index.php, от появления в вашей структуре URL. Это помогает маскировать информацию и не позволяет хакерам находить уязвимости.

Нажмите «Система» → «Глобальная конфигурация» и включите «Дружественные для поисковых систем URL» и «Использовать перезапись URL».

Примечание: только для пользователей Apache! - Переименуйте htaccess.txt в .htaccess перед активацией.

Только для пользователей IIS 7! - Переименуйте файл web.config.txt в web.config и установите модуль перезаписи URL IIS перед активацией.

HTTPS везде происходит. Для сайтов электронной коммерции вам необходим SSL-сертификат, потому что они обрабатывают конфиденциальные данные. Для других сайтов главной причиной этого является ваша страница входа в Joomla. Если вы не используете HTTPS-соединение, ваше имя пользователя и пароль отправляются в виде открытого текста через Интернет . Многие люди утверждают, что блоги и информационные сайты не должны работать по протоколу HTTPS, но насколько важны ваши учетные данные для входа? Кроме того, на многих сайтах есть несколько авторов, которые входят в систему из разных сетей, поэтому работа по защищенному соединению может только повысить безопасность вашей Joomla.

С SEO преимуществами HTTP и преимущества производительности HTTP / 2 нет причин не работать по протоколу HTTPS и использовать сертификат SSL. И KeyCDN теперь также предлагает бесплатные SSL-сертификаты с нашей интеграцией Let's Encrypt.

Мы также рекомендуем проверить Руководство по безопасности Joomla так как в нем много полезной информации. Также важно отметить, что с Joomla 1.7 они начали использовать произвольные префиксы базы данных для большей безопасности. В нашем Руководство по безопасности WordPress а также Руководство по безопасности Drupal мы рекомендуем изменить это, но в Joomla нет необходимости.

Заголовки безопасности HTTP обеспечивают еще один уровень безопасности для вашего сайта Joomla, помогая смягчить атаки и уязвимости безопасности. Обычно они требуют лишь небольшого изменения конфигурации вашего веб-сервера. Эти заголовки сообщают вашему браузеру, как вести себя при работе с контентом вашего сайта. Ниже приведены шесть распространенных заголовков безопасности HTTP, которые мы рекомендуем внедрять и / или обновлять.

Обязательно ознакомьтесь с нашим подробным сообщением о Заголовки безопасности HTTP ,

Резюме

Как вы можете видеть, есть много способов повысить безопасность Joomla и некоторые отличные расширения, которые помогут вам в этом. От поддержания Joomla и расширений в актуальном состоянии до умного обращения с именами пользователей и паролями, использования расширений безопасности, безопасных соединений, разрешений для файлов, двухфакторной аутентификации, использования SSL-сертификата и многого другого. Многие из этих рекомендаций могут быть реализованы в течение нескольких минут, и вы можете быть спокойны, зная, что ваш сайт Joomla немного более защищен от злоумышленников и хакеров.

Есть еще какие-нибудь полезные советы по безопасности Joomla, которые, по вашему мнению, мы пропустили? Если это так, дайте нам знать ниже в комментариях!

Какие типы уязвимостей Joomla они?
Многие люди утверждают, что блоги и информационные сайты не должны работать по протоколу HTTPS, но насколько важны ваши учетные данные для входа?
Есть еще какие-нибудь полезные советы по безопасности Joomla, которые, по вашему мнению, мы пропустили?