0 Пользователей и 1 Гость просматривают эту тему.
  • 96 Ответов
  • 93311 Просмотров
*

Sulpher

  • Живу я здесь
  • 2112
  • 401 / 16
  • Шаблоны и расширения Joomla
Joomla! очень популярная во всем мире CMS. По этой причине, хакеры часто пытаются найти способы взлома сайта на Joomla!. Ниже приведены семь советов по оптимизации безопасности вашего сайта на Joomla!

Но для начала общие моменты.
Всегда помните, что нужно делать регулярное резервное копирование веб-сайта и базы данных. Если сайт таки хакнули, то вы всегда сможете поднять сайт из последнего бэкапа. Обязательно выясните какое расширение послужило дырой для атаки и постарайтесь его заменить на более надежное.

Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных
Большинство SQL инъекций, которые написаны для взлома сайтов на Joomla! пытаются получить данные из таблицы jos_users. Таким образом, они могут получить имя пользователя и пароль для супер администратора сайта. Изменение стандартного префикса оградит вас от (большинства / всех) SQL инъекций.

Вы можете задать префикс базы данных при установке Joomla! Если вы уже установили и хотите изменить свой префикс, выполните следующие действия:
  • Войдите в панель управления Joomla!
  • Зайдите в «Общие настройки»->«Сервер» и найдите панель «Установки базы данных».
  • Там измените ваш префикс на любой произвольный (например: fdasqw_) и нажмите кнопку Сохранить.
    *Когда вы это сделаете, сайт на время выйдет и строя, но следующее действие исправит это.
  • Зайдите в PhpMyAdmin для доступа к базе данных.
  • Перейдите на вкладку экспорт, оставить все значения по умолчанию и нажмите кнопку «Пуск/Пошел». Экспорт данных может занять некоторое время.
  • Когда все будет сделано, выделите весь код и скопируйте его в блокнот (или любой другой текстовый редактор), на всякий случай сохраните файл.
  • В PhpMyAdmin выберите все таблицы, и удалите их. Обязательно убедитесь, что вы сохранили экспортированный до этого код, иначе потеряете данные сайта!
  • В редакторе, выполните поиск и замену (как правило, Ctrl + H). Сделайте поиск по jos_ и измените его на ваш новый префикс (например: fdasqw_). Нажмите «Заменить все».
  • Выберите все в редакторе и скопируйте. В PhpMyAdmin, перейдите на SQL, вставьте запросы (то, что вы скопировали в редакторе) и нажмите кнопку Пуск.

Удалите номера версий / название расширений
Большинство уязвимостей проявляются только в конкретном выпуске конкретных расширений. Показывать номер версии расширения это действительно плохо. Вы можете сократить такие сообщения только до названия расширения, выполнив следующие действия:
  • Скачайте нужные файлы расширений с вашего сервера.
  • Откройте редактор кода.
  • Откройте любой из файлов расширений, которые вы только что загрузили на ваш компьютере.
  • И начните поиск необходимого вам словосочетания, где указана версия расширения. Если вы не знаете в каком конкретно файле искать, то можно воспользоваться поиском по всему каталогу расширений.
  • Установите параметры поиска по словосочетанию «Версия мое расширения 2.14»(Это для примера) и нажмите "ОК".
  • Когда найден искомый запрос, удалите номер версии.
  • Загрузка измененный файл на сервер и убедиться, что были внесены изменения.

Используйте SEF компоненты
Большинство хакеров используют «Google inurl: команду» для поиска уязвимостей для эксплойтов. Используйте Artio, SH404SEF или другой компонент SEF для того, чтобы переписать ссылки и помешать хакерам найти возможность эксплойта. Кроме того, вы получите более высокий ранг в Google при использовании дружественных URL для поисковика. (я бы рекомендовал для этих целей использовать стандартный SEF Joomla с mod_rewrite - прим.Sulpher)
Используйте самые свежие версии Joomla! и расширений

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

Установка CHMOD 777 или 707 для файлов или папок необходима только тогда, когда скрипт должен записать что-либо в этот файл или каталог. Все остальные файлы должны иметь следующую конфигурацию:
    * PHP-файлы: 644
    * Файлы конфигурации: 666
    * Другие папки: 755

Удаляйте остатки файлов
Когда вы установили расширение, которое вам не понравилось, не оставляйте расширение просто неопубликованным. Если вы так сделаете, уязвимые файлы будут по-прежнему на вашем сайте. Поэтому просто воспользуйтесь деинсталлятором для полного удаления расширения.
Измените ваш .htaccess файл

Добавьте следующие строки в .htaccess файл, чтобы заблокировать некоторые основные эксплойты.

Код
########## Начинаем запись правил чтобы заблокировать основные эксплойты
#
# Блокируем любой скрипт пытающийся получить значение mosConfig через URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Блокируем любой скрипт который содержит тег < script> в URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2)
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
# Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden!
RewriteRule ^(.*)$ index.php [F,L]
#
########## Заканчиваем запись правил чтобы заблокировать основные эксплойты

Для получения дополнительной информации по безопасности Joomla! посетите следующие ресурсы:

Также следите за сайтами уязвимостей Joomla!:

Источник статьи
*

DanielSan

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
При добавлении текста в файл .htaccess выдаёт вот это. А так хорошие советы... а не стоит ли вообще удалять все половые признаки плагинов и самой Joomla? (знаю что это не красиво, но я вижу в инструментах для админов в Google названия некоторых приложений светятся в ключевых на сайте)

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
with Suhosin-Patch Server at Port 80
*

Beer

  • Завсегдатай
  • 1094
  • 41 / 1
  • БИРУ - БИР!
Сначала добавил, а потом дочитал...
*

Sulpher

  • Живу я здесь
  • 2112
  • 401 / 16
  • Шаблоны и расширения Joomla
При добавлении текста в файл .htaccess выдаёт вот это.
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Значит что-то сервер не кушает - последовательно комментируйте каждую строчку и найдите ту, которая вешает сервер. У меня такое тоже было, кажется, вот это:
Код
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
*

Magnum

  • Захожу иногда
  • 269
  • 14 / 0
  • magnumblog.space
Заранее извиняюсь за свою неопытность.. ибо не шибко силен в синтаксисе .htaccess
Но из все здесь сказанного я понял что нужно заменить код:
Код
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]

На тот что приведен в первом посте.

Но к примеру некоторые моменты очень даже не ясны, например в чем отличие:
Код
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
от:
Код
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
В чем преимущество?
Я не волшебник. Я всего лишь учусь!
*

Toliman

  • Захожу иногда
  • 85
  • 3 / 0
Изменил префикс таблиц по используя вышесказанное,  все работает, вот только часть таблиц со старым префиксом (jos_) в БД остались, в частности jos_users. Что с ними делать? Удалить?
*

era

  • Администратор
  • 1587
  • 391 / 5
  • В туалете лучше быть пользователем, чем админом.
Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных
Большинство SQL инъекций, которые написаны для взлома сайтов на Joomla! пытаются получить данные из таблицы jos_users. Таким образом, они могут получить имя пользователя и пароль для супер администратора сайта. Изменение стандартного префикса оградит вас от (большинства / всех) SQL инъекций.
эээ, а почему-бы им (SQL-инънекциям) не обращаться в #__, зачем обязательно к jos_ ?
*

Amazonka

  • Захожу иногда
  • 56
  • 0 / 0
  • (Я только учусь) Респект знающим!

1)
  • В PhpMyAdmin выберите все таблицы, и удалите их. Обязательно убедитесь, что вы сохранили экспортированный до этого код, иначе потеряете данные сайта!
1) удалила все Базы - справа написал "Таблиц в базе данных не обнаружено." - верно?
ой, чтото не то сделала наверное. тренируюсь на пустом сайте, чтобы потом отладить рабочий.
« Последнее редактирование: 30.03.2010, 01:28:37 от Amazonka »
*

Toliman

  • Захожу иногда
  • 85
  • 3 / 0
Теперь экспортируйте их (таблицы с измененным префиксом) sql запросом.
*

Amazonka

  • Захожу иногда
  • 56
  • 0 / 0
  • (Я только учусь) Респект знающим!
Теперь экспортируйте их (таблицы с измененным префиксом) sql запросом.
отредактировала , делаю запрос sql - вставляю. пишет

Ошибка
SQL-запрос:
-- -- База данных: `такая-то`
--CREATE DATABASE `такая-то` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ответ MySQL: Документация
#1007 - Can't create database 'такая-то'; database exists   

ничего не создает. не пойму в чем дело?
*

Amazonka

  • Захожу иногда
  • 56
  • 0 / 0
  • (Я только учусь) Респект знающим!
"Выберите все в редакторе и скопируйте." - что значит выберете? скопировать то, что jos_ измененное?
*

Toliman

  • Захожу иногда
  • 85
  • 3 / 0
Да то что jos_ измененное
*

matey

  • Новичок
  • 2
  • 0 / 0
А где ещё два совета? Написано, что семь, а всего пять
*

puzzin

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
а еще поставьте пароль на папку administrator
и еще доступ по ай-пи...
все это в htaccess

Вот и 7
*

Amazonka

  • Захожу иногда
  • 56
  • 0 / 0
  • (Я только учусь) Респект знающим!
а еще поставьте пароль на папку administrator
и еще доступ по ай-пи...
все это в htaccess

Вот и 7
каким способом поставить пароль на папку administrator?  можно поподробнее -пошагово, где прописать?
*

puzzin

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
каким способом поставить пароль на папку administrator?  можно поподробнее -пошагово, где прописать?
http://www.beget.ru/art9.html#passwd
*

hardstep

  • Захожу иногда
  • 76
  • 5 / 0
Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных
каким образом злоумышленник узнает имя БД?
*

xukvagpam

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
спасибо, помагло
*

lok

  • Захожу иногда
  • 60
  • 1 / 0
а если у меня в базе еще и форум phpbb3  с другим суфиксом? тоже его удалять?
*

puzzin

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
а если у меня в базе еще и форум phpbb3  с другим суфиксом? тоже его удалять?
форум оставь в покое... там главное вовремя обновляться
*

