Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 39 Ответов
  • 32295 Просмотров
*

aswer

  • Осваиваюсь на форуме
  • ***
  • 30
  • 4
Ломанули несколько сайтов на оджном аккаунте. Начал искать способы избежать подобных неприятностей в будущем.
Вот мой вариант (он не полный, так как в конце моего топика у меня есть вопросы)
1.   Обновить CMS до последней версии
2.   Обновить все расширения до актуальных версий
3.   Создать файл .htaccess
Спойлер
[свернуть]
Отличается от стандартного. Добавлены строки 69-88
4.   Включить стандартный SEF, либо стороннее ЧПУ
5.   ---
6.   Удалить признаки Joomla:
В версии 2.5 идем по пути: ВАШ_САЙТ/libraries/ Joomla /document/html/renderer/ и в файле head.php находим 99 стр.:
$buffer .= $tab . '<meta name="generator" content="' . htmlspecialchars($generator). '" />' . $lnEnd;  комментируем или удаляем.
7.   Сменить префиксы в БД и файле configuration.php
8.   Удалить не нужные шаблоны, модули, компоненты и плагины (а также их папки и языковые файлы в админке и корне, ну и оставшиеся таблицы в БД, если остались)
9.   Заменить JCE (плагины, компоненты), удалить папки и файлы (admin/languages/Ru-ru – 5 файлов JCE +файлы шаблонов админики) и (languages – файлы JCE + файлы шаблонов)
10.   Создать файл .htaccess (папка-2), запрещающий выполнение скриптов и добавить его во все папки в корне сайта (защита от Бекдора).  Содержимое файла:
<Files ~ ".(php)$">
Deny from all
</Files>
11.   Вынести файл configuration.php за пределы www-директории (у некоторых она называется public_html). Для этого копируем его за ее пределы, возможно рядом с ней, переименовываем например его в "joomla.conf" (это к примеру), а в том, что должен быть в корне Joomla (он будет называться все также - configuration.php) пишем нечто вроде этого:
require( dirname( __FILE__ ). '/../joomla.conf' );
?>
12.   Установить компонент Admin Tools – сменить ID администратора, с его помощью или в ручную очистить содержимое папки tmp (в корне сайта). С его же помощью можно изменить префиксы таблиц и с помощью сервера закрыть прямой доступ к панели администратора.
13.   Создать сложный логин и пароль доступа (Super User) в панели доступа администратора.
14.   Если не на сайте используется модуль регистрации пользователей, то лучше удалить файлы, которые отвечают за восстановление пароля и его сброс. Можно удалить или всю папку com_user (которая находится по пути ВАШ_САЙТ/components) или отдельный файл, отвечающий за сброс - reset.php. Этот файл находится по пути ВАШ_САЙТ/components/com_user/models.
15.   Установить права на файлы и папки: на файлы, которые находятся в корневой директории 444, на папки в корневой директории ставят 755, на папки tmp и logs ставят 705, на папку своего шаблона поставьте 555, на папку image/stories можно поставить 755, на папку Cache 777.
16.   В настройках PHP вашего хостинга нужно запретить работать с удаленными файлами как с ссылками (allow_url_fopen = Off), содержимое файла которое пытались загрузить ни что иное как Shell при помощи которого взломщики получают доступ к вашему сайту через удаленный шелл, даже не загружая его на ваш сайт.
17.   Читал, что есть вариант запрета выполнения скриптов в корне сайта (но у меня не работает тогда админка). Добавить в файл .htaccess код:
<IfModule mod_php5.c>
php_flag engine 0
</IfModule>
18.   Еще есть вопросы по защите таких директорий как images, media и templates.

Что еще я упустил?

*

Ingener

  • Завсегдатай
  • *****
  • 553
  • 5
9.   Заменить JCE (плагины, компоненты), удалить папки и файлы (admin/languages/Ru-ru – 5 файлов JCE +файлы шаблонов админики) и (languages – файлы JCE + файлы шаблонов)

Объясни этот пункт, чем JCE не угодил? у меня на всех сайтах стоит. и есть ли альтернатива?
*

Rex_One

  • Завсегдатай
  • *****
  • 465
  • 36
Видимо имеется ввиду тотальное удаление JCE для удаления возможных дыр, которые могли остаться от предыдущих версий.
Типа того.
Кривизна рук не компенсирует прямизну извилин.
*

ELLE

  • Support Team
  • *****
  • 4583
  • 867
Цитировать
4.   Включить стандартный SEF, либо стороннее ЧПУ
- чем это поможет? запросы с параметрами будут работать как и прежде

Цитировать
6.   Удалить признаки Joomla:
во-первых хак. во-вторых никак не поможет и к теме не относится

