Sulpher
Support Team
   
Репутация: +339/-10
Offline
Пол: 
Сообщений: 1492
Миграция на Joomla 2.5 / 3.0
|
 |
« : 10.01.2010, 13:55:35 » |
|
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!: Источник статьи
|
|
|
|
« Последнее редактирование: 10.01.2010, 15:43:07 от Sulpher »
|
Записан
|
|
|
|
| |
Aleks_El_Dia
JComments Tester
Репутация: +339/-0
Offline
Пол: 
Сообщений: 3945
AEDStudio Joomla! Direction
|
 |
« Ответ #31 : 13.11.2010, 02:57:14 » |
|
А у меня почему то после замены префикса, не производится запрос с скопорванным текстом базы, пишет #1007 - Can't create database; database exists. В чём может быть дело?
C чем-чем? Не понято ничего...
|
|
|
|
|
Записан
|
|
|
|
Cop
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 28
|
 |
« Ответ #32 : 13.11.2010, 05:17:12 » |
|
C чем-чем? Не понято ничего...
Ок проясню. 1. В панели управления заменил jos_ на свой префикс, применил. 2. Зашёл в Phpmyadmin через Cpanel хостера(агава), зашёл в экспорт, нажал ок, получил текст, скопировал его в файл. Произвёл поиск замену префикса. Скопировал полученный текст. 3. Зашёл в sql, вставил в поле для запросов полученный после замены префикса текст, нажал пуск, на выходе #1007 - Can't create database; 'название моей базы' database exists. В чём может быть дело?
|
|
|
|
« Последнее редактирование: 13.11.2010, 05:20:27 от Cop »
|
Записан
|
|
|
|
Cop
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 28
|
 |
« Ответ #33 : 13.11.2010, 05:52:39 » |
|
В общем убрал из запроса вот эту строчку -- CREATE DATABASE `моя база` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; USE `моя база`; И запрос в итоге выполнился сайт работает. Я так понял msql не мог создать базу потому что она существует. Пробовал удалять базу/юзера тогда уже пишет ошибку 1044, то есть хостер не даёт создать вне панели. В общем в этой фразе по ходу трабл был.
|
|
|
|
|
Записан
|
|
|
|
Zyklonss
Захожу иногда

Репутация: +2/-0
Offline
Пол: 
Сообщений: 22
|
 |
« Ответ #34 : 15.11.2010, 19:08:32 » |
|
Значит что-то сервер не кушает - последовательно комментируйте каждую строчку и найдите ту, которая вешает сервер. У меня такое тоже было, кажется, вот это: RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR] Не комментировал последовательно каждую строчку, а удалил вот эту и всё нормально стало. Думаю, что для многих серверов такой вариант и будет предпочтительным.
|
|
|
|
|
Записан
|
|
|
|
TTL
Осваиваюсь на форуме
 
Репутация: +10/-0
Offline
Пол: 
Сообщений: 179
Мы друзья, не то что другие))
|
 |
« Ответ #35 : 15.11.2010, 20:06:11 » |
|
для запрета(Железобетонного  ) доступа к админке, создать файл .htaccess вставляем строчки Order Deny,Allow Deny from all Allow from 000.000.00.0 где нули IP админа Размещаем файл .htaccess в папку administrator
|
|
|
|
|
Записан
|
|
|
|
kabban
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 66
|
 |
« Ответ #36 : 23.11.2010, 15:58:31 » |
|
У меня хостер ругается на .htaccess # Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2) RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR] и сайт не запускается, в чем проблема?
|
|
|
|
|
Записан
|
|
|
|
kabban
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 66
|
 |
« Ответ #37 : 23.11.2010, 15:59:58 » |
|
для запрета(Железобетонного  ) доступа к админке, создать файл .htaccess вставляем строчки Order Deny,Allow Deny from all Allow from 000.000.00.0 где нули IP админа Размещаем файл .htaccess в папку administrator ну у большинства динамический IP же.. или подсеть?
|
|
|
|
|
Записан
|
|
|
|
TTL
Осваиваюсь на форуме
 
Репутация: +10/-0
Offline
Пол: 
Сообщений: 179
Мы друзья, не то что другие))
|
 |