bobbiz

  • Новичок
  • 7
  • 0 / 0
  • ituman.com.ua
Чтобы изменить префикс вот php файлик...

Код
<?php

/**
 * @author Bobbiz
 * @copyright 2010
 */
$mysqlhost = 'localhost';
$mysqluser = 'user';
$mysqlpass = 'pass';
$mysqldb = 'base_db';

$myprefix = "prfx_";

// Create database connection and select database
$db = @mysql_connect($mysqlhost, $mysqluser, $mysqlpass) OR die('Can not connect to DB-Server!');
$db_select = @mysql_select_db($mysqldb) OR die('Can not select DB!');

$query1 = "show tables;";
$result1 = @mysql_query($query1) or die("Cant get tables");
echo "Tables selected <br />\n";
while ($row = mysql_fetch_array($result1, MYSQL_NUM)) {
    $renamed = str_replace("jos_", $myprefix,"$row[0]");
    $q="ALTER TABLE $row[0] RENAME TO $renamed";
    $r = @mysql_query($q) or die("Cant rename table $row[0]");
}
echo "All Tables renamed <br />\n";
echo "New prefix is $myprefix <br />\n";

?>

Советую сначала выключить сайт чтобы небыло запросов, а потом изменить префикс в configuration.php

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

AlexSF

  • Давно я тут
  • 678
  • 68 / 0
  • В споре истина рождается
Как вариант способа изменения префикса БД могу предложить использовать восстановление из БекАпа (Akebaba), на чистую.
Дел на 3 минуты, а изменить можно почти всё.
 
Задаёте вопрос - не забудьте приложить ссылку на проблемный сайт
При проблеме с CSS рекомендую использовать Mozilla Firefox и её плагин FireBug
И по максимуму изучите, или поставьте в закладки - http://htmlbook.ru/css
Notepad++ поможет почти в любом деле
*

Delfinov

  • Захожу иногда
  • 52
  • 0 / 0
Вопрос для бывалых:
при изменении префикса  jos_ на другой в базе сквеля, плагины будут работать? Т.е. в скриптах плагинов и прочих дополнениях пишут префиксы jos_ ?
*

stepan39

  • Захожу иногда
  • 497
  • 27 / 0
Вопрос для бывалых:
при изменении префикса  jos_ на другой в базе сквеля, плагины будут работать? Т.е. в скриптах плагинов и прочих дополнениях пишут префиксы jos_ ?
Не бывалый. Все отлично работает. С SEO больше проблем.
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Посоветовал бы еще использовать расширения типа JMonitoring и Eyesite для контроля изменений файлов и папок сайта.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

nfrfz86

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Попробовал следовать рекомендациям по переименованию jos_. В результате получил полный крах. >:(
 Создал тему для разбора - http://joomlaforum.ru/index.php/topic,129866.0.html Может Вы поможете?  !
*

akgel

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Огромное спаисбо за подробную инструкцию по смене префикса БД. Я уже было загрустил, что сайт заново делать. Постараюсь прислушаться и к остальным советам по безопасности. ^-^
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
для замены перфикса jos_ можно использовать компонент easysql
http://extensions.joomla.org/extensions/hosting-a-servers/database-management/2867?qh=YToxOntpOjA7czo3OiJlYXN5c3FsIjt9
после чего советую компонент удалить.
« Последнее редактирование: 22.10.2010, 09:32:17 от Hot_Gomer »
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

aharito

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
  • Мировой разум

Все остальные файлы должны иметь следующую конфигурацию:
    * PHP-файлы: 644
    * Файлы конфигурации: 666
    * Другие папки: 755


Вот насчёт прав 666 на файлы конфигурации я что-то вообще не понял.
То есть для configuration.php вы предлагаете дать ВСЕМ права на запись в этот файл чего угодно?
Или я чего-то не понимаю?
*

Cop

  • Осваиваюсь на форуме
  • 28
  • 1 / 0
А у меня почему то после замены префикса, не производится запрос с скопорванным текстом базы, пишет #1007 - Can't create database; database exists. В чём может быть дело?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вирус редирект или взлом с редиректом Joomla 3.10

Автор Wany205

Ответов: 1
Просмотров: 879
Последний ответ 25.05.2023, 08:49:57
от Театрал
Скрипты защиты Joomla 4

Автор mister_boy

Ответов: 6
Просмотров: 1076
Последний ответ 16.05.2023, 16:38:58
от mister_boy
Поставил Joomla 4. Хостинг nic.ru стал ругаться на ошибки безопасности

Автор Oleg+

Ответов: 5
Просмотров: 1362
Последний ответ 13.09.2021, 09:23:28
от Oleg+
Joomla 1.5 и 2.5 на одном хостинге

Автор andreU

Ответов: 28
Просмотров: 13103
Последний ответ 25.04.2021, 19:42:48
от rsn
Заражены файлы картинок движка Joomla 3

Автор krog

Ответов: 5
Просмотров: 1275
Последний ответ 16.04.2021, 08:16:45
от Taatshi