hostprofi.ru
Подобрать хостинг
Термин·буква S

SMB / CIFS

краткое определение

SMB/CIFS — сетевой протокол совместного доступа к файлам, принтерам и другим ресурсам. SMB (Server Message Block) используется Windows-сетями; CIFS — его реализация от Microsoft 1996 года. В Linux доступен через Samba.

SMB (Server Message Block) — протокол прикладного уровня для доступа к общим ресурсам по сети: файлам, принтерам, последовательным портам. Разработан IBM в 1983 году, развит Microsoft в 1990-х. CIFS (Common Internet File System) — переименование SMB v1, выпущенное Microsoft в 1996 году с Windows 95. Сегодня термины используются как синонимы, хотя технически CIFS относится к устаревшей версии протокола.

Как работает

SMB работает по модели клиент–сервер. Сервер экспортирует ресурс (share), клиент монтирует его как сетевой диск. Транспортный уровень — TCP (порт 445) с NetBIOS или без него. Соединение проходит стадии: согласование версии протокола → аутентификация (Kerberos или NTLM) → выбор ресурса → операции с файлами (открытие, чтение, запись, блокировка).

Версии протокола:

  • SMB 1.0 — оригинальная версия (1980-е). Уязвима (EternalBlue → WannaCry, 2017). Отключена по умолчанию в Windows 10/11 и Windows Server 2019+.
  • SMB 2.0 — представлена в Windows Vista/Server 2008. Сокращение числа команд с 100 до 19, поддержка символических ссылок, compound-запросы.
  • SMB 2.1 — Windows 7/Server 2008 R2. Механизм lease (клиентское кэширование).
  • SMB 3.0 — Windows 8/Server 2012. Multichannel (несколько сетевых адаптеров), шифрование AES-128-CCM, SMB Direct (RDMA).
  • SMB 3.1.1 — Windows 10/Server 2016. Pre-authentication integrity (защита от MITM), шифрование AES-128-GCM.

На Linux и macOS SMB реализует Samba — свободная реализация протокола. Монтирование SMB-шары в Linux: mount -t cifs //сервер/ресурс /точка_монтирования -o username=....

История

SMB создан в 1983 году Барри Фейгенбаумом (IBM). Microsoft адаптировала протокол для LAN Manager в 1987 году. В 1996 году Microsoft представила CIFS как открытый стандарт, пытаясь вытеснить NFS. В 2006 году Samba-разработчики совместно с Microsoft начали документирование протокола (соглашение по антимонопольному делу EC). SMB 3.0 в 2012 году добавил шифрование и RDMA, сделав протокол конкурентоспособным для корпоративных NAS.

На что обращать внимание

SMB 1.0 необходимо отключить — он не имеет шифрования и уязвим для атак типа EternalBlue. В Windows это делается через «Компоненты Windows» или PowerShell: Set-SmbServerConfiguration -EnableSMB1Protocol . Для изолированных серверов закрывайте порт 445 в iptables/UFW — SMB не должен быть доступен из интернета. Альтернативы: для Linux-to-Linux — NFS быстрее и проще; для облачного хранилища — iSCSI или S3-compatible object storage.

История SMB/CIFS

SMB (Server Message Block) разработан IBM в 1983 году, адаптирован Microsoft для Windows в 1985 году. CIFS (Common Internet File System) — расширение SMB 1.0, предложено Microsoft в 1996 году. SMB 2.0 появился в Windows Vista (2006) — значительно быстрее SMB 1.0. SMB 3.0 (Windows 8, 2012) добавил шифрование AES, multichannel, прозрачный failover. В 2017 году эксплойт EternalBlue (NSA) использовал уязвимость SMB 1.0 для распространения WannaCry — Microsoft рекомендует отключить SMB 1.0. Samba — open-source реализация SMB для Linux, версия 4.0 с 2012 года поддерживает Active Directory.

SMB на сервере Linux: Samba

# Установка
apt install samba
# Пример конфига /etc/samba/smb.conf
[shared]
   path = /srv/samba/shared
   browseable = yes
   writable = yes
   valid users = @smbgroup

Типичные ошибки при настройке SMB на хостинге

  • Открытый SMB-порт 445 в публичном интернете — основная цель для эксплойтов типа EternalBlue.
  • Использование SMB 1.0 (min protocol = NT1) — уязвимо к атакам.
  • Отсутствие шифрования: SMB 3.0 с smb encrypt = required обязательно для чувствительных данных.
  • SMB через интернет без VPN: трафик должен идти через OpenVPN или WireGuard.

Другие термины