Цитировать
14.   Если не на сайте используется модуль регистрации пользователей, то лучше удалить файлы, которые отвечают за восстановление пароля и его сброс.
а как юзерам пароль восстанавливать-то?
*

wishlight

  • Профи
  • ********
  • 3593
  • 220
  • skype aqaus.com
*

Ingener

  • Завсегдатай
  • *****
  • 553
  • 5
У нас в городе почти у всех провайдеров плавающий айпи, отключив нет и войдя снова, вас уже на сайт не пустят
*

draff

  • Практически профи
  • *******
  • 2746
  • 170
  • step by step
Цитировать
на папку Cache 777
И будет дыра. Ставлю 755 и все работает
Цитировать
на папку image/stories можно поставить 755
а как по другому, 777 ?
п.с.
Эт для виртуального хостинга.
« Последнее редактирование: 14.04.2013, 10:54:39 от draff »
*

aswer

  • Осваиваюсь на форуме
  • ***
  • 30
  • 4
И еще по поводу директорий media, templates и media я имел ввиду, может помимо выставления прав вложить .htaccess с содержимым препятствующим выполнение сторонних скриптов?
*

zikkuratvk

  • Профи
  • ********
  • 4040
  • 270
  • Разрабатываем для Joomla
скажу честно 90% советов приведенных в статье либо не поможет, либо принесет вред сайту. (особенно компоненты безопасности и запреты выполнения скриптов с выносом конфигов)
Остальные 10% на на столько избиты и элементарны, что о них даже говорить не стоит.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

zikkuratvk

  • Профи
  • ********
  • 4040
  • 270
  • Разрабатываем для Joomla
Большую часть взломов которые я видел это были через JCE, но лекарство от этого это обновление :-)
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

flyingspook

  • Moderator
  • *****
  • 3610
  • 236
очередная паранойя  ;D
вы поставьте все что можно из имеющихся "псевдо зщит" которые есть на Joomla и спите спокойно, только все ставьте  yes!

все намного проще, перезагрузите свой пк в голове, очистите от избыточных страхов и паранойи, все делается на уровне сервера плюс на сайте минимально через htaccess, остальное бред "сивой кобылы", все плагины защиты, с помощью их сайт не защитить на 100% только нагрузить сервер и поставить возможные дыры которые могут появиться в будущем
и что у всех за бредовые мысли и поиск облегчения
1 вы ставите якобы защиты и думаете спасти сайт этим
2 за ними надо следить обновлять и прочее
3 почему вы не поймете что приходит время для просто админов сайтов, что требуется следить за сайтом и уже вот вот такие люди появятся на зп практически у всех сайтов, они как админ сети становятся просто необходимы
4 если вы следите за этими защитами, то вопрос, а что нельзя было раньше и всегда следить и обновлять сразу все расширения
5 не ищите легких путей, все тропы исхожены до вас, и то что вы сейчас напихаете вам же потом будет мешать даже в простой чистке если будет зарожение

имхо
"совет бесплатный, хочешь слушай, хочешь нет"
не используйте из того что есть для Joomla расширений по защите, с помощью их вы ни чего не защитите, а те же их плюсы как многие пишут их нет они делают то что можно делать самим руками, тот же префикс бд сменить и ид суперпользователя можно и ручками без дополнительной дыры к бд, еще многие dumper на сайтах бросают, а им надо пользоваться только залил выгрузил удалил, а он у них на сайте воляется как должное, и много глупостей сами делают, и потом бред начинается, варьеза на ставят и голову потом себе и окружению захломляют

*

aswer

  • Осваиваюсь на форуме
  • ***
  • 30
  • 4
2flyingspook
Вопрос действительно актуальный, если ты действительно знаешь в этом толк дай конкретные советы с примерами.
Думаю, многие будут тебе очень и очень признательны. Судя по твоей репутации (+121), человек ты действительно знающий.
*

zikkuratvk

  • Профи
  • ********
  • 4040
  • 270
  • Разрабатываем для Joomla
по моему дали вполне нормальный совет... не ставить всякую хрень.
Обновлять сайт вовремя.
И не оставлять явных дыр самому.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

aswer

  • Осваиваюсь на форуме
  • ***
  • 30
  • 4
Совет то действительно правильный, но многие кто сейчас общаются в разделе "Безопасность" уже давно не ставят всякой хрени (в том числе вареза) на свои сайты и обновляются вовремя. Однако это не всегда видимо помогает, поэтому они и пытаются найти ответы на свои вопросы чтобы защитить свои сайты. Но просмотрев большую часть этого раздела я так и не смог найти не одной темы, где бы действительно были даны действенные советы, а большинство вот таких
Цитировать
по моему дали вполне нормальный совет... не ставить всякую хрень.
Обновлять сайт вовремя.
И не оставлять явных дыр самому.
Не в обиду, но пользы от таких топиков не много.
« Последнее редактирование: 14.04.2013, 12:29:51 от aswer »
*

