Делаем слепок системы

+39
2.14K

Здравствуйте!

Лазил по просторам интернета и нашёл вот такое интересное решение, которое делаем слепок системы.

DSiteStructureScanner DWand

Какой надумал вариант решения:
1) После того, как сайт полностью готов, заливаем на сервер dSSS и настраиваем его под этот сайт.
2) Создаем эталон файловой системы сайта.
3) Говорим планировщику запускать сканирование через нужные нам промежутки времени.
4) В случае нахождения ошибок, сканер отправляет нам на почту письмо с отчетом об ошибках.

Теоретически, это должно работать для любого сайта, независимо от CMS или отсутствия такой вообще. С админкой и БД никак не связывается — один раз настроили и дальше само работает.

Что делает эта штука:
Запоминает файловую структуру сайта, размеры файлов и время ихнего изменения. Потом при сканировании сравнивает этот эталом с тем, что есть. Таким образом находит файлы, у которых изменился объем, файлы, у которых изменилось время последней модификации, новые файлы и файлы, которые были удалены.

Проект состоит из 6 файлов:
build.php — создает эталон файловой системы. После создания эталона лучше удалить.
config.php — содержит все доступные настройки.
DSiteStructScanner.class.php — содержит сам рабочий класс. Делает все что связано со структурой файловой системы.
scan.php — производит сканирование текущей файловой системы, сравнивает с сохраненным эталоном и в случае чего отправляет почту.
show.php — отображает текущую файловую систему при текущих настройках (как это будет видеть сканер). Задумывался для проверки корректности введенных настроек. При использовании лучше удалить.
Файл-эталон — тут как назовете — так и будет. Содержит сохраненную структуру файловой системы, с которой будет сравниваться текущая.

Возможные настройки:
$etFName — название (или относительный путь) к файлу с эталоном файловой системы.
$root — путь к директории, с которой нужно начинать сканирование (самой верхней по иерархии).
$excPath — массив путей к файлам и папкам, которые не нужно сканировать. Например, потому, что в них предполагается «легальное» изменение файлов. Типа кеша, папок с изображениями и т.п.
$emails — разделенный запятыми список почтовых адресов, на которые нужно отсылать отчет об ошибках.
$subject — Тема письма-отчета об ошибках.
$mesBody — Шаблон тела письма об ошибках.
$headers — Дополнительные почтовые заголовки.

Немного о производительности
Тестировал пока только на своем домашнем компе под руководством Denwer.
Конфигурация: CPU: Intel Core 2 Due 2,8 ГГц, RAM: 4Гб.
Небольшой сайтик-визитку на EVO сканировало ~0,8 секунды.
На построение структуры папки home Денвера (12291 папка, 84855 файлов, 1,26Гб) пошло примерно 41 секунд.

Ссылка на скачивание
Скачать со страницы автора DSiteStructureScanner
Скачать с инстанта

Как пользоваться?
1) Скачать
2) Залить на сервер
3) Настроить в файле config.php
4) Запустить файл show.php и просмотреть все ли правильно настроилось. Если нет, то изменить настройки.
5) Если настройки верны, запустить build.php — создастся файл с эталоном ф.с.
6) Можно поиграться с изменением структуры и запуском сканирования через файл scan.php
7) Настроить планировщик на периодический запуск сканирования в удобное время.
8) Правильно настроить права доступа на файлы (вот как правильно, к сожалению, не подскажу, а ибо не знаю. Если кто знает — напишите, пожалуйста.)
9) Подойти к зеркалу, улыбнуться и похвалить себя :)
10) Написать коммент или предложение :)


community.modx-cms.ru/blog/research/8735.html
0
sotastroy sotastroy 11 лет назад #
Что из себя представляет файл-эталон? Какой-то читабельный вариант или просто файл для работы этого скрипта?


ps. Заглянул, думал тут будет про то, как ПРАВИЛЬНО сделать архивную/рабочую копию сайта, а тут немного не то, но плюс за находку, в любом случае будет полезна.
0
Димитриус Димитриус 11 лет назад #
Я так понял бинарный массив
0
AndroS AndroS 11 лет назад #
Цель использования - обнаружение зараженных вирусом файлов или какая-то еще?
0
Димитриус Димитриус 11 лет назад #
Скрипт прогоняет по системе делая структуру файлов.
Раз в день можно запустить скриптик для того, что бы проверить не появились ли у вас новые файлы типа rootkit.php =)))) или не вписали ли вам в файл чего лишнего.
Честно сам не тестил.
0
KS KS 11 лет назад #
Очень полезная вещь !
как от вирусов спасет, так и от хаков ftp и тп всяких ..
0
IRATE IRATE 11 лет назад #
Никто из специалистов не затруднит более подробно не объяснит, что это такое и с чем едят?
0
IRATE IRATE 11 лет назад #
SWIPE подвел, но, думаю, смысл ясен.
+2
KS KS 11 лет назад #
Предположим вам в js на сайт залили что то левое , искать руками не легко и не всегда оперативно,
а тут по крону сработает, сделает сверку и выдаст отчет.
0
IRATE IRATE 11 лет назад #
Спасибо!
0
Май Май 11 лет назад #
Спасибо, очень полезная информация!
0
RubA RubA 11 лет назад #
спасибки
нужная вещь )
+2
Димитриус Димитриус 11 лет назад #
Отпишитесь пожалуйста о результатах ваших тестов.
0
alexbabo alexbabo 11 лет назад #
Вопрос по установке.На сервер папку dsss заливать или 6 файлов по отдельности?И как настроить config.php?опишите подробно пожайлуста.
0
lezginka.ru lezginka.ru 11 лет назад #
установил/запустил.все создалось.
где смотреть отчет ?

Еще от автора

Плагин: подтверждение профиля через привязку номера телефона к профилю
Здравствуйте форумчане! Уже достаточно много времени прошло с момента публикации предыдущего поста.
Плагин: подтверждение профиля через привязку номера телефона к профилю
Здравствуйте форумчане! Предлагаю вам плагин привязки номера телефона к профилю. Особенность плагин заключается в следующем.
Плагин: подтверждение профиля через привязку номера телефона к профилю
Приветствую Вас! Очередная модификация смс активации с переводом в новую группу выполненная в виде плагина. Данный пост является анонсом.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.