Назад | Перейти на главную страницу

Как я могу проверить файловую систему Linux на наличие файлов, которые были изменены или добавлены в течение определенного периода времени?

Мы - компания, занимающаяся дизайном / хостингом веб-сайтов, и у нас есть несколько сайтов, и кто-то смог записать произвольные данные в файловую систему. Мы подозреваем, что у них все еще установлены скрипты и им нужен способ аудита всего, что было изменено или добавлено за последние 10 дней. Есть ли команда или сценарий, который мы можем запустить для этого?

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

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

Почему не работает find:
Например, чтобы изменить время модификации:

kbrandt@kbrandt: ~/scrap/touch] ls -l foo
-rw-rw-r-- 1 kbrandt kbrandt 4 2010-04-05 12:22 foo
[kbrandt@kbrandt: ~/scrap/touch] touch -m -t 199812130530 foo  
[kbrandt@kbrandt: ~/scrap/touch] ls -l foo
-rw-rw-r-- 1 kbrandt kbrandt 4 1998-12-13 05:30 foo

ctime может быть лучше для поиска, если вы пойдете по маршруту поиска, но может быть простой способ изменить это. Если это не так просто, кто-то может войти и просто отредактировать саму файловую систему с помощью устройства, которое я себе представляю.

Только что нашел следующее в сети с ctime, но не пробовал:

Since ctime is the last time the inode info was changed, you could
change the system date, make a new hardlink, remove it again and change
the date back.

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

В find команда с -mtime и -mmin предикаты могут это сделать.

Найти, вероятно, ваш лучший выбор на данный момент, но я бы согласился с новыми установками. Однако как узнать, что ваша база данных не была взломана?

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

Забегая вперед, могу ли я предложить вам запустить какую-либо форму IDS, например tripwire (http://sourceforge.net/projects/tripwire/) или помощник (http://www.cs.tut.fi/~rammer/aide.html).

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

http://www.exploit-db.com/list.php?description=joomla&author=&platform=&type=&port=&osvdb=&cve=

Вам также может быть интересен Dnotify: http://en.wikipedia.org/wiki/Dnotify

как сказал Sinping, "tripwire" должен быть вашим ответом на проблему, с которой вы столкнулись. Это замечательный инструмент для аудита файловой системы и более глубокого понимания ее.