Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > DataLife Engine > Инструкции, модификации и статьи для DLE
Расширенный поиск

Инструкции, модификации и статьи для DLE Сборник инструкции, модов и статей по движку DataLife Engine

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2011, 17:56 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо Защищаем свой сайт DLE от кулхацкеров

Защищаем свой сайт DLE от кулхацкеров

Преамбула:
Нажми для просмотра
Написать эту статью меня поддёрнул вчерашний инцедент, короче хакнули один из моих сайтов. Залили шел, вставили ссылок в шаблоны и подключили вредоносный код в шаблон. Сайт просто утонул и гугл с яндексом на него "обиделись", посещуха упала в 10 раз. Мне конечно стало обидно и я решил разобраться с вопросом защиты своего сайта и заодно поделиться своим опытом.


Итак, хакнули у меня сайт на DLE 8.5, я решил попробовать поискать причины и методы взлома сайта. Для того чтобы понять как защищаться, надо сначала узнать как сайты ломают. Поэтому я полез на хацкерские ресурсы, покурил много мануалов и даже наткнулся на статьи в которых описывалось как что делать, что полностью совпадало с тем что мне сделали. Итак, для начала я вам в кратце расскажу что обычно делают взломщики, если это интересно - читайте материалы под спойлером, т.к. в целом темы защиты не касается.

Как обычно ломают сайты:
Нажми для просмотра
Всем известно что DLE скрипт самый распространенный и поэтому его постоянно проверяют на уязвимости всякие кулхацкеры и некоторым удается найти дыры о которых они молчат. Большинство же "школьных" кулхацкеров пользуются материалами которые есть в паблике, а именно они заливают Шелл (shell). Для этого обычно нужны права админа которые можно получить каким то хитрым способом, который я не нашел. Дальше в админке они заходят в настройки сайта и в меню загрузки файлов добавляют расширение php и загружают через стандартный аплоадер php файлы (а именно шел). Через него они уже могут свободно оперировать файлами вашего движка и базой. Ну естественно теперь они получают полную свободу действий. На этом собственно я пока и закончу мой мини файк о том как ломают.
Вот пример одного из старых шелов:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Обзор уязвимостей DataLife Engine:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.


Осмыслив выше описанное я понял что для наибольшего противодействия заливке шела нужно закрыть доступ к возможности выполнения скриптов в папке аплоад, для этого в корень папки upload нужно вложить файл: .htaccess с содержимым:

Код:
<FilesMatch ".*">
   Order allow,deny
   Deny from all
</FilesMatch>
<FilesMatch "\.(jpg|gif|png|xml)$|^$">
   Order deny,allow
   Allow from all
</FilesMatch>
Этим действием мы перекрываем возможность выполнять или обращаться к файлам с расширениями отличными от jpg|gif|png|xml. Оставляю для доступа форматы картинок и xml карту сайта. На всякий случай наставлю на сам файл .htaccess права CHMOD 444, чтобы их было нельзя изменить скриптом или еще как (или отредактировать файл) , а только из под FTP.
Дальше, подобный файл стоит затолкать в папку с шаблонами, только внести в него дополнительно tpl, css, html.

Если у Вас DLE 9.х и старше, то на папку upload обязательно поставьте права CHMOD 0777, это автоматически запрещает выполнение php скриптов в данной папке на уровне самого скрипта.

Допустим мы не дадим теперь залить им шел, но они могут вставить в код шаблона какой нить левый скрипт или навтыкать ссылок через редактор шаблонов дижка. Лично я не фанат этого редактора и редактирую все шаблоны всегда из под FTP, поэтому попрощаться с этим редактором мне не страшно и я просто беру и ставлю на все tpl файлы шаблона права CHMOD 444, этим самым я запрещаю редактировать файлы шаблона абсолютно всем и из скрипта уже ничего не сделать. Так, эту дырочку мы тоже залотали.

Что еще может сделать взломщик ? забрать базу данных. Он зайдет в менеджер управления базой данных, сделает бэкап базы и сольет ее, если версия вашего DLE ниже чем 9.0. Что делать ? да все просто, нужно в папке backup разместить .htaccess с содержимым:

