Udostępnij za pośrednictwem


Ulepszenia zabezpieczeń protokołu SMB

Protokół SMB (Server Message Block) jest podstawowym składnikiem do udostępniania plików i dostępu do danych w środowiskach systemu Windows. W miarę rozwoju zagrożeń bezpieczeństwa systemy Windows Server i Windows wprowadzają ulepszone funkcje zabezpieczeń protokołu SMB, aby chronić poufne dane przed przechwyceniem i nieautoryzowanym dostępem. W tym artykule opisano najnowsze ulepszenia zabezpieczeń protokołu SMB, w tym szyfrowanie SMB, nowe algorytmy podpisywania i zaawansowane opcje konfiguracji. Użyj tych funkcji, aby wzmocnić ochronę danych organizacji i spełnić nowoczesne wymagania dotyczące zabezpieczeń.

SMB Encryption

Szyfrowanie SMB zapewnia kompleksowe szyfrowanie danych SMB i chroni dane przed podsłuchiwaniem wystąpień w niezaufanych sieciach. Szyfrowanie SMB można wdrożyć przy minimalnym nakładzie pracy, ale może wymagać innych kosztów wyspecjalizowanego sprzętu lub oprogramowania. Nie ma wymagań dotyczących zabezpieczeń protokołu internetowego (IPsec) ani akceleratorów sieci WAN. Szyfrowanie SMB można skonfigurować dla każdego udziału, dla całego serwera plików lub podczas mapowania dysków.

Note

Szyfrowanie SMB nie obejmuje bezpieczeństwa danych w spoczynku. Zazwyczaj Szyfrowanie dysku BitLocker obsługuje ochronę danych w spoczynku.

Szyfrowanie SMB można rozważyć w dowolnym scenariuszu, w którym poufne dane muszą być chronione przed atakami przechwytujący. Możliwe scenariusze obejmują:

  • Dane poufne pracownika zajmującego się informacją są przenoszone przy użyciu protokołu SMB. Szyfrowanie SMB zapewnia kompleksową ochronę prywatności i integralność między serwerem plików a klientem. Zapewnia to bezpieczeństwo niezależnie od sieci, przez które przebiega, takich jak połączenia sieci rozległej (WAN) utrzymywane przez dostawców innych niż Microsoft.
  • Protokół SMB 3.0 umożliwia serwerom plików zapewnienie stale dostępnego magazynu dla aplikacji serwerowych, takich jak SQL Server lub Hyper-V. Włączenie szyfrowania SMB umożliwia ochronę tych informacji przed atakami polegającymi na snoopingu. Szyfrowanie SMB jest prostsze w użyciu niż dedykowane rozwiązania sprzętowe, które są wymagane dla większości sieci magazynowania (SAN).

Systemy Windows Server 2022 i Windows 11 wprowadzają zestawy kryptograficzne AES-256-GCM i AES-256-CCM na potrzeby szyfrowania SMB 3.1.1. System Windows automatycznie negocjuje tę bardziej zaawansowaną metodę szyfrowania podczas nawiązywania połączenia z innym komputerem, który go obsługuje. Tę metodę można również wymusić za pomocą zasad grupy. System Windows nadal obsługuje oprogramowanie AES-128-GCM i AES-128-CCM. Domyślnie AES-128-GCM jest negocjowane z SMB 3.1.1, zapewniając najlepszą równowagę pomiędzy bezpieczeństwem a wydajnością.

Systemy Windows Server 2022 i Windows 11 SMB Direct obsługują teraz szyfrowanie. Wcześniej włączenie szyfrowania SMB wyłączyło bezpośrednie umieszczanie danych, co sprawia, że wydajność funkcji RDMA jest tak niska, jak tcp. Teraz dane są szyfrowane przed przechowywaniem, co prowadzi do stosunkowo niewielkiego obniżenia wydajności, zapewniając przy tym prywatność pakietów chronionych przez AES-128 i AES-256. Szyfrowanie można włączyć za pomocą Windows Admin Center, Set-SmbServerConfigurationlub zasad grupy wzmacniania zabezpieczeń UNC.

