Hashdeep: Мощный инструмент для проверки файлов в Linux

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

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

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

Что такое hashdeep?

hashdeep — это инструмент, используемый для вычисления, сравнения и проверки хешей файлов, которые являются уникальными идентификаторами, создаваемыми путем применения хеш-функции (например, SHA-256 или MD5) к содержимому файла. Эти хеши служат “отпечатками пальцев” для файлов. Когда два файла имеют один и тот же хеш, это означает, что их содержимое идентично.

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

Он чаще всего используется в:

  • Проверка целостности файлов: Гарантирование, что файлы не были изменены или повреждены со временем.
  • Цифровая криминалистика: Проверка целостности файлов в ходе судебно-следственных исследований.
  • Резервное копирование и восстановление: Проверка целостности резервных файлов и обеспечение согласованности данных в процессе восстановления.

Установка hashdeep в Linux

Прежде чем мы погрузимся в его использование, давайте сначала установим hashdeep на вашу систему Linux, который доступен в большинстве репозиториев пакетов дистрибутива, поэтому установка проста.

sudo apt install hashdeep         [On Debian, Ubuntu and Mint]
sudo yum install hashdeep         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/hashdeep  [On Gentoo Linux]
sudo apk add hashdeep             [On Alpine Linux]
sudo pacman -S hashdeep           [On Arch Linux]
sudo zypper install hashdeep      [On OpenSUSE]    
sudo pkg install hashdeep         [On FreeBSD]

После установки вы можете начать использовать hashdeep для расчета и проверки хешей файлов.

Ниже приведены некоторые из наиболее распространенных случаев использования.

1. Расчет хешей файлов

Самое базовое использование hashdeep – расчет хеша одного файла или нескольких файлов.

hashdeep -c sha256 myqr.png

В этой команде:

  • -c sha256 указывает алгоритм хеширования (в данном случае SHA-256).
  • myqr.png – файл, для которого вы хотите получить хеш.

Вы можете заменить sha256 на md5, sha1 или другие поддерживаемые алгоритмы в зависимости от ваших предпочтений.

Calculating File Hashes in Linux

2. Хеширование файлов рекурсивно в каталоге

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

hashdeep -c sha256 -r /path/to/your/directory
Recursively Hashing a Directory

3. Сохранение хешей в файл

Если вы хотите сохранить вычисленные хеши в файл для последующего сравнения, вы можете использовать опцию -o для указания выходного файла:

hashdeep -r ravi > hashes.txt
cat hashes.txt
Save Calculated Hashes to a File

4. Проверка целостности файла

Одним из наиболее важных применений hashdeep является проверка целостности файлов. Если у вас уже есть список известных хешей (например, из предыдущей сессии), вы можете сравнить текущие хеши файлов с этими известными значениями, чтобы узнать, были ли изменены какие-либо файлы.

Для этого используйте следующую команду для проверки файлов:

hashdeep -a -k hashes.txt -r /home/ravi/ravi

Эта команда рекурсивно проверит все файлы в каталоге “ravi” по хешам, перечисленным в файле hashes.txt, что позволит вам правильно проверить их целостность.

Verifying File Integrity

5. Генерация нескольких хешей одновременно

Для вычисления нескольких типов хешей (например, MD5, SHA-1 и SHA-256) одновременно вы можете указать несколько алгоритмов с флагом -c:

hashdeep -c md5,sha1,sha256 -r /path/to/your/directory
Calculate Multiple Hashes
Заключение

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

Source:
https://www.tecmint.com/hashdeep-file-integrity-checker/