« Ответ #38 : 23.11.2010, 23:08:30 » |
|
ну у большинства динамический IP же.. или подсеть?
У меня статичный IP, но можно указать подсеть.
|
|
|
|
|
Записан
|
|
|
|
N-Stor
Захожу иногда

Репутация: +3/-0
Offline
Сообщений: 24
|
 |
« Ответ #39 : 02.12.2010, 01:00:56 » |
|
Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных Большинство SQL инъекций, которые написаны для взлома сайтов на Joomla! пытаются получить данные из таблицы jos_users. Таким образом, они могут получить имя пользователя и пароль для супер администратора сайта. Изменение стандартного префикса оградит вас от (большинства / всех) SQL инъекций.
Довольно странные утверждения: - "они могут получить имя пользователя и пароль для супер администратора сайта" т.к. пароль в открытом виде в БД не хранится, а в полученном из БД виде он бесполезен.
- если доступ к базе данных УЖЕ получен, нет смысла читать из нее имя и пароль (которого там нет) суперадмина, проще прописать свой логин и свох хэш пароля в запись суперадмину, а потом зайти под ними.
- смысла менять префикс таблиц вообще никакого нет, т.к. если уж есть доступ на чтение БД, то имена таблиц (вместе с вашими "хитрыми" префиксами) запрашиваются элементарно
Если уж на то пошло, то даже дефолтная установка mod_sequrity повысит защиту от взлома на несколько порядков.
|
|
|
|
« Последнее редактирование: 02.12.2010, 01:08:24 от N-Stor »
|
Записан
|
|
|
|
kabban
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 66
|
 |
« Ответ #40 : 02.12.2010, 09:33:52 » |
|
Если уж на то пошло, то даже дефолтная установка mod_sequrity повысит защиту от взлома на несколько порядков.
а можно поподробнее как ее юзать?
|
|
|
|
|
Записан
|
|
|
|
|
SinBad
|
 |
« Ответ #41 : 02.12.2010, 09:41:41 » |
|
Довольно странные утверждения: - "они могут получить имя пользователя и пароль для супер администратора сайта" т.к. пароль в открытом виде в БД не хранится, а в полученном из БД виде он бесполезен.
- если доступ к базе данных УЖЕ получен, нет смысла читать из нее имя и пароль (которого там нет) суперадмина, проще прописать свой логин и свох хэш пароля в запись суперадмину, а потом зайти под ними.
- смысла менять префикс таблиц вообще никакого нет, т.к. если уж есть доступ на чтение БД, то имена таблиц (вместе с вашими "хитрыми" префиксами) запрашиваются элементарно
Если уж на то пошло, то даже дефолтная установка mod_sequrity повысит защиту от взлома на несколько порядков. Довольно странные выводы. Ключевая слово в ваших пунктах Уже. Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных Большинство SQL инъекций, которые написаны для взлома сайтов на Joomla! пытаются получить данные из таблицы jos_users. Таким образом, они могут получить имя пользователя и пароль для супер администратора сайта. Изменение стандартного префикса оградит вас от (большинства / всех) SQL инъекций. Это как раз и делается чтобы не было слова Уже имеют доступ к БД.
|
|
|
|
|
Записан
|
|
|
|
|
SmokerMan
|
 |
« Ответ #42 : 02.12.2010, 15:16:26 » |
|
Довольно странные выводы. Ключевая слово в ваших пунктах Уже.Это как раз и делается чтобы не было слова Уже имеют доступ к БД.
да нет, он как раз таки прав. Если есть дыра, то узнать какой префикс у базы не составит труда.
|
|
|
|
|
Записан
|
|
|
|
|
SinBad
|
 |
« Ответ #43 : 02.12.2010, 15:23:25 » |
|
да нет, он как раз таки прав. Если есть дыра, то узнать какой префикс у базы не составит труда.
это понятно, SmokerMan, есть дыры уязвимости которые "дадут" данные не только о префиксе, но и всю базу могут с потрохами сдать. Но надо заметить что совет Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных Большинство SQL инъекций, которые написаны для взлома сайтов на Joomla! пытаются получить данные из таблицы jos_users. Таким образом, они могут получить имя пользователя и пароль для супер администратора сайта. Изменение стандартного префикса оградит вас от (большинства / всех) SQL инъекций. просто лишний раз спасет от инъекции направленной именно на эту "мазоль" в Joomla. Вот и все. Просто если сейчас приводить примеры того что можно сделать найдя дыру в компоненте, можно вывести цепочку, в результате которых можно получить желаемый контроль над всем сайтом.
|
|
|
|
|
Записан
|
|
|
|
N-Stor
Захожу иногда

Репутация: +3/-0
Offline
Сообщений: 24
|
 |
« Ответ #44 : 02.12.2010, 23:30:16 » |
|
Ключевая слово в ваших пунктах Уже.Это как раз и делается чтобы не было слова Уже имеют доступ к БД.
А в том-то и дело, если у хакера есть доступ на чтение из таблицы БД (там написано "прочитать пароль супер-админа" ! ), то уж на чтение списка таблиц есть и подавно, а если нет доступа на чтение списка таблиц, то уж на чтение данных из таблицы и подавно. Здесь речь идет о правах доступа к MySQL, а не к конкретной БД внутри MySQL. А если у него нет доступа к MySQL, то MySQL не даст ему доступа ни на чтение списка БД и имен таблиц в БД, ни, тем более, на чтение из какой-то конкретной таблицы БД. Так что смена префикса таблиц БД - "мертвому припарка". В представленном случае предполагается, что у хакера УЖЕ есть доступ на чтение к БД, раз он "может прочитать пароль супер-админа". Это как раз и делается чтобы не было слова Уже имеют доступ к БД.
Для закрытия доступа к БД надо охранять логин и пароль к MySQL, а не менять префикс таблиц. Если пароля к MySQL не знать, то сколько не запрашивай чтение из "jos_users" ничего не выйдет, MySQL не пустит, это первично. А уж если располагаешь именем и паролем к MySQL, то никакой префикс не спасет! Так что советы надо давать грамотные, а не с потолка.
|
|
|
|
« Последнее редактирование: 02.12.2010, 23:36:01 от N-Stor »
|
Записан
|
|
|
|
N-Stor
Захожу иногда

Репутация: +3/-0
Offline
Сообщений: 24
|
 |
« Ответ #45 : 02.12.2010, 23:31:33 » |
|
а можно поподробнее как ее юзать?
http://www.securitylab.ru/analytics/216322.php
|
|
|
|
|
Записан
|
|
|
|
N-Stor
Захожу иногда

Репутация: +3/-0
Offline
Сообщений: 24
|
 |
« Ответ #46 : 03.12.2010, 13:18:03 » |
|
Но надо заметить что совет просто лишний раз спасет от инъекции направленной именно на эту "мазоль" в Joomla. Вот и все.
Ни от чего он не спасает, поскольку подразумевается, что у хакера УЖЕ имеется логин и пароль к MySQL. А раз логин и пароль есть, то получить имена таблиц - один запрос. А вот если логина и пароля нет, то хакер даже к стандартному "jos_" доступа не получит. А "долбежка" запросами-обращениями по методу SQL-инъекций может быть успешной только в случае неграмотного написания кода без проверки праметров SQL-запроса, что к нашем случае (CMS Joomla!) в расчет не берется, иначе придется признать, что "CMS Joomla!" является небезопасным php-кодом для SQL-инъекций. Могут возразить, что "Кроме самого движка есть еще куча всяких, не всегда корректно написанных расширений". Если принять в качестве довода это утверждение, то тогда ответьте на вопрос: - Реально ли, что хакер, знающий имя таблицы 'jos_users' и имена полей этой таблицы, не знает, в каком файле находятся логин, пароль, и тот же пресловутый префикс таблиц БД?
|
|
|
|
« Последнее редактирование: 03.12.2010, 13:31:52 от N-Stor »
|
Записан
|
|
|
|
andx
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Сообщений: 117
|
 |
