Причины.
1. Протокольные накладные расходы. Samba — многослойная реализация CIFS (TCP, NetBIOS, SMB). NFSv3/v4 работает напрямую поверх RPC/UDP/TCP, что даёт меньше оверхеда (до 3 раз ниже latency при работе с мелкими файлами).
2. Кэширование и блокировки. Samba использует файловые блокировки (fcntl, smb.conf `locking = yes`, Oplocks). При параллельном доступе к образам dd/dcfldd это вызывает гонки и порчу данных. NFSv3 — stateless, блокировки опциональны (NLM). NFSv4 — stateful, но блокировки более прозрачны для ядра.
3. Работа с POSIX-атрибутами. Samba требует маппинга UID/GID и расширенных атрибутов (EA). Для форензики критично сохранить реальные uid/gid, sticky bit, ACL. NFS (при `sec=krb5p` или `sec=sys`) передаёт их нативно без преобразования.
4. Совместимость с инструментами. Утилиты типа `dd`, `sleuthkit`, `volatility` ожидают прямой блочный доступ к устройству или монтирование с опциями `noexec,nosuid,noatime`. Samba монтируется через FUSE (`mount.cifs`), что добавляет дополнительный слой обработки, увеличивая время ввода-вывода на 15–20% при чтении прерывистых блоков.
Решение. Использовать NFSv3/v4 (желательно v4.2 для server-side copy) при развёртывании сетевых хранилищ в лабораториях пентеста или хранилищ артефактов.
Пример конфигурации (сервер — Fedora/RHEL/Debian):
1. Установка:
`sudo apt install nfs-kernel-server` (Debian/Ubuntu)
`sudo dnf install nfs-utils` (RHEL)
2. Экспорт каталога `/forensic_share` для хостов 192.168.1.0/24 только с правами root/sys:
`/etc/exports:`
text
/forensic_share 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash,fsid=0)3. Монтирование на клиенте (в расследовании):
`sudo mount -t nfs -o hard,intr,noac,noexec,nosuid,nodev server_ip:/forensic_share /mnt/evidence`
Ключи:
- `noac` — отключает кэширование атрибутов (критично для изменяемых образов).
- `hard,intr` — гарантирует доставку запроса при потере сети.
- `noexec,nosuid,nodev` — защита от исполнения вредоносного кода из артефактов.
4. Проверка безопасности: Ограничить доступ по IP (iptables/ufw: разрешить только TCP 2049 с доверенных IP). Для NFSv4 использовать `sec=krb5p` при наличии Kerberos.
Результат: прямая работа с образами дисков без накладных расходов Samba, сохранение полного набора метаданных и минимальная латентность при параллельном доступе (например, запуск Autopsy со стороны клиента на образе, расположенном на NFS).