Безпека сайтів на Joomla або як боротися з вірусами на сайті

  1. Безпечна настройка сервера / хостингу
  2. використовуйте .htaccess
  3. Заборона виконання файлів в корені сайту
  4. Заборона доступу до xml-файлів розширень
  5. Блокування прямого доступу до ядра
  6. Налаштування Apache
  7. Встановіть модуль mod_security
  8. Використовуйте PHP версії 5.0 і вище.
  9. Використовуйте локальний php.ini
  10. Налаштування php.ini
  11. Права в файлової системі
  12. Оновлення CMS Joomla
  13. Видалення розширень Joomla
  14. Оновлення розширень Joomlа
  15. Не використовуйте варезні розширення
  16. Установка розширень безпеки
  17. Складні паролі до облікового запису адміністраторів
  18. Створення сторінки «404»

Давно хотів написати статтю, присвячену безпеці сайтів на Joomla. Останнім часом почастішали зломи сайтів на Joomla, і не тільки на ній. Злому піддаються будь-які CMS (наприклад: Виявлена ​​небезпечна уразливість в кешируєтся плагинах для WordPress ). Методи зараження завжди однотипні: це зараження сайтів вірусами-троянами, установка бекдоров (backdoor). З цим боротися можна, і досить просто. Є ряд рішень з безпеки для сайтів на Joomla. Отже, обговоримо.

Безопаность сайту на Joomla варто розділити на частини:

  1. Налаштування .htaccess.
  2. Налаштування веб-сервера Apache.
  3. Права файлової системи.
  4. Оновлення CMS Joomla.
  5. Видалення розширень Joomla.
  6. Оновлення розширень Joomlа.
  7. Не використовуйте варезні розширення.
  8. Установка розширень безопаности.
  9. Складні паролі до облікового запису адміністраторів.
  10. Створення сторінки 404.

Безпечна настройка сервера / хостингу

Це найважливіша частина, Багато сайтобудівники не задаються питанням безпеки самого хостингу, де розміщуються сайти. А це поширена помилка. Це треба робити в першу чергу. Всі хостинги надають послугу, як є. Тільки на деяких майданчиках вже зроблена тонка настройка хостингу / сервера.

використовуйте .htaccess

Блокувати типові спроби експлоїта можна за допомогою файлу .htaccess, який повинен знаходиться в корені сайта.По замовчуванням ця функція не включена на всіх серверах. Використовуючи файл .htaccess, ви зможете захистити з його допомогою важливі директорії, наприклад, такі, як administrator, можна блокувати доступ на сайт з певних IP-адрес. І ще багато чого можна зробити, про це напишемо трохи нижче.

Сам дистрибутив Joomla вже йде в комплекті з налаштованим файлом .htaccess, залишається тільки перейменувати його з htaccess .txt в .htaccess. І почнемо настройку.

  • Перед внесенням змін до файл .htaccess, зробіть його резервну копію.
  • Зверніть увагу, якщо після перейменування файлу, сайт покаже 500 сторінку, значить хостинг не підтримує .htaccess. Зверніться до адміністрації хостингу.
  • Якщо при внесенні нижченаведених інструкцій ви знову побачите 500 сторінку, значить хостинг не підтримує будь-які команди з цього файлу.

Заборона виконання файлів в корені сайту

## Початок - Заборона на виконання php-скриптів в корені сайту <Filesmatch ". (Php) $"> order deny, allow deny from all </ Filesmatch> <Filesmatch "^ index.php"> order allow, deny allow from all </ Filesmatch> <Filesmatch "^ index2.php"> order deny, allow allow from all </ Filesmatch> ## Кінець - Заборона на виконання php-скриптів в корені сайту

Заборона доступу до xml-файлів розширень

## Код заборони доступу до xml-файлів розширень (розкоментуйте для активації) <Files ~ "\ .xml $"> Order allow, deny Deny from all Satisfy all </ Files> ## Кінець коду заборони доступу до xml-файлів

Блокування прямого доступу до ядра

Дане рішення закриє доступ до бекдоров, тим самим збільшуючи безпеку сайту на Joomla. З особистого досвіду, часто сайт заражається бекдоров під назвою FileMan. При віддаленому виклику ви отримуєте повний доступ до файлової системи, ви можете змінювати будь-які файли, при цьому залишаючи дату останньої зміни, а не поточних. Знайшли такі бекдоров в папці modules. приклади:

  • /modules/mod_system/mod_system.php
  • /modules/mod_systems/mod_system.php
  • /modules/mod_article/mod_system.php
  • /modules/mod_articles/mod_system.php
  • /modules/mod_articless/mod_system.php

Створити новий файл. htaccess. Додати інструкцію, яка вказана нижньо. Вона забороняє виконання скриптів. Додати його в усі папки кореня сайту.

## Блокування прямого доступу до ядра <Files ~ ". (Php) $"> Deny from all </ Files>

Налаштування Apache

Тепер перейдемо до налаштування безпеки веб-сервера Apache, він обробляє PHP-код і повертає браузеру HTML-код. Його теж треба налаштувати. Тут може виникнути ряд труднощів, оскільки не на всіх серверах є доступ до файлу php.ini (в ньому зберігається конфігурація Apache). Можна спробувати конфігурувати через .htaccess.

Встановіть модуль mod_security

ModSecurity - модуль Apache, який додає можливості виявлення і запобігання вторгнення на Web-сервер.

