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

Итак, сначала рассмотрим всевозможные признаки, по которым мы в первую очередь пытаемся идентифицировать систему управления контентом Joomla!

1.    Копирайты внизу страницы. Не все стремятся скрыть движок сайта и поэтому даже не убирают копирайты: напримерJoomla! is Free Software released under the GNU/GPL License.

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/
 и т.д. и т.п.
3.    Админка. Проверяем наличие админки по стандартному адресу Joomla! – site.ru/administrator
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." />

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

User-agent: * 
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/

7.    Постраничная навигация сайта. Иногда достаточно одного взгляда на построение постраничной навигации: 
<< В начало < Предыдущая 1 2 3 4 5 Следующая > В конец >>
8.    Содержимое папок сайта. На некоторых хостах можно посмотреть содержимое всех папок сайта: например site.ru/components/
9.    Стандартные пути к шаблону и название соответствующих классов (зашитых в ядро). 
10.  Стандартная иконка Joomla! Многие забывают о ней или не считают нужным сменить, но это ведь почти стопроцентный признак.
11. Ошибка 404. После ввода заведомо несуществующего адреса, Joomla! выдает стандартную, всем знакомую красненькую табличку с надписью 404 - Компонент не найден и пояснениями возможных причин.

 

Теперь способы избавления от вышеперечисленных следов:

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

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

Изучив код шаблона (index.php вашего шаблона) мы обнаруживаем такую строку:

Удалив ее, можно избавиться от вывода копирайтов в подвале сайта. Но только для этого шаблона. Если у вас есть вредная привычка часто менять шаблоны, есть смысл сделать небольшой хак, что б избавиться от этого раз и навсегда 
Открываем файл includes/footer.php и видим следующие стоки:
Этот div выводит значок копирайта, текущий год и название вашего сайта.

<div align="center">
    &copy; 
</div>

А этот div выводит версию движка и лицензию.

<div align="center">
    URL; ?>
</div>

Удаляем или редактируем как нужно.

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

<div></div>


2. Ссылки на страницы.
Чтобы изменить стандартный тип ссылок на внутренние страницы Joomla! сайта необходимо использовать сторонние компоненты, которые могут создавать любые ссылки на внутренние страницы вашего сайта – sh404SEFARTIO JoomSEFNuSEF(бесплатные), SEF Advance (платный) и другие. Обзор этих компонентов выходит за рамки этой статьи.

3. Админка.
Всем известно что вход в административную часть сайта на 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.

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

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

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

Существует масса подобных расширений на JED.


Продолжение ...