У статті " Захист Joomla (частина 3). оновлення »Я розглядав список того, що саме потрібно зробити для утруднення розпізнавання використання Joomla на Вашому сайті. Безумовно, для тих, хто багато працює з цією системою управління контентом, не складе великих труднощів при детальному розгляді дізнатися, що це Joomla. Але мова піде саме про скруті з'ясування даного факту і про те, щоб звести до мінімуму варіанти з автоматичним розпізнаванням версії системи управління контентом «роботами». Дані поради підійдуть для Joomla 1.5, 1.6, 1.7. Але в основному буде робитися упор на актуальну стабільну версію Joomla 1.7. На момент написання статті (09.01.2012) вже є Joomla 2.5 beta 1. Для неї не всі поради будуть актуальні. Але не дивлячись на версію CMS, рекомендую приховати Joomla сліди.
Наведений нижче список «слідів Joomla» не є вичерпним. Порядок їх розгляду не говорить про їх важливість. Для інтересу Ви можете спершу перевірити свій сайт за допомогою сервісу Builtwith.com . Цей сервіс дозволяє визначити деякі параметри Вашого сайту. У тому числі систему управління контентом, на якій зроблений сайт. Якщо Builtwith.com визначив її, то варто задуматися про застосування деяких з наведених нижче порад. Приховати сліди Joomla (самі явні) може навіть початківець веб майстер.
1. «Замаскувати» все розширення, використовувані у Вас на сайті. Так як, наприклад, при використанні Community Builder особистий кабінет користувачів виглядає за замовчуванням практично однаково для всіх сайтів. І можна буде сказати з великою часткою ймовірності, що Ви використовуєте Joomla (і навіть скільки разів 1.0, 1.5, 1.7). Це може бути дуже складно і трудомістким для сайтів з великою кількістю різних розширень. Більш того це, в основному, утруднить тільки візуальне виявлення слідів Joomla людиною.
Якщо Ви робили шаблон в Artisteer (детальніше про цю програму можна прочитати в наступних статтях «Огляд Artisteer (частина 1 , 2 , 3 ) »), Або купували \ качали з будь-якого сайту, перевірте, щоб в коді шаблону не було згадок про те, для якої системи управління контентом він зроблений і з якого сайту він узятий. Або за допомогою чого він зроблений. Наприклад, той же Artisteer вставляє в файл таблиці стилів наступний рядок (версія буде змінюватися в залежності від версії Artisteer).
/ * Created by Artisteer v3.0.0.35414 * /
Переглянувши вміст таблиці стилів і з'ясувавши версію Artisteer, можна звузити коло можливих систем управління контентом (і їх версій), на якій зроблений Ваш сайт до чотирьох (на 09.01.2012).
- Drupal (5.x, 6.x, 7.х).
- WordPress (2.6-3.0).
- Joomla 1.5, 1.6, 1.7.
- DotNetNuke 4.9 і більш нова версія.
Врахуйте, що вносити зміни в таблиці стилів доведеться щоразу після установки шаблону.
2. Заблокуйте спосіб перегляду позицій модуля для шаблону сайту (наприклад, aleksius.com/?tp=1). Для Joomla 1.6, 1.7, 2.5 beta 1 це не актуально, так як в цих версіях Joomla подібний спосіб перегляду позиції модуля відключений за замовчуванням. Якщо Ви використовуєте Joomla 1.5, то у файлі helper. php в папці / libraries / Joomla / application / module / знайдіть наступні рядки:
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; }}
Закоментуйте їх, додавши в початок кожного рядка «//» (без лапок). Знайдіть наступні рядки:
if (JRequest :: getBool ( 'tp')) {$ attribs [ 'style']. = 'outline'; }
Закоментуйте їх, додавши в початок кожного рядка «//» (без лапок). Перевірте.
Після поновлення Joomla переконайтеся в тому, що внесені Вами зміни залишилися в силі.
3. Замініть шляху до папки з логами сайту (logs) і шлях до папки з тимчасовими файлами (temp). Краще не просто їх перейменувати, а винести за межі папки public_html.
4. Замініть стандартну іконку сайту Joomla.
5. Замініть стандартну картинку з логотипом Joomla на сторінці, коли сайт вимкнений (offline). Бажано, замінити і її ім'я (Joomla _logo_black.jpg). Але можна хоча б просто змінити саму картинку. Вона знаходиться в папці images. Це не актуально для Joomla версії 2.5.0 (beta 1). Після поновлення Joomla переконайтеся в тому, що внесені Вами зміни залишилися в силі.
6. Забороніть переглядати файл README.txt в корені вашого сайту. Це можна зробити за допомогою призначення на нього прав 400 або просто видаливши його.
7. Можна ускладнити аналіз сайту, зробивши код сторінки менш структурованим і легко сприймаються як для людини. Це майже ніяк не позначиться на аналізі сайту «роботом», а людині звичніше і зручніше бачити код структурованим (малюнок нижче).
У разі, коли з коду видалять всі прогалини, він може виглядати, як показано на малюнку нижче.
Це можливо зробити, наприклад, за допомогою різних інструментів оптимізації завантаження сайту . Однак дана дія може привести до некоректного відображення і \ або роботі сайту. Так що будьте уважні. Крім цього даний спосіб може збільшити кількість помилок в коді Вашого сайту, а це може привести до незначного погіршення Ваших SEO показників.
8. Подбайте про те, щоб не можна було переглядати вміст стандартних папок Joomla (наприклад, папки Components). Це можна зробити, помістивши в корінь папки файл index. html. Або дописавши в кінці файлу .htaccess в корені сайту наступний рядок.
Options -Indexes
Наприклад.
RewriteRule. * Index.php [L] # Options -Indexes ## End - Joomla! core SEF Section.
9. Змініть «стандартний» шлях для переходу на сторінку авторизації адміністративної панелі сайту (http://testirovanie.aleksius.com/administrator). Для цього можна скористатися різними розширеннями. Наприклад, платне - jSecure Authentication (детальніше про нього Ви можете прочитати в статті « Огляд jSecure Authentication. Захист адмінки Joomla »). Просто перейменування папки administrator може викликати тільки проблеми. У вирішенні даного пункту також може стати в нагоді компонент захисту сайту Joomla RSFirewall .
10. Змініть вид посторінкового навігації. Якщо у Вас на сайті використовується уявлення сторінки типу Блог категорій, при досягненні певного числа статей на сторінці Joomla переносить інші на іншу сторінку і внизу додає модуль посторінкового навігації (малюнок нижче).
Даний модуль може виглядати однаково для багатьох сайтів. Тому в інтернеті я не раз знаходив матеріал про те, що цей модуль необхідно модифікувати і як це зробити.
11. Змініть вигляд сторінки помилки 404. Якщо запитати з вашого сайту неіснуючу сторінку, то Joomla видасть «стандартне» вікно помилки (рисунок нижче).
Змінити стандартну сторінку помилки 404 можна за допомогою редагування коду ядра Joomla або за допомогою спеціальних розширень, наприклад Error404. І перший, і другий спосіб мають свої переваги і недоліки. У випадку з правкою коду Вам необхідно буде вносити зміни в файл кожного разу при його оновленні (наприклад, при оновленні Joomla). У випадку з установкою додаткового розширення все стає вкрай просто і зводиться до налаштування самого розширення засобами візуального інтерфейсу. Але додаткове розширення - це додатковий код на сайті, збільшення його розміру, навантаження на сервер і ймовірність додавання нових вразливостей безпеки. У випадку з Error404, плагіном перенаправлень в Joomla 1.7 користуватися не можна. Так як Error404 вимагає активації власного плагіна перенаправлень і обов'язкової дезактивації вбудованого. В інтернеті Ви можете знайти багато способів для створення власної сторінки помилки 404 для Joomla 1.5 і 1.7. Для прикладу, наведу такий спосіб для Joomla 1.7.
- Створіть статтю Joomla, яку необхідно відобразити замість сторінки з помилкою 404.
- Створіть меню (в менеджері меню), яке не буде ніде виводитися. Цей і наступний пункти потрібні для того, щоб у сторінки було адреса не «http://testirovanie.aleksius.com/index.php?option=com_content&view=article&id=68:review-autoplay-media-studio-part-4&catid=20 : miscellaneous & Itemid = 123 », а, наприклад« http://testirovanie.aleksius.com/404 »
- У цьому меню створіть пункт меню на створену статтю. Аліас даного пункту меню задайте «404» (без лапок). Можна задати інший алиас.
- Відкрийте файл error.php в папці templates / system.
- Знайдіть і замініть наступні рядки (10-12 стоку):
if (! isset ($ this-> error)) {$ this-> error = JError :: raiseWarning (404, JText :: _ ( 'JERROR_ALERTNOAUTHOR')); $ This-> debug = false;
на наступні:
if (($ this-> error-> getCode ()) == '404') {header ( 'Location: / 404'); exit;
де / 404 і є адреса тієї статті, що Ви створили.
Після поновлення Joomla переконайтеся в тому, що внесені Вами зміни залишилися в силі.
12. Змініть посилання сайту з «стандартних» (http://testirovanie.aleksius.com/index.php?option=com_content&view=article&id=68:review-autoplay-media-studio-part-4&catid=20:miscellaneous&Itemid=123) на ЧПУ (Http://testirovanie.aleksius.com/articles-2/safety/78-Joomla-protection-part-3). Для цього можна скористатися або вбудованими засобами самої Joomla або сторонніми розширеннями (наприклад, sh404SEF ).
Якщо Ви вирішили обійтися без додаткових розширень, то Вам необхідно заповнити всі поля Аліас для всіх статей і пунктів меню і категорій (рисунок нижче).
Потім в загальних налаштуваннях Joomla на вкладці Сайт в групі параметрів Параметри SEO включити використання ЧПУ (малюнок нижче).
13. Приберіть мета теги Joomla (опис і ключові слова сайту) і тег generator. Мета теги Ви можете прибрати в загальних налаштуваннях Joomla вкладка Сайт.
Наведу приклад, як прибрати тег generator для Joomla 1.7.
- Відкрийте файл head.php в папці / libraries / Joomla / document / html / renderer /.
- Знайдіть і видаліть в ньому наступний рядок (91-я)
$ Buffer. = $ Tab. '<Meta name = "generator" content = "'. Htmlspecialchars ($ document-> getGenerator ()). '" />'.$lnEnd;
Після поновлення Joomla переконайтеся в тому, що внесені Вами зміни залишилися в силі. У вирішенні даного пункту може стати в нагоді компонент захисту сайту Joomla RSFirewall .
Під час написання даної статті були використані матеріали сайту Eldia.org.ua. Як Ви могли помітити приховати сліди Joomla (принаймні самі явні) досить просто. Вважаю, що для підвищення захищеності сайту від злому прибрати Joomla сліди дуже бажано. У статті " Захист Joomla (частина 10). Компоненти захисту Joomla »Ми розглянемо розширення, які допоможуть Вам створювати резервні копії сайту.
Схожі матеріали
Корисні посилання:
Com/?Php?
Php?