Ponadto klastry trybu failover systemu Windows Server obsługują teraz szczegółową kontrolę nad szyfrowaniem komunikacji magazynowej wewnątrz węzłów dla klastrowych woluminów udostępnionych (CSV) i warstwy magistrali magazynu (SBL). Ta obsługa oznacza, że w przypadku korzystania z bezpośrednich miejsc do magazynowania i funkcji SMB Direct można szyfrować komunikację wschodnio-zachodnią w samym klastrze w celu zapewnienia wyższych zabezpieczeń.

Important

Istnieje godny uwagi koszt operacyjny związany z wydajnością każdej ochrony szyfrowania end-to-end w porównaniu z ochroną bez szyfrowania.

Prerequisites

Przed włączeniem szyfrowania SMB upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Obsługiwana wersja systemu Windows lub Windows Server.
  • Protokół SMB 3.0 lub nowszy jest włączony zarówno na kliencie, jak i serwerze.
  • Uprawnienia administratora lub równoważne uprawnienia do serwera I klienta SMB.

Włączanie szyfrowania SMB

Szyfrowanie SMB można włączyć dla całego serwera plików lub tylko dla określonych udziałów plików. Użyj jednej z poniższych procedur, aby włączyć szyfrowanie SMB.

Włączanie szyfrowania SMB za pomocą Centrum administracyjnego systemu Windows

  1. Pobierz i zainstaluj program Windows Admin Center.
  2. Połącz się z serwerem plików.
  3. Wybierz pozycję Files & file sharing.
  4. Select the File shares tab.
  5. Aby wymagać szyfrowania udziału, wybierz nazwę udziału, a następnie wybierz pozycję Włącz szyfrowanie SMB.
  6. Aby wymagać szyfrowania na serwerze, wybierz pozycję Ustawienia serwera plików.
  7. Pod opcją szyfrowania SMB 3 wybierz opcję Wymagane od wszystkich klientów (inni są odrzucani), a następnie wybierz opcję Zapisz.

Włączanie szyfrowania SMB przy użyciu wzmacniania zabezpieczeń UNC

Wzmocnienie zabezpieczeń UNC umożliwia skonfigurowanie klientów SMB tak, aby wymagać szyfrowania niezależnie od ustawień szyfrowania serwera. Ta funkcja pomaga zapobiegać atakom przechwytującym. Aby skonfigurować wzmocnienie zabezpieczeń UNC, zobacz MS15-011: Luka w zabezpieczeniach zasad grupy może zezwalać na zdalne wykonywanie kodu. Aby uzyskać więcej informacji na temat obrony przed atakami przechwytywania, zobacz Jak chronić użytkowników przed atakami przechwytywania przez zabezpieczenia klienta SMB.

Włączanie szyfrowania SMB przy użyciu programu Windows PowerShell

  1. Zaloguj się do serwera i uruchom program PowerShell na komputerze w sesji z podwyższonym poziomem uprawnień.

  2. Aby włączyć szyfrowanie SMB dla pojedynczego zasobu pliku udostępnionego, uruchom następujące polecenie.

    Set-SmbShare –Name <sharename> -EncryptData $true
    
  3. Aby włączyć szyfrowanie SMB dla całego serwera plików, uruchom następujące polecenie.

    Set-SmbServerConfiguration –EncryptData $true
    
  4. Aby utworzyć nowy udział plików SMB z włączonym szyfrowaniem SMB, uruchom następujące polecenie.

    New-SmbShare –Name <sharename> -Path <pathname> –EncryptData $true
    

Mapowanie dysków z szyfrowaniem

  1. Aby włączyć szyfrowanie SMB podczas mapowania dysku przy użyciu programu PowerShell, uruchom następujące polecenie.

    New-SMBMapping -LocalPath <drive letter> -RemotePath <UNC path> -RequirePrivacy $TRUE
    
  2. Aby włączyć szyfrowanie SMB podczas mapowania dysku przy użyciu narzędzia CMD, uruchom następujące polecenie.

    NET USE <drive letter> <UNC path> /REQUIREPRIVACY
    

Zagadnienia dotyczące wdrażania szyfrowania SMB

Domyślnie, gdy szyfrowanie SMB jest włączone dla udziału plików lub serwera, tylko SMB 3.0, 3.02 i 3.1.1 klienci mogą uzyskiwać dostęp do określonych udziałów plików. Ten limit wymusza intencję administratora ochrony danych dla wszystkich klientów, którzy uzyskują dostęp do udziałów.

Jednak w niektórych okolicznościach administrator może chcieć zezwolić na niezaszyfrowany dostęp dla klientów, którzy nie obsługują protokołu SMB 3.x. Taka sytuacja może wystąpić w okresie przejściowym, gdy używane są mieszane wersje systemu operacyjnego klienta. Aby zezwolić na dostęp niezaszyfrowany dla klientów, którzy nie obsługują protokołu SMB 3.x, wprowadź następujący skrypt w programie Windows PowerShell:

Set-SmbServerConfiguration –RejectUnencryptedAccess $false

Note

Nie zalecamy zezwalania na niezaszyfrowany dostęp podczas wdrażania szyfrowania. Zaktualizuj klientów, aby zamiast tego obsługiwali szyfrowanie.

Funkcja integralności wstępnego uwierzytelniania opisana w następnej sekcji uniemożliwia atak przechwytywania przed obniżeniem poziomu połączenia z protokołu SMB 3.1.1 do protokołu SMB 2.x (który będzie używał niezaszyfrowanego dostępu). Nie zapobiega to jednak obniżeniu do protokołu SMB 1.0, co spowodowałoby również niezaszyfrowany dostęp.

Aby zagwarantować, że klienci SMB 3.1.1 zawsze używają szyfrowania SMB do uzyskiwania dostępu do zaszyfrowanych udziałów, należy wyłączyć serwer SMB 1.0. Aby uzyskać instrukcje, połącz się z serwerem za pomocą centrum administracyjnego systemu Windows i otwórz rozszerzenie Files & File Sharing, a następnie wybierz kartę Udziały plików, aby wyświetlić powiadomienie o odinstalowaniu. Aby uzyskać więcej informacji, zobacz Jak wykrywać, włączać i wyłączać protokół SMBv1, SMBv2 i SMBv3 w systemie Windows.

If the –RejectUnencryptedAccess setting is left at its default setting of $true, only encryption-capable SMB 3.x clients are allowed to access the file shares (SMB 1.0 clients are also rejected).

