С SAMBA и CIFS я пошел в кроличью нору.
У нас есть сервер, на который был проведен пентестинг, и нас вызвали из-за того, что "подпись SMB-сервера не принудительно"
Хорошо, подумал я, я просто включу регистрацию на сервере. Затем я столкнулся с различными диалектами SMB и их отношением к CIFS, а также с тем, почему вам никогда не следует использовать CIFS.
https://blog.varonis.com/the-difference-between-cifs-and-smb/ http://blog.fosketts.net/2012/02/16/cifs-smb/
Но в моей конфигурации (сервер SMB - это RHEL 6.7 с samba-3.6.23-30, клиент SMB - это RHEL6.7 с cifs-utils-4.8.1-20), клиент использует mount.cifs для монтирования общего ресурса в fstab.
Что дает? Похоже, это способ смонтировать общий ресурс samba на RHEL, но CIFS должен быть ругательством! mount.smbfs содержит ошибки и устарел.
Кроме того, как мне узнать, на каком диалекте говорит мой сервер самбы? Судя по всему samba начиная с версии 3.6 поддерживает SMB2, но как мне включить его (я пробовал max protocol = SMB2 в разделе [global] smb.conf) и убедиться, что он действительно это делает?
Как включить подпись сообщений и, что особенно важно, проверить, действительно ли она это делает?
Пентестер использовал nmap, чтобы обнаружить, что подпись сообщений отключена, но у меня ее нет. В любом случае со стандартными инструментами Linux?
В соответствии с mount.cifs страница руководства:
Протокол CIFS является преемником протокола SMB и поддерживается большинством серверов Windows и многими другими коммерческими серверами и устройствами сетевого хранения данных, а также популярным сервером Samba с открытым исходным кодом.
Далее на этой странице руководства Протокол CIFS / SMB2 упоминается неоднократно. Очевидно, что на обычном языке Linux и Samba CIFS равно SMB2.
Однако документация ядра CIFS точнее:
Клиент ядра Linux cifs был включен в ядро с версии 2.5.42. Протокол cifs (и связанные с ним более ранние диалекты SMB) используется по умолчанию ("vers = 1.0"), но поддержка новых диалектов (SMB2.02, SMB2.1, SMB3 и SMB3.02) может быть выбрана путем указания "vers = 2.0" или "vers = 2.1" или "vers = 3.0" или "vers = 3.02" при монтировании.
Итак, ответ очевиден: вы должны использовать mount.cifs тем не мение. Тем не менее, способность вашего ядра использовать протоколы SMB выше 2.0 должна быть проверена (ядра RedHat очень сильно пропатчены и мало похожи на обычные ядра с тем же номером версии).