Прошу обсудить технологию защиты сайта от злодеев.

123 4
dag
На сайте с 10.02.2007
Offline
214
dag
1437

Прошу попинать идейку, реализовать ее по мне так легко, но стоит ли? + обсудить ее подводные камни. В прикрепленную тему писать не хочу дабы не захламлять ее.

Итак присказка:

в январе впервые за много лет сломали мой любимый сайт на известной CMS, залили дор. Дор я спустя неделю нашел, выпилил, принял меры по недопущению подобного впредь (меры из прикрепленной темы), дополнительно написал свой скрипт сверки всех файлов на хостинге с эталоном, хранящимся в БД - по утрам запускаю убеждаюсь что все хорошо, граница на замке (я ПОНИМАЮ что это приемлимо только для девственно чистого сайта, но столько с ним провел времени в анализах, что могу назвать его таковым).

Теперь сказка:

Так и подмывает хранить в тайном месте в сети чистую копию сайта, скрипт проверки автоматически запускать каждые несколько часов, сверяться, все незаконно измененное - восстанавливать, все новое - удалять, все удаленное - восстанавливать (ну понятно что кроме кеша CMS).

Имхо у меня не сайт ЦРУ, полагаю что никто его серьезно ломать не будет, а от массового лома по уязвимостям в CMS или от моих типовых ошибок в администрировании (фик его знает что я не учел) - спасет. Ибо откуда злым буратинам знать о том, что их ждет?

Что скажете?

6666
На сайте с 10.01.2005
Offline
505
#1

dag, идея классная. Только ей уже придумали название - называется "бэкап".

И да, тут есть один небольшой минус. Не устраняется уязвимость. А так - молодца, хорошая схема. Не новая, но очень даже.

Каждое мое сообщение проверила и одобрила Елена Летучая. (c) Для меня очень важно все что Вы говорите! (http://surrealism.ru/123.mp3) .
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#2

Был один раз случай:

Мне через 10 минут уходить, а тут пишет заказчик, мол на сайте вирус и т.д.

Вирус оказался простеньким: встроенный JS-код.

Искать мне его было лень, да и времени не было.

КМСка была ВП.

В корневом файле index.php сделал в самом начале ob_start(), а в конце $content = preg_replace('вредоносный_код', '', $content)...

Прикол в том, что этот код до сих пор на сайте:D

Подпись))
TF-Studio
На сайте с 17.08.2010
Offline
334
#3

Вполне рабочая схема, только геморная.

Скрипт на сайте сравнивает хеш файлов, кроме всяких папок с картинками и другими, куда можно заливать.

При изменении хеша - удаленно заливает старую копию.

НО

Если товарищ будет умный, он и в этот код внесет свои правки, хотя можно сильно усложнить ему жизнь.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
SeVlad
На сайте с 03.11.2008
Offline
1609
#4
dag:
скрипт проверки автоматически запускать каждые несколько часов,

Когда-то давно уже рассказывал. Повторю.

Если заниматься такими извращениями (в хорошем смысле ;)), то надо иметь 2 хостинга. Рабочий (с сайтом) и бекапный. На бекапном кроме бекапа хранить и скрипты. На рабочем, ессно сам сайт. Но кроме того! По его серверному крону с бекапного хостинга тянется файл, который проверяет файлы (и выполняет др работу) и удаляется.

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

Почему, спросите, не хранить скрипты проверки\разворачивания бекапов на рабочем хостинге? Как раз потому, что их можно там обнаружить и подрихтовать. А увидеть задачи серверного крона - анриал (ну те никто не будет туда смотреть даже если вдруг и получит к нему доступ)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
6666
На сайте с 10.01.2005
Offline
505
#5
TF-Studio:
При изменении хеша - удаленно заливает старую копию.

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

Не говоря о том, что нагрузка на сервер и вообще гимор.

Проще найти один раз и устранить.

dag
На сайте с 10.02.2007
Offline
214
dag
#6

Почему папка с шеллом или дорами остается? ее то удалить как раз проще простого. все новые папки - удаляем не задумываясь.

6666
На сайте с 10.01.2005
Offline
505
#7
dag:
все новые папки - удаляем не задумываясь.

вручную? Или скриптом? А папки с пикчами, которые ВП делает - тоже удаляем? А если че полезное - тоже удаляем? А если линкс.дб сапе поменялся, то скрипт его тоже удаляет? А если я шаблон доработал, то мне надо еще и доработать скрипт, что бы он не убил изменения? А у меня на форуме юзеры картинки в папке хранят, тоже удаляем, если они что-то новое запостили?

Короче, муть.

SeVlad
На сайте с 03.11.2008
Offline
1609
#8
6666:
вручную? Или скриптом?

6666, на самом деле не такая проблема. Главное правильно разрулить что куда сваливать, что исключать из удаления и тп.

При желании можно настроить проверку новых тем же айболитом и\или антивирусником, а потом их только по хешу проверять.

---------- Добавлено 11.06.2013 в 23:14 ----------

Да, dag, тебе стоит задуматься. Этому лисапету 150 лет (еще в догуглояндексовскую эпоху юзались распределённые бекапы). Но почему-то это не применяется. На "бытовом уровне" в см.

Почему, как думаешь? ;)

dag
На сайте с 10.02.2007
Offline
214
dag
#9
6666:
вручную? Или скриптом? А папки с пикчами, которые ВП делает - тоже удаляем? А если че полезное - тоже удаляем? А если линкс.дб сапе поменялся, то скрипт его тоже удаляет? А если я шаблон доработал, то мне надо еще и доработать скрипт, что бы он не убил изменения? А у меня на форуме юзеры картинки в папке хранят, тоже удаляем, если они что-то новое запостили?
Короче, муть.

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

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

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

в общем надо подумать, имхо может получиться вполне востребованый продукт...

SeVlad
На сайте с 03.11.2008
Offline
1609
#10
dag:
это не бекап, ... это такая достаточно умная система противодействия внешним воздействиям чтоли.

Это как раз-таки автоматизации работы с бекапами (Мы говорили только о восстановлении, но можно ещё и автосборку навесить).

А система противодействия - это совсем другое. И к бекапам никак не относиться :)

dag:
не знаю почему,

Всё просто. Потому что нецелесообразно.

dag:
имхо может получиться вполне востребованый продукт...

Ой, сомневаюсь :) Ну т.е. всё есть и так. А самый геммор во всём этом - это как раз индивидуальные настройки. Это не автоматизируешь.

123 4

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