zikkuratvk

  • Профи
  • ********
  • 4040
  • 270
  • Разрабатываем для Joomla
Не в обиду, но пользы от таких топиков не много.
Оставьте... 95% сайтов которые я видел взломанных.
Были с варезом.
ИЛИ
Не обновлялись компоненты и Joomla по пол года а то и год.

Вывод такой если вовремя обновляться и не ставить варез, то вы в шоколаде. Остальное больше даже от хостера зависит чем от вас.
Если хостер требует прав на папку 777 то чего сделаешь косяк :-) от такого хостера тикать надо, а не заниматься настройкой безопасности Joomla.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

Go-destroy

  • Давно я тут
  • ****
  • 222
  • 3
вместо этого
Цитировать
<Files ~ ".(php)$">
Deny from all
</Files>
можно просто в корень добавить

Цитировать
## Блокирование прямого доступа к ядру
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php|\.ini|\.xml [NC]
RewriteCond %{REQUEST_URI} \/components\/ [OR]
RewriteCond %{REQUEST_URI} ^\/includes\/|^\/administrator\/includes\/ [OR]
RewriteCond %{REQUEST_URI} \/language\/ [OR]
RewriteCond %{REQUEST_URI} \/libraries\/ [OR]
RewriteCond %{REQUEST_URI} \/modules\/ [OR]
RewriteCond %{REQUEST_URI} \/plugins\/ [OR]
RewriteCond %{REQUEST_URI} \/templates\/ [OR]
RewriteRule ^(.*)$ index.php [R=404,L]
« Последнее редактирование: 24.05.2013, 23:11:38 от Go-destroy »
Рип шаблонов: 5 wmz
*

Go-destroy

  • Давно я тут
  • ****
  • 222
  • 3
еще думал вот так
Цитировать
Цитировать
## Блокирование прямого доступа к ядру
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php|\.ini|\.xml [NC]
RewriteCond %{REQUEST_URI} \/components\/ [OR]
RewriteCond %{REQUEST_URI} ^\/includes\/|^\/administrator\/includes\/ [OR]
RewriteCond %{REQUEST_URI} \/language\/ [OR]
RewriteCond %{REQUEST_URI} \/libraries\/ [OR]
RewriteCond %{REQUEST_URI} \/modules\/ [OR]
RewriteCond %{REQUEST_URI} \/plugins\/ [OR]
RewriteCond %{REQUEST_URI} \/templates\/ [OR]
RewriteCond %{REQUEST_URI} \/images\/ [OR]
RewriteCond %{REQUEST_URI} \/tmp\/ [OR]
RewriteCond %{REQUEST_URI} \/cli\/
RewriteRule ^(.*)$ index.php [R=404,L]

ну я не знаю верно ли это? кто подскажет?
« Последнее редактирование: 24.05.2013, 23:11:52 от Go-destroy »
Рип шаблонов: 5 wmz
*

rewuxiin

  • Завсегдатай
  • *****
  • 573
  • 32
у меня два магазина стоит на сервере. сервер стоит за фаерволом керио, посему происходит логирование каждой ссылки.
по статистике, за 2 года, сайты банально брутят (подбираю логин и пароль) через админку, для этого ставим простой бесплатный,
http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/22982?qh=YToxOntpOjA7czo2OiJiZnN0b3AiO30%3D
от большинства "калек" считающих себя кулхацкерами отобьетесь, а вот если вас действительно с умом захотят сломать, вам врядли посможет что-то из стандартных способов

пытаются ещё забросать пакетами 110 порт дабы забить канал, но это уже другая история.
*

Go-destroy

  • Давно я тут
  • ****
  • 222
  • 3
у меня два магазина стоит на сервере. сервер стоит за фаерволом керио, посему происходит логирование каждой ссылки.
по статистике, за 2 года, сайты банально брутят (подбираю логин и пароль) через админку, для этого ставим простой бесплатный,
http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/22982?qh=YToxOntpOjA7czo2OiJiZnN0b3AiO30%3D
от большинства "калек" считающих себя кулхацкерами отобьетесь, а вот если вас действительно с умом захотят сломать, вам врядли посможет что-то из стандартных способов

пытаются ещё забросать пакетами 110 порт дабы забить канал, но это уже другая история.
admiaxle обновленый получше будет)
Рип шаблонов: 5 wmz
*

winstrool

  • Завсегдатай
  • *****
  • 758
  • 39
  • Свободен для работы
И еще по поводу директорий media, templates и media я имел ввиду, может помимо выставления прав вложить .htaccess с содержимым препятствующим выполнение сторонних скриптов?
17.   Читал, что есть вариант запрета выполнения скриптов в корне сайта (но у меня не работает тогда админка). Добавить в файл .htaccess код:
<IfModule mod_php5.c>
php_flag engine 0
</IfModule>
вот этот вариант какраз и поможет! если этот файл положить в корень папки а не сайта!, как таковой файл с php сценарием можно будет залить, но он не будет выполняться, будет как обычный текстовый файл.
Вылечу ваш сайт от заразы!
Хочешь проверить свой самописный модуль на баги? пожалуйста! предварительно ознакомтесь с правилами!

Мониторинг обменных пунктов WebMoney по выгодным условиям
*

ChaosHead

  • Профи
  • ********
  • 4683
  • 396
По моему мнению, добрая часть взломов сайтов происходит через заражение компьютера владельца сайта трояном и кражу пароля от ftp.

А потом владелец сайта ищет в своих сайтах кривые компоненты и придумывает защиты.

Поэтому совет: поставить на компьютер проверенный регулярно обновляемый антивирус и соблюдать меры безопасности, например не хранить сохраненные пароли от ftp. И он куда более актуален, чем например "Сменить префиксы в БД", которые Joomla 2.5 и так при установке рандомно генерирует.
« Последнее редактирование: 19.06.2013, 16:29:38 от ChaosHead »
*

Mihanja80

  • Практически профи
  • *******
  • 1954
  • 163
  • Всю жизнь учусь...
Большая часть да, но меня через редактор видимо ломанули, так как ftp сервер я у себя совсем отключил а вот вовремя не обновлялся...
Я с мобильного, в основном...
*

AlexSmirnov

  • Практически профи
  • *******
  • 1932
  • 256
  • Ищите и найдете
Автору темы +1.

Многие из его пунктов упоминаются на документации по безопасности на официальном веб сайте по ссылке http://docs.joomla.org/Security_Checklist
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

oshpz

  • Осваиваюсь на форуме
  • ***
  • 163
  • 5
Цитировать
Делайте на HTML . Безопасно.

К сожалению это больше не так. Сейчас существуют техники взлома через уязвимости называемые DOM XSS. Любое использование на странице JavaScript ставит под угрозу безопасность вашего сайта.

Можно посоветовать не ставить бездумно всевозможные расширения, и главное не использовать код на своем сайте найденный на просторах Интернета :)
Принимаю благодарности в виде +1 в репу :)
*

likrion

  • Завсегдатай
  • *****
  • 753
  • 126
самый верный способ отсекать попытки взлома на уровне сервера (403), с первого запроса вас не взломают, надо не дать сделать последующие, - IP в ban и все, при первом же прямом обращении к ядру или xss или к админке.. не подставляйте 'Вторую щеку' после первого удара.
R331474010295
*

aspidy

  • Живу я здесь
  • ******
  • 1022
  • 54
  • Миграция joomla 1.0-1.5-2.5
самый верный способ отсекать попытки взлома на уровне сервера (403), с первого запроса вас не взломают, надо не дать сделать последующие, - IP в ban и все, при первом же прямом обращении к ядру или xss или к админке.. не подставляйте 'Вторую щеку' после первого удара.
Ядро как раз таки и не ломают, ломают сторонние расширения, магазин, JavaScript и файлы хостера. И самое распространенное - это взлом компьютера админа. Сапа и варез - это совсем открытые ворота.
Мелкий ремонт. skype poisk-plus
*

likrion

  • Завсегдатай
  • *****
  • 753
  • 126
говоря ядро, я подразумевал прямое обращение к файлам сайта вне фронта,

вот один из примеров отловленных в логах
  •        
  • Отключено   bitrix/admin/    
  • Отключено   bitrix/admin/index.php?lang=en    
  • Отключено   blocks/       
  • Отключено   connectors/lang.js.php       
  • Отключено   engine/engine.php    
  • Отключено   fpw.php       
  • Отключено   gallery/       
  • Отключено   images/img.php       
  • Отключено   images/sh.php       
  • Отключено   images/wso.php       
  • Отключено   includes/backup.php       
  • Отключено   includes/wso.php       
  • Отключено   jquery/jquery.php

как я считаю, логичным будет заблокировать IP fllhtc сразу после первого подобного запроса, дабы исключить все дальнейшие попытки найти дырку или как видно из логов, найти shell WSO2.  Вариант конечно не 100%, но для того чтобы найти уязвимость на сайте, взломщик потратит не одну сотню прокси....
R331474010295
*

Ingener

  • Завсегдатай
  • *****
  • 553
  • 5
а как заблокировать сразу? и к тому же они с разных IP лезут
*

Ingener

  • Завсегдатай
  • *****
  • 553
  • 5
мочить говнюков в сортире