Мониторинг неизменности файлов сайта

12 3
KS
На сайте с 11.06.2012
Offline
17
2640

Здравствуйте, уважаемые.

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

Это событие навело меня на размышления о возможной защите от повторения такой ситуации. Первым делом, я конечно постарался закрыть уязвимости, посредством которых мог быть произведён взлом. Но особо больших надежд на этот способ защиты я не возлагаю, ибо как известно, против лома нет приёма, или иначе говоря, не придумали ещё такой сейф, который бы ни один медвежатник не смог вскрыть. Рано или поздно, сайт снова взломают. Но если я хотя бы вовремя узнаю об этом, и приму меры раньше, чем гугл забанит мой сайт, то можно считать, что я минимизирую последствия взлома.

Таким образом я пришёл к вот какой идее: можно еженощно сравнивать все критические файлы (.php, .js, .htm) с их вчерашним состоянием, и оповещать меня, не изменился ли (добавился/удалился) какой-либо файл. Я написал такой скрипт, и установил на своих сайтах. Это дало мне драгоценное спокойствие. А когда я рассказал о нём друзьям, то их эта идея весьма воодушевила, и они сказали мне, что на этом наверно даже можно что-то заработать. Подумав, я с ними согласился. То есть, я конечно не считаю, что идея на столько уникальна и гениальна, что мне полагаются за неё деньги. Я уверен, что к ней до меня пришли сотни или тысячи людей. Но не каждому охота возиться с написанием или установкой, отладкой, поддержкой и развитием этого скрипта, и если я буду предоставлять это в виде простого, удобного сервиса, то я наверно вправе буду брать за это небольшую плату. В общем, в результате, я буквально на днях закончил работу над этим сервисом: FileSafe.

Теперь, зачем я всё это здесь пишу. Во-первых, хочу попросить уважаемых форумчан высказать своё мнение, как о идее, так и о реализации. Во-вторых хочу предложить воспользоваться моим сервисом. Первый месяц предоставляется бесплатно. Тем форумчанам, кто даст мне дельные советы, я готов продлить бесплатный период на год.

Немного технических деталей вкратце. После регистрации вы получаете PHP-скрипт с уникальным именем. Этот скрипт вы помещаете на свой сайт или сайты, в корневую папку документов. Регистрируете эти ваши сайты в системе. Каждую ночь система обратится к вышеупомянутому скрипту, и получит от него список файлов (путей) и их MD5 хешей, кои будут сохранены в базе данных на сервере сервиса, и сравнены с соответствующими вчерашними значениями. Результат сравнения будет отправлен вам по мэилу.

Желательно перед началом использования системы убедиться, что на данный момент сайт чист. Для этого можно скачать архив сайта (что в любом случае не повредит), и проверить его подходящим антивирусом. Или воспользоваться скриптом Ай-болит, предложенным тут неподалёку.

Заранее благодарю.

Костя.