« Ответ #47 : 12.02.2011, 19:51:59 » |
|
Cоветую всем, у кого на хостинге есть возможность запускать cron задания, сделать ежедневное (или ежечасное, ежеминутное  ) задание с такой командой: find -iname "*.php" -mtime -1 эта команда выполняет поиск всех измененных файлов php не старше суток. Там еще впишете email куда отсылать результат выполнения команды. Итого теперь я получаю каждые сутки в 00:00 часов письмо примерно с таким содержимым: ./public_html/cache/mod_virtuemart_latestprod/025d6f4947577a8f5276770c476d1d5b.php ./public_html/cache/mod_virtuemart_latestprod/3c870a11d496a950bebe7ac79a883ae8.php ./public_html/cache/mod_virtuemart_latestprod/3ddd23200d69eda344ce50cb745ef866.php ./public_html/cache/_system/d8d1628b87eb4bf2b9abfa76b459c8be.php ./public_html/cache/com_xmap_1/421481315423d67853e9e6c74e22b401.php ./public_html/cache/com_xmap_1/b3a669824fdbc5e5944beb01b57d08f4.php ./public_html/cache/mod_mainmenu/0f63249c215072c5f92d18d4c2026ddb.php ./public_html/cache/mod_mainmenu/47b45fec88fdddc0161e96b25a2d5abd.php ./public_html/cache/mod_mainmenu/edcbf9c64c28224bc57cad4e84c3b70d.php ./public_html/cache/plg_janalyticsvirtuemart/e1f6a55616368b7c057159fc29fa5b7d.php ./public_html/cache/com_content/dc7406e2cd3d44b9b2b78654bcd16585.php ./public_html/cache/com_content/307dadb6773bf7226a647d4422c71b94.php ./public_html/cache/com_content/ab431292b24bc3d08c4c137c7b1ca5c7.php ./public_html/cache/com_content/1c9f1fdec97decebf12241f62178bac4.php ./public_html/cache/com_content/c98afe5a69eb165138156350d4ca16f2.php ./public_html/cache/com_content/1d92b728ceb5b9f8532ade7057f91afb.php ./public_html/cache/com_content/079b6cc93073679a41aa8975d33074b2.php ./public_html/cache/com_content/1e673569b68464d8609f418822e9eb05.php ./public_html/cache/com_content/ff4f08b69d855c6735ec4cbce6bbdb44.php
в нем все видно, какие файлы менялись в последние 24 часа. По папке cache видно что все ок  , в ней всегда чтото записывается. А если бы, к примеру, был какой либо путь другой, скажем содержащий components или administrator, то тут сразу ясно, что был совершен набег хацкеров  . Команду можно настроить по своему усмотрению, следить за вообще всеми файлами, не только php. Use linux shell, Luke  . Таким образом вы облегчаете жизнь сайту, не ставя отдельные компоненты для мониторинга файлов, отжирающие ресурс.
|
|
|
|
|
Записан
|
|
|
|
TTL
Осваиваюсь на форуме
 
Репутация: +10/-0
Offline
Пол: 
Сообщений: 179
Мы друзья, не то что другие))
|
 |
« Ответ #48 : 12.02.2011, 22:54:51 » |
|
Cоветую всем, у кого на хостинге есть возможность запускать cron задания, сделать ежедневное (или ежечасное, ежеминутное  ) задание с такой командой: find -iname "*.php" -mtime -1 эта команда выполняет поиск всех измененных файлов php не старше суток. Там еще впишете email куда отсылать результат выполнения команды. Итого теперь я получаю каждые сутки в 00:00 часов письмо примерно с таким содержимым: ./public_html/cache/mod_virtuemart_latestprod/025d6f4947577a8f5276770c476d1d5b.php ./public_html/cache/mod_virtuemart_latestprod/3c870a11d496a950bebe7ac79a883ae8.php ./public_html/cache/mod_virtuemart_latestprod/3ddd23200d69eda344ce50cb745ef866.php ./public_html/cache/_system/d8d1628b87eb4bf2b9abfa76b459c8be.php ./public_html/cache/com_xmap_1/421481315423d67853e9e6c74e22b401.php ./public_html/cache/com_xmap_1/b3a669824fdbc5e5944beb01b57d08f4.php ./public_html/cache/mod_mainmenu/0f63249c215072c5f92d18d4c2026ddb.php ./public_html/cache/mod_mainmenu/47b45fec88fdddc0161e96b25a2d5abd.php ./public_html/cache/mod_mainmenu/edcbf9c64c28224bc57cad4e84c3b70d.php ./public_html/cache/plg_janalyticsvirtuemart/e1f6a55616368b7c057159fc29fa5b7d.php ./public_html/cache/com_content/dc7406e2cd3d44b9b2b78654bcd16585.php ./public_html/cache/com_content/307dadb6773bf7226a647d4422c71b94.php ./public_html/cache/com_content/ab431292b24bc3d08c4c137c7b1ca5c7.php ./public_html/cache/com_content/1c9f1fdec97decebf12241f62178bac4.php ./public_html/cache/com_content/c98afe5a69eb165138156350d4ca16f2.php ./public_html/cache/com_content/1d92b728ceb5b9f8532ade7057f91afb.php ./public_html/cache/com_content/079b6cc93073679a41aa8975d33074b2.php ./public_html/cache/com_content/1e673569b68464d8609f418822e9eb05.php ./public_html/cache/com_content/ff4f08b69d855c6735ec4cbce6bbdb44.php
в нем все видно, какие файлы менялись в последние 24 часа. По папке cache видно что все ок  , в ней всегда чтото записывается. А если бы, к примеру, был какой либо путь другой, скажем содержащий components или administrator, то тут сразу ясно, что был совершен набег хацкеров  . Команду можно настроить по своему усмотрению, следить за вообще всеми файлами, не только php. Use linux shell, Luke  . Таким образом вы облегчаете жизнь сайту, не ставя отдельные компоненты для мониторинга файлов, отжирающие ресурс. Надо будет попробовать.
|
|
|
|
|
Записан
|
|
|
|
Oleg333
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #49 : 09.05.2011, 11:38:58 » |
|
для запрета(Железобетонного  ) доступа к админке, создать файл .htaccess вставляем строчки Order Deny,Allow Deny from all Allow from 000.000.00.0 где нули IP админа Размещаем файл .htaccess в папку administrator А можно указать не один IP а несколько?И как ето сделать?
|
|
|
|
|
Записан
|
|
|
|
nexter
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 17
|
 |
« Ответ #50 : 16.05.2011, 11:01:59 » |
|
Ни от чего он не спасает, поскольку подразумевается, что у хакера УЖЕ имеется логин и пароль к MySQL. А раз логин и пароль есть, то получить имена таблиц - один запрос.
А вот если логина и пароля нет, то хакер даже к стандартному "jos_" доступа не получит.
А "долбежка" запросами-обращениями по методу SQL-инъекций может быть успешной только в случае неграмотного написания кода без проверки праметров SQL-запроса, что к нашем случае (CMS Joomla!) в расчет не берется, иначе придется признать, что "CMS Joomla!" является небезопасным php-кодом для SQL-инъекций.
Могут возразить, что "Кроме самого движка есть еще куча всяких, не всегда корректно написанных расширений". Если принять в качестве довода это утверждение, то тогда ответьте на вопрос:
- Реально ли, что хакер, знающий имя таблицы 'jos_users' и имена полей этой таблицы, не знает, в каком файле находятся логин, пароль, и тот же пресловутый префикс таблиц БД?
для того чтобы обратиться к бд не обязательно иметь к ней доступ, знать логин и пароль. обращаются посредством sql инъекции в которой и пытаются узнать содержимое jos_users. пример запроса что что обращались ко мне index.php?view=videos&type=member&user_id=-62+union+select+1,2,3,4,5,6,7,8,9,10,11,12,group_concat(0x3a5f,username,0x3a,email,0x5f3a),14,15,16,17,18,19,20,21,22,23,24,25,26,27+from+jos_users--&option=com_jomtube
|
|
|
|
|
Записан
|
|
|
|
|
skforussia
Гость
|
 |
« Ответ #51 : 04.06.2011, 00:38:13 » |
|
спасибо за советы
|
|
|
|
|
Записан
|
|
|
|
Vostok-All
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 182
|
 |
« Ответ #52 : 10.07.2011, 03:23:13 » |
|
Cоветую всем, у кого на хостинге есть возможность запускать cron задания, сделать ежедневное (или ежечасное, ежеминутное  ) задание с такой командой: find -iname "*.php" -mtime -1 эта команда выполняет поиск всех измененных файлов php не старше суток. Там еще впишете email куда отсылать результат выполнения команды. Там - это где? Куда вписывать email ? Если в панели управления Хостинга, так он будет по всем заданиям строчить отчёты....а нам это надо? Непонятная команда, cron запускает на исполнение конкретный скрипт, где этот скрипт? Как в самом скрипте прописать email - отправку по окончании процесса? Вообщем поподробнее бы об этом посте....
|
|
|
|
« Последнее редактирование: 10.07.2011, 04:46:26 от Vostok-All »
|
Записан
|
|
|
|
Vostok-All
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 182
|
 |