Podczas wdrażania szyfrowania SMB należy wziąć pod uwagę następujące problemy:

  • Szyfrowanie SMB używa algorytmu Advanced Encryption Standard (AES)-GCM i CCM do szyfrowania i odszyfrowania danych. AES-CMAC i AES-GMAC również zapewniają weryfikację integralności danych (podpisywanie) dla zaszyfrowanych udziałów plików, niezależnie od ustawień podpisywania SMB. Jeśli chcesz włączyć podpisywanie SMB bez szyfrowania, możesz to zrobić dalej. Aby uzyskać więcej informacji, zobacz Konfigurowanie podpisywania SMB z ufnością.
  • Podczas próby uzyskania dostępu do udziału plików lub serwera mogą wystąpić problemy, jeśli organizacja korzysta z urządzeń przyspieszania sieci rozległej (WAN).
  • With a default configuration (where there's no unencrypted access allowed to encrypted file shares), if clients that don't support SMB 3.x attempt to access an encrypted file share, Event ID 1003 is logged to the Microsoft-Windows-SmbServer/Operational event log, and the client receives an Access denied error message.
  • Szyfrowanie SMB i system szyfrowania plików (EFS) w systemie plików NTFS nie są powiązane, a szyfrowanie SMB nie wymaga ani nie zależy od korzystania z systemu szyfrowania plików.
  • Szyfrowanie SMB i szyfrowanie dysków funkcją BitLocker nie są powiązane, a szyfrowanie SMB nie wymaga ani nie zależy od używania szyfrowania dysków funkcją BitLocker.

Preauthentication integrity

Protokół SMB 3.1.1 jest w stanie wykrywać ataki przechwytujące, które próbują obniżyć poziom protokołu lub możliwości, które klient i serwer negocjują przy użyciu integralności wstępnego uwierzytelniania. Integralność wstępnego uwierzytelniania jest obowiązkową funkcją protokołu SMB 3.1.1. Chroni przed wszelkimi manipulacjami komunikatów Negocjacji i Ustawień sesji przy użyciu skrótów kryptograficznych. Wynikowy skrót jest używany jako dane wejściowe w celu uzyskania kluczy kryptograficznych sesji, w tym klucz podpisu. Ten proces umożliwia klientowi i serwerowi wzajemne zaufanie do właściwości połączenia i sesji. Gdy klient lub serwer wykryje taki atak, połączenie zostanie rozłączone, a identyfikator zdarzenia 1005 jest rejestrowany w dzienniku zdarzeń Microsoft-Windows-SmbServer/Operational.

Ze względu na tę ochronę i korzystanie z pełnych możliwości szyfrowania SMB zdecydowanie zalecamy wyłączenie serwera SMB 1.0. Aby uzyskać instrukcje, połącz się z serwerem za pomocą centrum administracyjnego systemu Windows i otwórz rozszerzenie Files & File Sharing, a następnie wybierz kartę Udziały plików, aby wyświetlić powiadomienie o odinstalowaniu. Aby uzyskać więcej informacji, zobacz Jak wykrywać, włączać i wyłączać protokół SMBv1, SMBv2 i SMBv3 w systemie Windows.

Nowy algorytm podpisywania

Protokół SMB 3.0 i 3.02 używają nowszego algorytmu szyfrowania do podpisywania: kod uwierzytelniania komunikatów oparty na standardzie Advanced Encryption Standard (AES) - CMAC. Protokół SMB 2.0 używał starszego algorytmu szyfrowania HMAC-SHA256. AES-CMAC i AES-CCM mogą znacznie przyspieszyć szyfrowanie danych na większości nowoczesnych procesorów CPU, które obsługują instrukcje AES.

Systemy Windows Server 2022 i Windows 11 wprowadzają protokół AES-128-GMAC na potrzeby podpisywania protokołu SMB 3.1.1. System Windows automatycznie negocjuje tę lepszą metodę szyfrowania podczas nawiązywania połączenia z innym komputerem, który go obsługuje. System Windows nadal obsługuje funkcję AES-128-CMAC. Aby uzyskać więcej informacji, zobacz Konfigurowanie podpisywania SMB z ufnością.

Wyłączanie protokołu SMB 1.0

Protokół SMB 1.0 nie jest instalowany domyślnie w systemie Windows Server w wersji 1709 i Windows 10 w wersji 1709. Aby uzyskać instrukcje dotyczące usuwania protokołu SMB1, nawiąż połączenie z serwerem za pomocą Centrum administracyjnego systemu Windows, otwórz rozszerzenie Files & File Sharing, a następnie wybierz kartę Udziały plików, aby wyświetlić monit o odinstalowanie. Aby uzyskać więcej informacji, zobacz Jak wykrywać, włączać i wyłączać protokół SMBv1, SMBv2 i SMBv3 w systemie Windows.

Jeśli nadal jest zainstalowany, należy natychmiast wyłączyć protokół SMB1. Aby uzyskać więcej informacji na temat wykrywania i wyłączania użycia protokołu SMB 1.0, zobacz Stop using SMB1. Aby zapoznać się z usługą rozliczeń oprogramowania, które wcześniej lub obecnie wymaga protokołu SMB 1.0, zobacz SMB1 Product Clearinghouse.