Lawans.ru – блог заядлого фрилансера. Защита сайта на джумла


создать и защитить сайт на Joomla 1.5

создать сайт на джумла защита сайта на джумле Решил вот поговорить о защите сайта на Joomla.  Дело в том, что наши и ваши сайты, которые делаются на основе CMS Джумла, отличаются только содержимым, шаблоном. Но внутри наши сайты подобны, главные файлы, которые отвечают за работу сайта такие же. Они имеют одинаковые имена, одинаковые расширения. Мы создаем сайт на шаблоне, который дублируется тысячами каждый день.

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

С другой стороны сильно преувеличены возможности хакеров и прочих проблемных лиц. В основном опасность представляют люди, которые участвовали  в создании движка вашего сайта, работали в сфере, ну вы поняли. Но для чего им мой сайт, я же тайны мадридского двора не разглашаю, и Пентагон не ругаю, и все подобные другие лица. Так что профи меня обойдут стороной. А вот от самопала, таких как я, только любящих ломать то, что я создаю, нужно уберечь созданный сайт.

Первое.

Создать сайт, установить сайт. При установке сайта на хост я выполняю запуск установщика и прохожу этапы установки. Я должен в панели управления создать базу данных для сайта — MYSQL.  Здесь все просто — пароль и логин, должны быть длинными, довольно непонятными, без ассоциаций. Там не должно быль имени, фамилий, и любой другой информации, что с Вами ассоциируется. Почему?

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

Второе.

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

Третье.

устанвока сайта на cms Joomla

Когда дойдете до этого шага создания сайта на Джумле, при конфигурации базы данных, обратите внимание на строку префикса таблиц БД. Вот его то и стоит поменять на любой другой. В этом окошке будет указан префикс в таком формате: jos_. А я его поменял, ну например, rod_. Стоим ограничится тремя буквами, там есть масса вариантов. Но, обязательно напишите вот этот символ: _, его называют земля. Он должен присутствовать в префиксе таблиц БД.

Четвертое.

Когда зайдете в администраторский раздел сделанного сайта, нужно сразу пользователя admin заменить на другого пользователя, с правами главного администратора. А вот мой новый пользователь, под которым я и захожу в админку моего сайта имеет длинный логин, без ассоциации со мной, не такой логин, как к админке на TimeWeb. Пароль дело такое, можно менять часто. Все дело в осторожности. Главное, чтобы осторожность не перешла в паранойю.

Пятое.

Путь к вашей и моей админке. Создать сайт и привязать к домену. Все сделали, а потом как добраться к моей администраторской панели. Просто после домена набирать слеш и слово администратор. И попадает человек в окно, где нужно указать логин и пароль.  Он может находиться в здесь столько времени, сколько пожелает. И подбирать логин и пароль, вот почему, когда создали сайт, пользователя admin я сразу же удалил.

Потому нужно осложнить задачу взломщику. Я предлагаю установить плагин, что даст возможность кроме слова администратор, писать еще контрольное слово. И если это слово не совпадает с Вашим, допуск в входу в администраторской панели не выдаётся. Вся сложность в том, что при каждой ошибке, плагин перекидает взломщика на любую страницу вашего сайта. Хоть статистику просмотров созданного сайта подымет. Минус этого плагина — пароль и логин можно получить после взлома моего аккаунта на TimeWeb. Имя этому плагину plgSystemJSecure на момент написания статьи доступна 1.0.9 версия.

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

Скачать плагин систем джумла секьюрити- plgSystemJSecure Скачано: 2064 раз.

seomans.ru

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

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

 

В процессе установки CMS необходимо обратить внимание на некоторые апсекты, правильное выполнение которых позволит существенно повысить защищенность вашего сайта.

 

Используйте сгенерированный префикс таблиц

Разработчики третьей версии Joomla (а также ветке 2.5) встроили некоторые механизмы, которые минимизируют выполнение векторов атаки, актуальных для предыдущих версий. Ранее все таблицы в базе данных создавались с использованием префикса jos_, что существенно облегчало выполнение sql-инъекций. Теперь установщик сам генерирует этот префикс, вам же остается только принять его.

Установка joomla - генерация префикса

Установка joomla — генерация префикса

Не стоит заменять его на что-то угадываемое, например, на имя вашего домена.

 

Придумайте имя администратора — не «admin»

Далее необходимо придумать имя администратора сайта и пароль. В качестве логина используйте что-то вроде «director-asa2». Если вы укажете классическое «admin», то подобрать параметры доступа будет существенно проще.

Установка joomla - имя администратора

Установка joomla — имя администратора

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

 

Не используйте FTP

Использование ftp-протокола — это потенциальная угроза безопасности. Причина — передача пароля и данных в «открытом» виде (нешифрованный протокол).

Для администрирования сайта рекомендуем использовать SSH или SFTP. В этом случае весь сеанс связи зашифрован. Большинство хостингов предоставляют такую возможность.

По умолчанию использование FTP отключено. В качестве альтернативы можете воспользоваться одним из плагинов в официальном репозитории extensions.joomla.org, например, ProFiles.

Установка joomla - не использовать FTP

Установка joomla — не использовать FTP

 

Удалите директорию «installation/»

После завершения установки система предложит удалить директорию installation. Выполните это требование, так как ее наличие позволит злоумышленнику «затереть» ваш сайт новой установкой. Если вы удалили директорию непосредственно на файловой системе (а не воспользовались кнопкой в установщике), не забудьте также удалить файл joomla.xml, который содержит точную версию вашей CMS.

 

Не стоит думать, что по окончанию установки можно забыть о мерах безопасности. Как правило, в базовой комплектации система наименее подвержена компрометации. Риски возрастают при расширении функциональности, добавлении пользователей и т.д.

 

Обновляйте ядро, установленные плагины и темы

Базовый принцип всех CMS — своевременное обновление ядра системы и установленных плагинов. О наличии обновлении вы можете узнать на главной странице панели управления.

Настройка joomla - проверка обновлений

Настройка joomla — проверка обновлений

Для повышения отказоустойчивости вашего сайта рекомендуется делать резервные копии при установки новых версий ядра CMS. Для этого воспользуйтесь плагином Akeeba Backup версии не ниже 4.0.5.

 

Не используйте неподдерживаемые версии Joomla: 1.0х, 1.5х, 1.6х и 1.7х

Если вы давно используете Joomla, то возможно версия вашей системы уже официально не поддерживается (это касается всей ветки 1х) или скоро перестанет поддерживаться (ветка 2.5 официально заканчивается 31 декабря 2014 года). Мы рекомендуем задуматься о миграции на актуальную версию 3.3х. На официальном сайте joomla.org представлены руководства для перехода со старых версий.

Так же существуют плагины для автоматического апгрейда CMS (Migrate Me).

Настройка joomla - расширение migrate me

Настройка joomla — расширение migrate me

 

Проверьте используемые плагины в списке уязвимых

Думаю не секрет, что вы знаете о потенциальной угрозе безопасности, которую несет каждый устанавливаемый плагин. Чтобы минимизировать этот риск следует выполнять простые правила:

 

Используйте предоставляемый .htaccess-файл

Дистрибутив CMS Joomla версии 3.3х поставляется совместно с файлом htaccess.txt, который содержит правила для защиты от широко известных векторов атак на эту CMS. Вам необходимо переименовать этот файл в .htaccess, чтобы он использовал для защиты возможности веб-сервера Apache, или вставьте следующие строки в уже существующий файл:

RewriteEngine OnRewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]RewriteRule .* index.php [F]

Данные правила будут работать, если на сервере установлен модуль mod_rewrite.

 

Используйте ЧПУ-ссылки

Многие сканеры, которые эксплуатируют уязвимости в joomla, получают списки сайтов из google. Для этого используется техника Google XAK, а конкретно для нас может использоваться вот такой запрос inurl:index.php?option=com_jce. Поисковик выведет список сайтов, на которых установлен плагин JCE.

Чтобы затруднить работу сканерам и одновременно улучшить SEO нашего сайта следует использовать ЧПУ-ссылки:

Настройка joomla - включить ЧПУ

Настройка joomla — включить ЧПУ

Это можно сделать перейдя в панели управления «Общие настройки» -> «Сайт» -> «Настройки SEO».

 

Защитите панель администрирования

Панель управления сайтом для CMS Joomla расположена по адресу site.com/administrator/. Если сайт использует стандартные настройки, то любой пользователь, зная логин и пароль, может управлять сайтом. Полагаться только на уникальность логина и стойкость пароля не достаточно.

Начиная с версии 3.2.0 в CMS внедрена возможность использования двухфакторной аутентификации. Мы настоятельно рекомендуем включить эту опцию. В этом случае помимо пароля пользователю нужно знать еще и уникальный ключ.

Настройка joomla - включение двухфакторной аутентификации

Настройка joomla — включение двухфакторной аутентификации