« Ответ #53 : 10.07.2011, 03:27:26 » |
|
Чтобы изменить префикс вот 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 а вообще, спасибо за советы, ато ломают пароль администратору, зайти вроде у них не получается, но и у меня тоже, странных глюк (хак). Куда этот красивый код нужно вставить?
|
|
|
|
|
Записан
|
|
|
|
Vostok-All
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 182
|
 |
« Ответ #54 : 10.07.2011, 03:33:05 » |
|
для замены перфикса jos_ можно использовать компонент easysql http://extensions.joomla.org/extensions/hosting-a-servers/database-management/2867?qh=YToxOntpOjA7czo3OiJlYXN5c3FsIjt9 после чего советую компонент удалить.
Из скриншота не усматривается как сам префикс то меняется...
|
|
|
|
|
Записан
|
|
|
|
Vostok-All
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 182
|
 |
« Ответ #55 : 10.07.2011, 03:44:04 » |
|
Видеоурок - "Как защитить админку Joomla".
http://www.evgeniypopov.com/jurnal/vyipusk-41.html#part2
|
|
|
|
|
Записан
|
|
|
|
Vostok-All
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 182
|
 |
« Ответ #56 : 10.07.2011, 03:49:12 » |
|
Удалите номера версий / название расширенийБольшинство уязвимостей проявляются только в конкретном выпуске конкретных расширений. Показывать номер версии расширения это действительно плохо. Вы можете сократить такие сообщения только до названия расширения, выполнив следующие действия: - Скачайте нужные файлы расширений с вашего сервера.
- Откройте редактор кода.
- Откройте любой из файлов расширений, которые вы только что загрузили на ваш компьютере.
- И начните поиск необходимого вам словосочетания, где указана версия расширения. Если вы не знаете в каком конкретно файле искать, то можно воспользоваться поиском по всему каталогу расширений.
- Установите параметры поиска по словосочетанию «Версия мое расширения 2.14»(Это для примера) и нажмите "ОК".
- Когда найден искомый запрос, удалите номер версии.
- Загрузка измененный файл на сервер и убедиться, что были внесены изменения.
Не понятно. В расширении может быть очень много файлов, как формировать запрос?
|
|
|
|
|
Записан
|
|
|
|
Aleks_El_Dia
JComments Tester
Репутация: +339/-0
Offline
Пол: 
Сообщений: 3945
AEDStudio Joomla! Direction
|
 |
« Ответ #57 : 13.07.2011, 15:59:56 » |
|
Не понятно. В расширении может быть очень много файлов, как формировать запрос?
Так и формировать - Версия мое расширения 2.14
|
|
|
|
|
Записан
|
|
|
|
Taniya
Новичок
Репутация: +0/-0
Offline
Сообщений: 4
|
 |
« Ответ #58 : 23.08.2011, 17:18:22 » |
|
Всем здравствуйте! У меня, кажется, пытались взломать сайт. не могу зайти в админпанель. Пишет: Имя пользователя и пароль не совпадают. Что делать, подскажите!
|
|
|
|
|
Записан
|
|
|
|
|
Alldar
|
 |
« Ответ #59 : 23.08.2011, 17:30:17 » |
|
|
|
|
|
|
Записан
|
|
|
|
flat4er
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 29
|
 |
« Ответ #60 : 14.09.2011, 16:34:51 » |
|
При замене префикса jos_ получил проблему: Выберите все в редакторе и скопируйте. В PhpMyAdmin, перейдите на SQL, вставьте запросы (то, что вы скопировали в редакторе) и нажмите кнопку Пуск. когда вставляю запрос и жму ОК, появляется следующее сообщение: Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 5201654 bytes) in C:\AppServ\www\phpMyAdmin\libraries\common.lib.php on line 282
|
|
|
|
|
Записан
|
|
|
|
|