FileSafe (http://filesafe.anek.ws/) - мониторинг неизменности файлов сайта для защиты от взлома. Для форумчан - первый год бесплатно.
SeVlad
На сайте с 03.11.2008
Offline
1609
#1
KostaShah:
Во-первых, хочу попросить уважаемых форумчан высказать своё мнение, как о идее, так и о реализации.

Насилил столько текста...

Но велосипеды давно успешно и бесплатно работают. И в разных реализациях. И даже больше.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
KS
На сайте с 11.06.2012
Offline
17
#2

SeVlad, Я извиняюсь за слишком развёрнутое первое сообщение. Хотел, чтобы читателям легче было меня правильно понять (видимо получилось наоборот). Постараюсь сформулировать здесь тезисно:

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

2. К преимуществам удалённого варианта относится так же и повышенная безопасность, связанная с тем, что при локальном сохранении данных о файлах, хакеру не составит труда, после внедрения вредоноса в определённый файл, изменить сведения о нём в находящейся тут же базе данных файлов.

3. Мой сервис тоже бесплатен на первое время (от месяца до года).

4.а. http://www.revisium.com/ai/ делает не то же, а наоборот хорошо может быть применён в связке с моим сервисом, о чём я упомянул.

4.б. nazamok.com бесплатен только для одной проверяемой страницы, и он проверяет только внешний результат (html), и не может среагировать на залитые на сайт шелы.

Спасибо за ответ и за ссылки!

R
На сайте с 13.06.2012
Offline
1
#3

Вообщем я сейчас тоже писал много букав... Но суть обьясню так же тезисно:

- не устанавливайте нуленые, не проверенные движки, ибо туда сразу заливают шелл, а потом выдают за супер пупер сборку.

- устанавливая модули/компоненты/скрипты внимательно читайте ридми до конца. К примеру множество людей ставило форумы и не удаляло папку install а потом удивлялись обилию шеллов на сайтах. Хотя в ридми было написано: после установки удалите директорию install.

- есть ещё много примеров взлома, но по сути 95% сайтов взламываются школьниками, через всем известные баги, которые по своей лени вебразработчик просто не прикрывает.

И если я понял суть твоей идеи, то ты внедряешь на сайт какой то скрипт (потому что по другому ты не проверишь целостность файла), который будет, допустим, создавать md5 хеш файла и потом по крону отсылать тебе, где ты имея базу этих хешей будешь проверять изменен файло или нет.

Залив шелл, я перепишу твой скрипт который будет слать тебе только true ну или какойто там положительный ответ.. и что в итоге от твоей системы?

KS
На сайте с 11.06.2012
Offline
17
#4
r3al:

Залив шелл, я перепишу твой скрипт который будет слать тебе только true ну или какойто там положительный ответ.. и что в итоге от твоей системы?

Да, это действительно проблема. Я о ней думаю, ищу способ как-то гарантировать, что система получает не сфальсифицированный ответ. Пока что ничего дельного не придумал. Буду весьма признателен, если кто что подскажет.

На данном этапе я рассчитываю на некоторую степень защиты за счёт того, что скрипт у каждого клиента имеет своё уникальное случайное длинное имя, похожее на имена скриптов от Сапы, и возможно хакер просто не заинтересуется этим файлом, и не заподозрит наличие защиты.

R
На сайте с 13.06.2012
Offline
1
#5
Да, это действительно проблема. Я о ней думаю, ищу способ как-то гарантировать, что система получает не сфальсифицированный ответ. Пока что ничего дельного не придумал. Буду весьма признателен, если кто что подскажет.

а никак ты этого не сделаешь если есть прямое обращение к файлу.

и лично из своего опыта: я всегда проверял файлы с дикими названиями, ищя в них нечто интересное. Хотя конечно ты можешь прятать свой файл в картинки, добавлять AddType к определенному файлу и пряча тем самым твой файл под видом картинки - вот это будет нормально, хрен кто догадается с первого взгляда да и что бы шелл повесить никто не будет картинки эти перебирать. Так что вот тебе более менее сносный метод "защиты" твоего файла.

KS
На сайте с 11.06.2012
Offline
17
#6
r3al:
ты можешь прятать свой файл в картинки, добавлять AddType к определенному файлу

Огромное спасибо, очень интересная мысль. Правда я стараюсь сделать максимально простой в использовании сервис, так сказать, для чайников. Пользователю сейчас нужно только загрузить скрипт на свой сайт, и всё (не надо ни крон делать, ни какие настройки нигде менять, ничего не редактировать). Но я обязательно об этом подумаю.

П.С. Если надумаете воспользоваться сервисом, то обещанный бесплатный год за мной.

R
На сайте с 13.06.2012
Offline
1
#7
П.С. Если надумаете воспользоваться сервисом, то обещанный бесплатный год за мной.

Спасибо, но я один из выходцев с inattack.ru, я считаю достаточным свой уровень знаний в веб-безопасноти. И имею опыт как атак так и отражения. Я сюда, на форум по сео вопросу зарегистрировался, но я так и не могу добраться до него, слишком мне эта ветка форума понравилась. ))

Что касается простоты: для примера - вы отдаете пользователю файл my_pict.jpg и инструкцию по установке, к которой написано: создайте в папке с изображениями файл .htaccess со следующим содержанием:

<files image.jpg>

SetHandler application/x-httpd-php
</files>

и все, отныне ваша "картинка" это и есть ваш скрипт и обращаться к ней как к обычному PHP скрипту.

R
На сайте с 13.06.2012
Offline
1
#8

делете вис пост плиасе

KS
На сайте с 11.06.2012
Offline
17
#9

r3al, ещё раз огромное спасибо!

Не умаляя ценности Вашей помощи, хочу всё же привести некоторые рассуждения.

Рассмотрим две ситуации: 1 - хакер не знает о существовании моей системы; 2 - хакер знает о существовании моей системы, и хочет проверить взламываемый им сайт на её наличие там.

1. В первом случае достаточно будет положить мой скрипт куда-то далеко в дереве папок, и вероятность того, что хакер на него случайно наткнётся будет стремиться к нулю.

2. В этом случае, он скорее всего так же будет знать и то, что скрипт возможно спрятан в картинке. Тогда он наверняка зальёт на сайт и запустит скрипт поиска по содержимым файлов, включая картинки, и всё равно найдёт мой скрипт.

Не так ли?

R
На сайте с 13.06.2012
Offline
1
#10

Пока сходил за сигаретами кое че надумал:

1) делаешь скрипт, который проверяет размер файла и дату создания, хешируешь это в md5.

2) прячешь свой скрипт либо внутри другого скрипта, либо подменой расширения файла, второй вариант гораздо лучше.

3) свой код шифруешь ну или делаешь переменные и функции кажды раз разные.

Получится что из 10 человек 4 полезут по папкам, 2 будут проверять все файлы и 1 полезет по .htaccess файлам. Ну т.е. я хочу сказать что твой скрипт будет искать 1 из 10, а двое из 10 на него может быть случайно наткнуться.

Так как файл постоянно меняется, то и найти его стандартным поиском будет очень сложно.

Вообще твоя идея сырая и лично мне не по душе, я считаю её бесполезной.

Но правильно её разрекламировав ты конечно сможешь на ней заработать.

Я дураков встречал, которые запускали мои файлы у себя на сервере.

Так что и взломы бывают разные. От всего не защитишься. Особенно от Соц. Инженерии.. тут уже человеко-фактор играет роль, нежели скрипты - программы - антивирусы и т.п. (:

На твоем месте я бы попробовал, но я бы уже писал некой антивирус. Ну и позиционировал его как антивирус. Не только с проверкой файлов на валидность но и комплексом предоставляемой защиты. Да и вообще это было бы уже "пентест-агенство" ))

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий