Заметаем следы Joomla!

Автор Тема: Заметаем следы Joomla!  (Прочитано 25027 раз)

Оффлайн Ю-МастерАвтор темы

  • Бизнес оценка: (0)
  • Старожил
  • ****
  • СПАСИБО: 43
  • Сообщений: 295
  • Карма: 13
  • Пол: Мужской
    • Просмотр профиля

Оффлайн Ю-МастерАвтор темы

  • Старожил
  • ****
Заметаем следы Joomla!
« : 10-04-2011, 09:26:24 »
Думаю со мной согласятся форумчане, что при использовании Joomla! (впрочем? как и любой другой CMS) для безопасности сайта было бы правильным скрыть ту информацию, те признаки, по которым возможный злоумышленник-негодяй-хакер мог бы идентифицировать тип CMS.

Итак, на сегодняшнем уроке, дети, мы рассмотрим следующие вредные признаки замечательной CMS Joomla! (только для версий 1.5.x):

1. Копирайты внизу страницы.
После установки Джумла мы можем наблюдать примерно такую картину внизу страницы сайта:

© 2011 Site Name
Joomla! is Free Software released under the GNU/GPL License.

Путь решения проблемы (три способа на выбор):
а) В менеджере модулей отключить вывод модуля "Footer" (mod_footer). Но в этом случае исчезнуть все копирайты, а не только джумловские.
б) В языковом файле \language\ru-RU\ru-RU.mod_footer.ini в строках:
FOOTER_LINE1=
FOOTER_LINE2=
Убрать все, что справа от знака равно
в) В файле \modules\mod_footer\tmpl\default.php отключить вывод 2-ой строки, удалив строку:

<div><?php echo JText::_( 'FOOTER_LINE2' ); ?></div>

2. Ссылки на страницы.
Стандартные ссылки у Joomla! выглядят подобным образом:
http://site.ru/index.php?option=com_frontpage&Itemid=1
http://site.ru/index.php?option=com_content&task=view&id=14&Itemid=1
http://site.ru/content/view/14/1/ и т.д. и т.п.

Решение:
Чтобы изменить стандартный тип ссылок на внутренние страницы Joomla! сайта необходимо использовать сторонние компоненты, которые могут создавать любые ссылки на внутренние страницы вашего сайта – sh404SEF, ARTIO JoomSEF, NuSEF (бесплатные), SEF Advance (платный) и другие. Обзор этих компонентов выходит за рамки этой статьи.

3. Админка.  
Проверяем наличие админки по стандартному адресу Joomla! – site.ru/administrator

Решение:
Всем известно что вход в административную часть сайта на CMS Joomla! осуществляется через site.ru/administrator
Есть два способа скрыть вход в админку.
а) Средствами сервера: поставить пароль на папку administrator
В папке administrator создаем такой .htaccess:

AuthName "For Registered Users Only"
AuthType Basic
AuthUserFile /pub/site.ru/.htpasswd
require valid-user
</Files>

где значение AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.

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

б) Средствами Joomla: поставить специально предназначенные для этого расширения.

Например плагин для Joomla! 1.5 jSecure Authentication. При переходе на страницу site.ru/administrator он включает заданную переадресацию. В админку можно попасть, только задав ключевое слово в адресной строке: site.ru/administrator/?password

4.  Meta-теги.
Некоторые доблестные сайтостроители забывают изменить описание сайта и его ключевые слова. В итоге в исходном коде страницы мы можем наблюдать следующее:

<meta name="description"
content="Joomla - the dynamic portal engine and content management system" />
<meta name="keywords" content="Joomla, joomla" />

А также тег generator, который генерируется ядром:

<meta name="Generator"
content="Joomla! - Copyright (C) 2005 - 2007 Open Source Matters. All rights reserved." />

Решение:
Ну содержимое meta-тегов description и keywords, я думаю, вы сами знаете как менять - просто не забываем это делать.
А вот с meta-тегом generator все обстоит хитрее. Внимательно смотрим и видим исходном коде страниц:

<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />

Есть два способа влияния на мета-тег Generator: путем хака ядра и внесением кода в шаблон.
Первый способ (хак ядра Joomla!) подходит тем, кто не планирует постоянно обновлять ядро сайта и/или часто меняет шаблоны сайта.
Открываем следующие файлы:
libraries\joomla\document\document.php
libraries\joomla\document\html\renderer\head.php
Если хотим просто изменить эту строку, то в файле document.php находим примерно 85 строку:

var $_generator = 'Joomla! 1.5 - Open Source Content Management';

и вставляем свое внутрь кавычек ‘ ‘
Если хотим совсем удалить этот мета тег, то в файле head.php, комментируем // строку (примерно 83):

$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;

Второй способ (правка шаблона), более мягкий и не требует вмешательства в код ядра Joomla! (при обновлениях ядра можно не беспокоиться о хаках, так как их просто не будет).
Где-то между тегами <head> и </head> вставляем следующую строку:

<?php $this->setGenerator('Ваш мета-тег geneator');?>

Или же оставляем пустое значение мета-тега:

<?php $this->setGenerator(''); ?>


5. Просмотр позиций для модулей.
При просмотре сайта по адресу site.ru/?tp=1 можно легко убедиться что сайт работает именно на CMS Joomla!

Решение:
Открываем файл /libraries/joomla/application/module/helper.php
Ищем примерно 96-103 строки:

if(count($result) == 0) {
   if(JRequest::getBool('tp')) {
           $result[0] = JModuleHelper::getModule( 'mod_'.$position );
      $result[0]->title = $position;
      $result[0]->content = $position;
      $result[0]->position = $position;
   }
}

Комментируем их, добавляя в начало каждой строки //.
Далее ищем примерно 199-201 строки:

if(JRequest::getBool('tp')) {
   $attribs['style'] .= ' outline';
}

Комментируем их, добавляя в начало каждой строки //.

6. Содержимое папок сайта.
На некоторых хостах можно посмотреть содержимое всех папок сайта: например site.ru/components/

Решение проблемы - запрет просмотра содержимого папок вашего сайта.
Если набрать адрес существующей папки, например, http://example.org/components/com_content/ и вы видите ее содержимое, то это значит, что на Вашем сервере настроенная выдача список директорий.
Это дает возможность злоумышленнику дополнительные плюсы при изучении вашего сайта. Избежать открытого списка можно двумя способами:
1. В .htaccess или в конфигурации apache создать директиву:

Options -Indexes

2. В каждую директорию положить пустой файл index.html. По умолчанию загружается файл с названием index (.htm, .html, .php и т.д.).

7. Стандартная иконка Joomla!
Многие забывают о ней или не считают нужным сменить, а ведь это стопроцентный признак.

Решение:
В первую очередь иконка сайта favicon.ico ищется в корне сайта. Вы можете создать свою иконку (например с помощью сервиса http://favicon.ru) и загрузить ее в корень. Второй вариант - иконка помещается в папку вашего шаблона. Для большей уверенности можно также прописать в index.php шаблона в блоке <head>

<link rel="icon" href="http://ваш-сайт.ru/путь_к_иконке/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="http://ваш-сайт.ru/путь_к_иконке/favicon.ico" type="image/x-icon">

8. Ошибка 404.
После ввода заведомо несуществующего адреса, Joomla! выдает стандартную, всем знакомую красненькую табличку с надписью 404 - Компонент не найден и пояснениями возможных причин.

Решение:
Для скрытия этого признака нужно создать собственную страницу 404 ошибки и оформить ее в стиле шаблона либо как захочется.

Вот один из  вариантов:

1. Создаете материал, не указывая раздел и категорию.
2. В меню создаете новый пункт по типу шаблона материала для этой страницы. После создания в свойствах данного пункта меню смотрите истинный адрес страницы. Например, этот: index.php?option=com_content&view=article&id=23
Записываете.
3. В папке templates/system есть файл error.php. Стираете в нем всё содержимое и вместо этого пишете:

<?php
      defined('JPATH_BASE') or die();
      echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=23');
?>
 
Либо просто переименовываете оригинальный файл, а вместо него создаете свой, новый error.php, вписываете туда то, что указано выше, и помещаете в папку templates/system.


В данном уроке наверняка рассмотрены не все методы скрытия следов Joomla!, поэтому ждем дополнений от опытных джумловодов.



По мотивам http://www.dia.org.ua/stati/stati-o-joomla/53-zametaem-sledy-joomla.html
« Последнее редактирование: 18-11-2011, 12:21:25 от Sevab »
Учусь по-немножку


Оффлайн Mihail152150

  • Бизнес оценка: (0)
  • Рекрут
  • *
  • СПАСИБО: 7
  • Сообщений: 27
  • Карма: 3
  • Пол: Мужской
  • а вот и я)))))))
    • Просмотр профиля
    • Мир ужаса - Все о фильмах ужасов, обзор фильмов ужасов, выбирай свой фильм ужасов!

Оффлайн Mihail152150

  • Рекрут
  • *
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 7
    • Сообщений: 27
    • Карма: 3
    • Пол: Мужской
    • а вот и я)))))))
      • Просмотр профиля
      • Мир ужаса - Все о фильмах ужасов, обзор фильмов ужасов, выбирай свой фильм ужасов!
Re: Заметаем следы Joomla!
« Ответ #1 : 10-08-2011, 21:40:20 »
Помогите с 6 пунктом! Где именно прописывать Options -Indexes в .htaccess? Просто в любом месте?


Добавлено: 11-08-2011, 12:52:19

Подскажите плиз..... где это прописать и как?
« Последнее редактирование: 11-08-2011, 12:52:19 от Mihail152150 »
http://miruzhasa.ru/ - Обзор фильмов ужасов, все о фильмах ужасов!

Оффлайн Ю-МастерАвтор темы

  • Бизнес оценка: (0)
  • Старожил
  • ****
  • СПАСИБО: 43
  • Сообщений: 295
  • Карма: 13
  • Пол: Мужской
    • Просмотр профиля

Оффлайн Ю-МастерАвтор темы

  • Старожил
  • ****
Re: Заметаем следы Joomla!
« Ответ #2 : 15-08-2011, 12:05:13 »
Mihail152150,
Да, в любом месте прописываем строчку Options -Indexes.
Эта директива дает Запрет выдачи листинга пустого каталога.

Учусь по-немножку

Оффлайн Shveik

  • Бизнес оценка: (0)
  • Старожил
  • ****
  • СПАСИБО: 78
  • Сообщений: 371
  • Карма: 11
  • Пол: Мужской
  • душа бессмертна, о теле заботиться нужно...
    • Просмотр профиля

Оффлайн Shveik

  • Старожил
  • ****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 78
    • Сообщений: 371
    • Карма: 11
    • Пол: Мужской
    • душа бессмертна, о теле заботиться нужно...
      • Просмотр профиля
Re: Заметаем следы Joomla!
« Ответ #3 : 16-08-2011, 17:23:15 »
вот любопытно а RDS определит joomla с таким хаком? если да, то в чем прикол? 


Оффлайн Ю-МастерАвтор темы

  • Бизнес оценка: (0)
  • Старожил
  • ****
  • СПАСИБО: 43
  • Сообщений: 295
  • Карма: 13
  • Пол: Мужской
    • Просмотр профиля

Оффлайн Ю-МастерАвтор темы

  • Старожил
  • ****
Re: Заметаем следы Joomla!
« Ответ #4 : 18-08-2011, 23:35:16 »
Shveik,
Возможно, что и определит, НО:
1. Данное руководство не претендует на полноту решений по скрытию всех признаков Joomla!, о чем было указано в конце руководства.
2. От профессиональных хакеров вообще ничего не спасет, а от неопытных (коих в тысячи раз больше, чем профи), данные методы скорей всего оградят ваш сайт.
Учусь по-немножку


Оффлайн Caprican

  • Бизнес оценка: (1, 100%)
  • Ветеран
  • *****
  • СПАСИБО: 329
  • Сообщений: 628
  • Карма: 59
  • Пол: Мужской
  • Some people are picky about their towels
  • Награды КМС поисковой оптимизации
    • Просмотр профиля

Оффлайн Caprican

  • Ветеран
  • *****
  • Доп. информация
    • Бизнес оценка: (1, 100%)
    • СПАСИБО: 329
    • Сообщений: 628
    • Карма: 59
    • Пол: Мужской
    • Some people are picky about their towels
    • Награды КМС поисковой оптимизации
      • Просмотр профиля
Re: Заметаем следы Joomla!
« Ответ #5 : 19-08-2011, 22:57:09 »
отличная подборка для обеспечения безопасности сайта на Джумла. У меня недавно (месяца полтора назад) взломали все сайты. Были сайты как на вордпресс, так и на джумле. Заменили индексные файлы вот этим . походу украли ключи для доступа по фтп. Но это к слову. С обеспечением безопасности вордпресс думаю разобрался, а вот с Джумлой пока нет, поэтому - сенкс)))

Оффлайн mate

  • Бизнес оценка: (4, 100%)
  • Ветеран
  • *****
  • СПАСИБО: 350
  • Сообщений: 1229
  • Карма: 51
  • Пол: Мужской
  • Skype: ashikhmin.a
  • Награды КМС поисковой оптимизации
    • Просмотр профиля
    • веб-студия Актив

Оффлайн mate

  • Ветеран
  • *****
Re: Заметаем следы Joomla!
« Ответ #6 : 22-08-2011, 20:57:25 »
Да по robots.txt сразу видно CMS, структура та стандартная.
Так, от школьников защита.

Отсюда делаем вывод, что скрыть принадлежность к CMS нереально...
Задача другая, постараться грамотно защититься от взлома.
« Последнее редактирование: 22-08-2011, 21:00:15 от mate »
Создание + SEO-раскрутка:  Группа КОТ

Оффлайн Aleks_El_Dia

  • Бизнес оценка: (0)
  • Пользователь
  • **
  • СПАСИБО: 14
  • Сообщений: 51
  • Карма: 3
  • Пол: Мужской
  • AEDStudio
    • Просмотр профиля
    • AEDStudio Joomla! Direction

Оффлайн Aleks_El_Dia

  • Пользователь
  • **
Re: Заметаем следы Joomla!
« Ответ #7 : 18-11-2011, 01:32:48 »
ТС, мне очень приятно что вам понравилась моя статья, но будет еще приятнее если в вашем посте будет стоять ссылка на оригинал - http://www.dia.org.ua/stati/stati-o-joomla/53-zametaem-sledy-joomla.html.
Спасибо за понимание)
PS в теме могу дополнить статью)
Мой блог о Joomla - dia.org.ua

Оффлайн Sevab

  • Администратор
  • Бизнес оценка: (6, 100%)
  • *****
  • СПАСИБО: 9830
  • Сообщений: 14456
  • Карма: 662
  • Пол: Мужской
    • Просмотр профиля
    • Trust Directory Project

Оффлайн Sevab

  • Администратор
  • *****
Re: Заметаем следы Joomla!
« Ответ #8 : 18-11-2011, 12:22:01 »
Aleks_El_Dia, поставил ссылку на вашу статью в первое сообщение темы.


Оффлайн Aleks_El_Dia

  • Бизнес оценка: (0)
  • Пользователь
  • **
  • СПАСИБО: 14
  • Сообщений: 51
  • Карма: 3
  • Пол: Мужской
  • AEDStudio
    • Просмотр профиля
    • AEDStudio Joomla! Direction

Оффлайн Aleks_El_Dia

  • Пользователь
  • **
Re: Заметаем следы Joomla!
« Ответ #9 : 19-11-2011, 00:46:39 »
Aleks_El_Dia, поставил ссылку на вашу статью в первое сообщение темы.
Спасибо за понимание!
Цитата: mate
Да по robots.txt сразу видно CMS, структура та стандартная.
Так, от школьников защита.

Отсюда делаем вывод, что скрыть принадлежность к CMS нереально...
Задача другая, постараться грамотно защититься от взлома.
В robots.txt добавляю мешанину из роботсов друпала, ВП и других CMS (Можете назвать меня параноиком:))
Структуру скрыть сложнее, но реально.
Ну а насчет защиты от взлома, конечно - главное грамотный подход и своевременное обновление как ядра так и сторонних расширений.
Мой блог о Joomla - dia.org.ua


 

Похожие темы

  Тема / Автор Ответов Последний ответ
15 Ответов
5737 Просмотров
Последний ответ 07-10-2011, 02:04:30
от teen
25 Ответов
6585 Просмотров
Последний ответ 14-07-2011, 19:14:46
от ewdokimow
3 Ответов
1817 Просмотров
Последний ответ 18-07-2011, 13:20:03
от Павел Joofaq
6 Ответов
3264 Просмотров
Последний ответ 23-08-2013, 10:27:57
от vold57
3 Ответов
1470 Просмотров
Последний ответ 14-05-2016, 23:34:46
от badhit