Включить и настроить эту опцию можно в разделе «Пользователи» -> «Менеджер пользователей» -> Имя вашего пользователя -> «Двухфакторная аутентификация». Воспользуйтесь одним из механизмов: Google Authenticator или YubiKey (мы протестировали Google Authenticator — все заработало с первого раза).

Вот так будет выглядеть форма входа в панель администрирования:

Настройка joomla - двухфакторная аутентификация

Настройка joomla — двухфакторная аутентификация

Для изменения адреса формы входа можно воспользоваться плагином AdminExile. С его помощью можно установить ключ, который предоставит доступ для входа в панель администрирования (например,site.com/administrator/index.php?myadmin). Если его не указать, то произойдет автоматический редирект на главную страницу вашего сайта.

Настройка joomla - плагин adminexile

Настройка joomla — плагин adminexile

Этот же плагин позволит установить список ip-адресов, для которых разрешен доступ в панель управления, и защитит от брутфорса. Устанавливайте плагин версией не нежи 2.3.6.

 

Защитите конфигурационный файл configuration.php

Файл configuration.php расположен в корневой директории Joomla (http://example.com/configuration.php). В нем содержатся параметры подключения к базе данных, ключ шифрования, префикс таблиц, параметры ftp (при использовании).

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

Основная причина доступности файла — небезопасная конфигурация. Достаточно  часто администратор сайта создает резервные копии вида:

При использовании таких имен файлы перестают обрабатываться как php-скрипты. При прямом запросе (например, http://example.com/сonfiguration.php.old) злоумышленник получит все содержимое.

Не храните резервные копии конфигурационного файла в пределах вашего сайта. Для дополнительной защиты поместите следующий код в файл .htaccess, расположенный в корне сайта:

<Files ~ «^configuration\.»>    Order allow,deny    Deny from all    Satisfy all</Files>

Так вы заблокируете доступ к этому файлу (и всем его копиям) средствами веб-сервера.

 

Настройте права доступа для ключевых файлов и директорий

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

Не забудьте временно изменить права на 644 для файла configuration.php, когда будете вносить изменения в панели администрирования.

 

Запретите свободную регистрацию пользователей

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

Для отключения перейдите в панель «Пользователи» -> «Менеджер пользователей» -> «Настройки».

Настройка joomla - запрет на регистрацию

Настройка joomla — запрет на регистрацию

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

 

Перенесите директории «logs/» и «tmp/» за пределы сайта

Служебные директории logs и tmp по умолчанию находятся в корневой директории сайта. Мы рекомендуем перенести их за пределы «видимости». Как правило это на один уровень выше их текущего положения на файловой системе.

Сначала переместите директории, а потом установите соответствующий путь в панели администрирования («Общие настройки»).

Настройка joomla - перенос логов

Настройка joomla — перенос логов

Настройка joomla - перенос tmp

Настройка joomla — перенос tmp

 

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

Достаточно много расширений для повышения безопасности CMS представлено в официальном репозитории. Есть среди них как платные, так и бесплатные решения. Попробуйте начать с «Admin Tools«. Его основные возможности:

Настройка joomla - расширение admin tools

Настройка joomla — расширение admin tools

 

Блокируйте небезопасные запросы

Для защиты от наиболее опасных типов уязвимостей (sql-инъекций и lfi) вы можете воспользоваться плагином Marco’s SQL Injection.

Настройка joomla - расширение marcos

Настройка joomla — расширение marcos

Основные возможности расширения:

 

Используйте механизмы для активного аудита

Если вы читали нашу статью о защите блога на WordPress, то в одном из пунктов мы рассказывали о сканере WPScan. Он позволяет просканировать блог снаружи и определить наиболее уязвимые места.

К сожалению аналогичного уровня сканера для Joomla в настоящее время нет. Joomscan от OWASP можно не брать в расчет. Продукт не обновлялся с мая 2013 года, список уязвимых плагинов также далек от сегодняшнего дня.

Для внешнего аудита безопасности воспользуйтесь нашим SaaS-решением: weBBez. Непосредственно для CMS Joomla мы умеем:

 

Вывод. Для защиты вашего сайта на основе cms Joomla рекомендуется выполнить следующие шаги и рекомендации:

 

Ссылки на упомянутые программные продукты и сервисы:

webbez.ru

Расширения Joomla для защиты сайта взломов | Lawans.ru

Хотите оперативно получать новые уроки и статьи блога LAWANS.RU. Просто введите ВАШ e-mail на форме справа >>>

Привет Всем!Сегодня делаю завершающий пост по защите Joomla от вирусов и взломов. И сегодня погорим о расширениях для Joomla по данной тематике.

Самое основное расширение это Admintools (www.akeebabackup.com/download/admintools.html) (там же можно скачать и русский язык к нему)

Это одно из самых популярных расширений Joomla для защиты сайта от взломов. После его установки и русификации я получил такой его вид:

Admin tools core

Как видим, компонент проверил нашу версию Joomla на обновления и сказал, что у нас стоит последняя версия и обновлений не требуется. Так и есть! Хотя такой функционал есть и в самой Joomla/

Давайте рассмотрим, что нам предлагается в разделе Безопасность.

Аварийный режим

Аварийный режим

Собственно всё по-русски написано, что делает данный режим. Я думаю, эту функцию особо не стоит применять. В Joomla есть механизм закрытия сайта. Однако здесь он более жестче и применяется в случае атак хакеров.

Главный пароль.

Вкладка предназначена для блокировки настроек самого Admin Tools.

Главный пароль

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

Нет прав

И только после его ввода у меня вернулся доступ. Довольно интересная фишка!

Защита Администратора паролем.

Защита Администратора паролем

Ещё одна надстройка над паролем в админку. Даже если хакер узнает доступ в вашу админ панель Joomla попросит его ввести ещё одни контрольный пароль, который вы можете задать как раз на этой вкладке. Минус только в том, как нам пишут разработчики в файле .htpasswd это пароль к сожалению не будет зашифрован. Так и есть я создал логин (root) и пароль (1234) и увидел по пути /administrator/ два новых файлика .htpasswd и .htaccess.

файлы

И если зайти в файл .htpasswd, то увидим наши логин-пароль в открытом виде.

1234

Однако защита всё равно будет и этот файл хакер ещё должен увидеть. Если захотите убрать эту защиту просто нажмите на кнопку Убрать защиту паролем или по фтп удалите эти два файла.

Редактор приставок таблиц базы данных.

Редактор приставок таблиц базы данных

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

ID супер администратора

ID супер администратора

На данной вкладке предполагается смена ID суперадмина. Однако в только что установленной Joomla 2.5.6 как видим этого уже не надо делать!

Есть ещё раздел Инструменты. Давайте заглянем, что есть там.

Настройка прав.  На данной вкладке можно выставлять права для папок и файлов CMS Joomla. Однако этим стоит пользоваться, знающи и без необходимости не стоит менять права.

Отладка прав доступа – после нажатия на неё у меня “отремонтировались” права. Правда я не совсем понял смысл ремонта и что конкретно там отремонтировалось.

Инструменты SEO и ссылки – как твердит документация, это вкладка включает в себя полезные инструменты для улучшения SEO сайта и обработки ссылок сайта.

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

Другие настройки объединения javascript и CSS созданы для увеличения скорости загрузки страниц.

Инструменты SEO и ссылки

Очистить папку /tmp – здесь всё понятно. Чистится папку временного хранения разных установочных файлов и т.д. Вообщем чистится весь мусор ненужный Joomla.

Кодировка знаков база данных – собственно применяется при косяках в базе данных (неверной кодировке и т.п.) . Однако не смог проверить действенность данной функции.

Отремонтировать и оптимизировать таблицы – стоит делать, когда есть какие-либо неполадки в базе данных.

Очистить сессии. Делает она следующее.

Очистить сессии

Вот кратко пробежались по возможностям компонента AdminTools. Однако как гласят разработчики этого компонента –  на бога надейся, а сам не плошай.

предупреждение

Ну и на последок небольшой плагин по защите админки сайта.

Плагин adminexile (richeyweb.com)

Он блокирует заход в админку Joomla по стандартному пути http://_имя_сайта_/administrator/

А путь можно задать в его настройке URL Acess Key

И можно задать редирект (Redirect URL) при вводе стандартного пути. Здесь можно задать {404} – страница ошибки или любой адрес через http://

Т.е. если я активирую этот плагин и зайду по пути http://_имя_сайта_/administrator/ меня перенаправит на главную.

А зайти смогу только по пути http:// _имя_сайта_/administrator/index.php?adminexile

Настройки плагина adminexile

На этом собственно и всё! Если что-то хотите дополнить или спросить – жду ВАШИХ комментариев!

У ВАС ведь есть ТЕЛЕФОН? Или mp3-player? А может даже планшет, ноутбук или игровая консоль!Хочется, чтобы он был необычным и уникальным? Заходите к нам – мы поможем.    Tweet   

Похожие статьи

lawans.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта