# debsums -a, --all check configuration files (normally excluded)
Однако тут и там имеется большое количество временных вспомогательных файлов, не только в tmp-dir.
Около 4000 двоичных файлов .pyc Python, которые нельзя отключить по умолчанию:
# cat /etc/python/debian_config
# standard, optimize
byte-compile = standard
и т. д...
Существует ли какой-либо дистрибутив Linux, имеющий онлайн-репозитории с возможностью безопасной проверки каждого файла, установленного на моем компьютере?
я говорю оменеджер пакетовкак хостовая система обнаружения вторжений с современной криптографией, способная предотвратить/обнаружить любое заражение.
решение1
В системах на базе RPM есть rpm -q --verify
, который делает похожие вещи.
Однако я не думаю, что какая-либо из этих функций является подходящей альтернативой IDS. Основная проблема в том, что контрольные суммы находятся на рассматриваемой машине, поэтому, если она была скомпрометирована, вы не можете доверять локальным контрольным суммам.
Возможно, вы можете получить свежие контрольные суммы из интернет-репозиториев, но я все равно считаю, что вы неправильно подходите к использованию контрольных сумм пакетов для этой цели.
Гораздо лучшим вариантом будет использование специальной программы проверки целостности файлов, напримерПОМОЩНИКилиРастяжкаЭти инструменты позволяют вычислять контрольные суммы в системе после того, как вы привели ее в заведомо исправное состояние, а затем сохранять их на съемном носителе, доступном только для чтения (например, CD-R), для последующего сравнения.
Другая проблема с методом контрольной суммы пакета заключается в том, что нельзя ожидать, что он будет проверять такие вещи, как /etc
файлы, поскольку они, как известно, намеренно изменяют свое содержимое. С помощью чего-то вроде AIDE вы вычисляете контрольные суммыпослеВы вносите изменения в стандартные версии этих файлов, поэтому можете с уверенностью сказать, ожидалось ли изменение или нет.
Это не значит, что проверка контрольной суммы пакета бесполезна. Просто она не предназначена для обнаружения вредоносных изменений. Она предназначена для обнаружения случайных изменений, чтобы их можно было исправить. Например, кто-то мог выполнить неуклюжую команду chmod -R
, а затем нажать Ctrl-Cдо ее выполнения в течение очень долгого времени, как только он понял свою ошибку, поэтому вы проверяете пакеты, чтобы узнать, какие права доступа к файлам пакетов были испорчены.
решение2
Я предпочитаю решение Уоррена (AIDE), но если вы действительно хотите следить за своей системой, используйте что-то вроде CFEngine или производное (Puppet, Chef, saltstack, что угодно) для управления всем содержимым вашей файловой системы. Используйте менеджер пакетов для установки файлов, систему управления конфигурацией для управления содержимым всех файлов конфигурации и оповещения, когда что-либо изменяется за пределами вашей системы конфигурации (а также, вероятно, для возврата к предыдущему состоянию). Однако, чем глубже вы погружаетесь, тем сложнее решение. Полное управление системой и всеми файлами в ней — действительно большая задача. CFEngine может изучать контрольные суммы файлов и следить за ними для вас, если вас не так сильно волнует содержимое, как просто получение уведомлений об изменениях. У других, вероятно, есть похожий функционал, но они будут медленнее. Могу сказать, что вам действительно не нужно часто выполнять рекурсивный мониторинг файловой системы с помощью Puppet. С другой стороны, кривые обучения для разных инструментов различаются. AIDE довольно легко освоить, CFEngine может быть небольшой проблемой.