На жаль ви самі не зможете цього зробити, радимо звернутися до адміністрації хостингу або до адміністратора виділеного / вірутальних сервера. Вони повинні встановити і конфігурувати цей модуль.

Використовуйте PHP версії 5.0 і вище.

Версія 4.0 вже вважається застарілою, і деякі функції вважаються небезпечними.

Не варто боятися включити, наприклад, версію 5.3 для Joomla гілки 1.5. CMS буде чудово працювати.

Використовуйте локальний php.ini

Деякі хостинги дозволяють використовувати власний файл конфігурації Apache, який знаходиться в корені сайту. Якщо така можливість є, не пропустіть її.

Налаштування php.ini

Налаштування проста. Ось рекомендовані настройки безпеки Apache. Все описувати детально не буду, більш детальну документацію зможете знайти на сайті docs.joomla.org .

disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open open_basedir = / home / users / you / public_html: / tmp magic_quotes_gpc = 0 safe_mode = 0 register_globals = 0 allow_url_fopen = 1 allow_url_include = 0

Якщо немає можливості налаштувати php.ini, то можна спробувати прописати в .htaccess.

php_flag register_globals Off php_flag file_uploads On php_flag allow_url_fopen off php_flag magic_quotes_gpc On php_flag magic_quotes_runtime Off

Права в файлової системі

Якщо дистрибутив Joomla встановлений на веб-сервері Apache з mod_php, то все віртуальні хости на цьому сервері працюють в тому ж контексті, що і Joomla. Якщо файли належать іншим користувачем, наприклад «nobody» або «wwwrun», найбезпечнішим рішенням буде змінити власника, використовуючи FTP-клієнти (FilleZill, Total Commander і etc) і встановити правильні права доступу. Вони такі:

  • Коренева директорія 750 (наприклад public_html)
  • файли 644
  • Директорії 755 (711 якщо ви параноїк, але не для директорій, які повинні бути перераховані, наприклад images)

Оновлення CMS Joomla

Дуже важливий крок. Оновити систему треба, так як розробники періодично закривають дірки в ядрі. Наприклад, останній білд для 1.5 є 1.5.26. Завантажити релізи оновлень можна на сайті joomla.org . Там же знайдете пакети оновлень і для новіших версій.

Перед оновленням обов'язково створіть резервну копію всього сайту, використовуючи інструменти, які надає хостинг або скористайтеся компонентом Akeeba Backup .

Видалення розширень Joomla

Багато сайтобудівники ставлять поспіль всі розширення, які знаходять. Здебільшого всі вони не приносять користі і мають купу дірок, через які зловмисник може отримати повний доступ до сайту або заразити сайт на Joomla вірусом. Так що треба визначитися, чи потрібен вам віджет годин на сайті? Краще видалити невикористовувані розширення і залишити тільки дійсно корисні.

Оновлення розширень Joomlа

Обов'язково стежити за релізами, особливо актуально для Joomla 1.5. У версії 1.6 і вище вже створена система репозиторіїв, які дозволять автоматично оновлювати розширення. Одне з часто зламують розширень - це застарілий візуальний редактор JCE. Є більш сучасний, зручний і безкоштовний редактор JCE для всіх версій Joomla.

Не використовуйте варезні розширення

Часто зараження сайту на Joomla відбувається через розширення, викачані з варезних сайтів. У 100% випадків ви вже там знайдете вірус. Так що шукайте безкоштовні аналоги у авторів, або купуйте. Розширення не завжди дорого коштують. 10-15 $ вас не розорять, зате це зробить ваш сайт більш безпечним, заодно отримаєте найостаннішу версію.

Установка розширень безпеки

Є ряд корисних розширень для Joomla, який значно підвищить безпеку вашого сайту. Наведу їх список.

  1. Admin Tools - шикарний інструмент реальної безпеки. При цьому я рекомендую придбати професійну версію (вона коштує всього 20 Євро), зате ви отримаєте майже максимальну безпеку. порівняння версій
  2. jHackGuard - цікавий плагін від SiteGround, що дозволяє істотно підвищити безпеку сайту. HackGuard забезпечує захист від таких видів злому, як: SQL-ін'єкції, віддалені включення URL / файлів, віддалене виконання коду, а також захист від XSS-атак.
  3. AI-Bolit - Скрипт (не розширення) для пошуку вірусів і шкідливих скриптів на сайті. Інструкція по його використанню - у коробці.
  4. Shell and Backdoor Script Finder - вірусний сканер сайту, у нього більш просунуті бази, ніж у AI-Bolit.

Складні паролі до облікового запису адміністраторів

У мене є впевненість, що більшість сайтів на Joomla можна зламати за допомогою пари логіна admin і пароль 1234. Це неприпустима недбалість. Такий пароль з логіном підбирається в лічені секунди. Якщо ви відчуваєте труднощі з генерацією складних паролів, то скористайтеся сервісом pasw.ru .

Створення сторінки «404»

Ну, про це я писав уже двічі: Посадкова 404 сторінка і Як створити 404 сторінку в Joomla 1.5.xx . Ви ж не хочете побачити ось таку нудну сторінку:

Ось, в принципі і все. Цих кількох простих дій достатньо, щоб ваш сайт жив і процвітав. Безпека понад усе.

Додати коментар

Так що треба визначитися, чи потрібен вам віджет годин на сайті?