Код:
Order Deny,Allow
Deny from all
Все, бэкапы можно сливать только из под FTP.

Защита файла админпанели:
Идем дальше, что еще стоит защитить. Стоит спрятать панель администратора, переименуйте файл admin.php во что нибудь еще и укажите в настройках системы новое имя файла admin.php. Сохраняемся, панель админа перепрятали.

Так же если у Вас статический IP, то можно сделать ход конем и отсечь доступ к панели всем кто захочет в нее прорваться, для этого в конец корневого файла .htaccess прописываем:

<Files "admin.php">
Order Deny,Allow
Deny from all
Allow from 95.106.70.220
</Files>

Где admin.php - имя файла админки, а 95.106.70.220 - Ваш IP. В этом случае в адмику зайдет только владелец IP 95.106.70.220, остальные получат 500-ую ошибку сервера.

Если у Вас динамический IP адрес, то страшного ничего нет. Заходим по ссылке http://2ip.ru/whois/ и смотрим информацию о своем IP, в самом конце находим строку типа: route: 95.106.0.0/17 , это диапазон динамических IP адресов которые есть у Вашего провайдера. нужно скопировать этот диапазон и поставить его вместо статического IP, например вот так:

<Files "admin.php">
Order Deny,Allow
Deny from all
Allow from 95.106.0.0/17
</Files>

Теперь в админку можно зайти с IP адресов Вашего провайдера, тут шанс взлома резко падает )

Запрет запуска любых левых скриптов (повышаем надежность защиты):

Открываем корневой .htaccess и дописываем в него строчки:

Код:
<FilesMatch ".(php|h|c)$">
Order allow,deny
Deny from all
</FilesMatch>

<FilesMatch "(index.php|go.php|ajax.php|download.php)$|^$">
Order deny,allow
Allow from all
</FilesMatch>
Что это делает. Эта секция запрещает вызов любых скриптов кроме index.php, go.php, ajax.php и download.php, которых достаточно для работы Вашего сайта. Если Вы заметили что какой то элемент сайта отвалился - то тупо подключите его в эту секцию, например чтобы работала админка - допишите |admin.php в конец, получится вот так:

Код:
<FilesMatch "(index.php|go.php|ajax.php|download.php|admin.php)$|^$">
Order deny,allow
Allow from all
</FilesMatch>
Туда же можно включить скрипт вылова голосования vote.php, я думаю что дальше все понятно. Таким макаром если будет залит какой либо скрипт, его не смогут выполнить. Вот такая вот политика партии.

+++++++++++++++

Так же сидел и думал, а если все же этим товарищам удастся попасть в админку и каким нить чудным способом залить мне шел или что то испортить. Для того чтобы залить шел, им нужно будет разрешить к загрузке тип файлов и добавить php. Я подумал и придумал. Короче говоря я выставляю все настройки в Основных настройках системы так как мне надо и я понимаю что изменю теперь тут может что нить раз в 100 лет, т.к. я обычно настройки не меняю. Теперь я перекрываю кислород злоумышленикам, а именно. Я иду в папку engine/data/ и ставлю на файл config.php и dbconfig.php права 444, по рекомендациям защиты скрипта я выставляю на саму папку data права 765 (это взял тут). Все, теперь настройки системы из адмнки менять нельзя, и соотвественно тип файлов php добавить не получится.

Дальше, на счет шаблонов. Ставить шаблоны надо только проверенные и проверять их самому перед установкой. Об этом я подробно расписывал в статьте: Проверка шаблонов перед их использованием и видео уроке Чистка шаблонов от внешних ссылок и скриптов на примере шаблона DLE.

Дальше, после того как вы переименуете файл админки - зайдите в Антивирус скрипта, сделайте тестирование, там долен быть показан новый файл админки как неизвестный системе файл. Вам предлагается сделать новый снимок - НИКОГА НЕ ДЕЛАЙТЕ ЭТОГО. Почему ? Потому что Вы можете контролировать изменения в ФС, а именно. Если к примеру кулхацкерам все же удастся залить вам шел, то зайдя в антивирус вы его найдете как неизвестный системе файл. А если злоумышленик зальет шел и решит его скрыть от вас сделав новый снимок системы - то он скроет и свой шел и ваш новый файл админки и при очередном сканировании если вы не видите свой файл админки как неизвестный файл - значит что кто то делал снимок и стоит начать копать скрипт.

Полезные советы:
1. После того как вы закончили работать с ftp - обязательно выключайте аккаунт ftp или удаляйте его, если нельзя выключить - это дополнительная защита.

2. Выбирайте нормальных хостеров, из слов одного хакера с сайта античат, он залил шел на сайт через саппорт хостера, дав хостеру всего 10 WMZ. Так что ШКОЛОХОСТ - это не наш выбор.

Автор инструкции: Serberg
Статья написана только из собственных соображений и обобщения полученной по взлому информации. Если найдете недочеты - пишите. Если помог Вам - жми спасибку.
При копировании статьи - ссылка на оригинал обязательна.
Писал долго и нудно, а перед этим много читал. Я думаю ее заслужил )

Последний раз редактировалось Serberg; 06.09.2011 в 18:18..
  Ответить с цитированием
Старый 31.01.2011, 14:09 Вверх   #2
Уважаемая личность
 
Аватар для FreeD
FreeD вне форума
Доп. информация
По умолчанию

Можно поинтересоваться какую смысловую нагрузку несет в себе 765 для каталога? Почему именно 6?
  Ответить с цитированием
Cказали cпасибо:
Старый 31.01.2011, 14:13 Вверх   #3
Знаток
 
Аватар для Forum Bot
Forum Bot вне форума
Доп. информация
По умолчанию Модерация темы!

Эта тема была перенесена из раздела DataLife Engine.

Перенес: Serberg
  Ответить с цитированием
Старый 31.01.2011, 14:26 Вверх   #4
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Цитата Сообщение от FreeD Посмотреть сообщение
Можно поинтересоваться какую смысловую нагрузку несет в себе 765 для каталога? Почему именно 6?
Конечно можно, но не у меня. Я сделал пометку о том где я это взял.
  Ответить с цитированием
Старый 07.02.2011, 01:20 Вверх   #5
Новичок
 
Аватар для Astralka
Astralka вне форума
Доп. информация
По умолчанию

доброго времени суток, меня заинтересовала вот эта тема http://www.bormotuhi.net/showthread.php?t=11279
так как у меня на сайте есть подобного рода проблема. просмотреть я не могу так стоит вот тая надпись:
Обзор уязвимостей DataLife Engine:
Скрытый текст требуется (1 сообщение(ий), сейчас у вас 0):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

подскажите пожалуйста куда мне отправить 1 сообщение?
  Ответить с цитированием
Старый 07.02.2011, 06:11 Вверх   #6
Коренной житель
 
Аватар для vlad360
vlad360 вне форума
Доп. информация
По умолчанию

Astralka, Оффтоп
очень даже интересная тема и может помочь не только владельцам dle
  Ответить с цитированием
Старый 07.02.2011, 09:42 Вверх   #7
Новичок
 
Аватар для Astralka
Astralka вне форума
Доп. информация
По умолчанию

Forsaken я вас не поняла.
  Ответить с цитированием
Старый 07.02.2011, 14:40 Вверх   #8
Коренной житель
 
Аватар для vlad360
vlad360 вне форума
Доп. информация
По умолчанию

Astralka, вы уже отправили одно сообщение а остальная часть сообщения не вам!
  Ответить с цитированием
Старый 16.02.2011, 10:33 Вверх   #9
Знаток
 
Аватар для apelisin
apelisin вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Astralka Посмотреть сообщение
Forsaken я вас не поняла.
Офтоп
Нажми для просмотра
Девушка одним словом...



А за мануал спасибо !!будем защищаться!))
  Ответить с цитированием
Старый 25.02.2011, 19:42 Вверх   #10
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Добавил в первый пост инфу о методе защиты админки с привязкой доступа на определенный IP.

Последний раз редактировалось Serberg; 25.02.2011 в 19:46..
  Ответить с цитированием
Старый 25.02.2011, 19:57 Вверх   #11
Знаток
 
Аватар для Inferno
Inferno вне форума
Доп. информация
По умолчанию

Здесь вроде есть,
Доступ в данную директорию будет разрешён только пользователю с ip xxx.xxx.xxx.xxx
PHP код:
order deny,allow
deny from all
allow from xxx
.xxx.xxx.xxx 
  Ответить с цитированием
Старый 25.02.2011, 21:28 Вверх   #12
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Inferno, директорию то закрывать зачем, я предлагаю ограничить доступ только к файлу админки.
  Ответить с цитированием
Старый 08.04.2011, 12:22 Вверх   #13
::.V.I.P.::
 
Аватар для boxx
boxx вне форума
Доп. информация
По умолчанию

Для версий начиная с 9 добавилась опция безопасности.

Настройка системы - Настройки безопасности скрипта - Максимальное количество ошибочных авторизаций

Укажите максимальное количество ошибочных вводов пароля на сайте, после превышения данного лимита, для IP пользователя будет установлена автоматическая блокировка на 20 минут. Данная мера позволяет предотвратить подбор паролей злоумышленниками к аккаунтам пользователей. Если вы не хотите устанавливать данное ограничение, то оставьте поле пустым.

Можно добавить в мануал.
  Ответить с цитированием
Cказали cпасибо:
Старый 12.04.2011, 16:40 Вверх   #14
Новичок
 
Аватар для x-soft
x-soft вне форума
Доп. информация
По умолчанию

Скрытый текст требуется (1 сообщение(ий), сейчас у вас 0):
Обидно =(
  Ответить с цитированием
Старый 12.04.2011, 17:07 Вверх   #15
::.V.I.P.::
 
Аватар для boxx
boxx вне форума
Доп. информация
По умолчанию

Цитата Сообщение от x-soft Посмотреть сообщение
Обидно =(
Помогло ? )))
  Ответить с цитированием
Старый 13.04.2011, 02:21 Вверх   #16
Новичок
 
Аватар для aragu
aragu вне форума
Доп. информация
По умолчанию

Спасибо, полезное почерпнул.
  Ответить с цитированием
Старый 23.04.2011, 13:20 Вверх   #17
Новичок
 
Аватар для dimlp
dimlp вне форума
Доп. информация
По умолчанию

нужная статья
  Ответить с цитированием
Старый 24.04.2011, 19:13 Вверх   #18
Пользователь
 
Аватар для CRESH
CRESH вне форума
Доп. информация
По умолчанию

Статья очень полезная, я многое из неё взял для защиты своего сайта, хотя с обновлением до 9.2 версии дле, там уже немного есть защиты. Но основное конечно же взято из статьи. спасибо.
  Ответить с цитированием
Старый 09.02.2012, 16:11 Вверх   #19
Пользователь
 
Аватар для abbat24
abbat24 вне форума
Доп. информация
По умолчанию

Спасибо большое за статью!
  Ответить с цитированием
Старый 15.12.2012, 16:15 Вверх   #20
Коренной житель
 
Аватар для RussianSpace
RussianSpace вне форума
Доп. информация
По умолчанию

Спасибо, а то слышал что дле дырка, может сейчас все дыры заклеил
  Ответить с цитированием
Ответ

Метки
datalife engine, dle, безопасность, взлом, защита

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ON-LINE вещание чего либо на свой сайт apelisin DataLife Engine 5 11.10.2010 20:11
Google Поисковик. Как добавить туда свой сайт ? PaSaD SEO (поисковая оптимизация сайта) 3 19.01.2010 17:56
[Статья] Свой сайт и его администрирование (основные моменты) Serberg vBulletin 3.х 2 28.05.2009 06:30
Создай Свой Сайт Spartak Сайтостроение 35 11.05.2009 13:44


Текущее время: 15:32. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.25592 секунды с 12 запросами