პრობლემის არსი

თუ თქვენ იყენებთ NAS ტიპის ქსელურ საცავებს, Windows 11 24H2-ზე განახლების შემდეგ საკმაოდ დიდი ალბათობით შეხვდებით შემდეგ შეცდომებს: 0xc000a000, -1073700864, STATUS_INVALID_SIGNATURE ან The cryptographic signature is invalid. ამის მიზეზია SMB ხელმოწერის (SMB Signing) სავალდებულო გამოყენების მოთხოვნა ყველა გამავალი პაკეტისთვის, რომელიც Microsoft-მა შეიტანა სისტემის ამ ახალ განახლებაში.

აღსანიშნავია, რომ უახლოეს მომავალში ახალი რეგულაციები ასევე გავრცელდება Windows 11-ისა და 10-ის სხვა ვერსიებზეც. ნაკლებად სავარაუდოა, რომ ეს სიახლე დადებითად იქნება მიღებული, რადგან SMB Signing გამოყენება ზრდის დატვირთვას კლიენტსა და სერვერზე და, შესაბამისად, ამცირებს მონაცემთა გადაცემის სიჩქარეს. რიგ შემთხვევებში ქსელში გადაცემის სიჩქარე ვარდებოდა 2-3 მეგაბიტამდე და SMB signing-ზე უარის თქმა აბრუნებდა ნორმალურ სიჩქარეს.

რაც შეეხება ქსელურ საცავებთან წვდომის შეცდომების აღმოფხვრას, ამის გაკეთება ორი გზით შეიძლება: NAS-ის პარამეტრებში SMB Signing ჩართვით ან კლიენტურ კომპიუტერზე SMB Signing გათიშვით.

უსაფრთხოების თვალსაზრისით, სასურველია პირველი ვარიანტის გამოყენება, თუმცა ამისთვის საჭიროა, რომ NAS-ს ქონდეს შესაბამისი ფუნქციონალი. საჭირო პარამეტრს ეწოდება “Enable Server Signing” ან რაიმე მსგავსი და როგორც წესი ასეთი პარამეტრი სერვერის გაფართოებულ პარამეტრებში.

SMB კლიენტის სტატუსის შემოწმება

SMB კლიენტის აქტუალური სტატუსის სანახავად PowerShell-ში შეასრულეთ შემდეგი ბრძანება:

Get-SmbClientconfiguration | fl EnableSecuritySignature,RequireSecuritySignature

ყურადღება მიაქციეთ ორ პარამეტრს: RequireSecuritySignature და EnableSecuritySignature.

  • თუ RequireSecuritySignature დგას False მნიშვნელობაზე, SMB ხელმოწერის სავალდებულო გამოყენება გამორთულია, ხოლო თუ True – ჩართულია.
  • რაც შეეხება EnableSecuritySignature-ს: თუ მისი მნიშვნელობა True-ა, კლიენტ კომპიუტერი გამოიყენებს SMB ხელმოწერას მხოლოდ იმ შემთხვევაში, თუ სერვერი ამას მოითხოვს.

SMB კლიენტის სტატუსის შეცვლა (Windows Server) Powershell-ით

თუ გსურთ სავალდებულო SMB ხელმოწერის ჩართვა ან გამორთვა კლიენტ კომპიუტერზე, გამოიყენეთ შემდეგი ბრძანება (PowerShell-ში):

Set-SmbClientConfiguration -RequireSecuritySignature $true/$false

გაითვალისწინეთ რომ ბრძანება ძალაში საბოლოოდ შევა კომპიუტერის დარესტარტების მერე

SMB სერვერის სტატუსის შეცვლა (Windows Server) Powershell-ით

Set-SmbServerConfiguration -RequireSecuritySignature $true/$false

ამ შემთხვევაშიც ბრძანება ძალაში საბოლოოდ შევა კომპიუტერის დარესტარტების მერე

gpedit.msc კლიენტის სტატუსის შეცვლა

ამავე პარამეტრების შეცვლა შესაძლებელია ლოკალური ჯგუფური პოლიტიკების რედაქტორის მეშვეობითაც.

ამისთვის აკრიფეთ gpedit.msc, რათა გაუშვათ რედაქტორი, შემდეგ გადადით:
Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options.

მარჯვნივ მოძებნეთ პოლიტიკები:

  • Microsoft Network Client: Digitally sign communications (always)
  • Microsoft Network Client: Digitally sign communications (if server agrees

გახსენით თითოეული პოლიტიკის პარამეტრები და ჩართეთ ან გამორთეთ სასურველი კონფიგურაცია.

რეესტრით კლიენტის სტატუსის შეცვლა

რეგისტრის რედაქტორის გასახსნელად აკრიფეთ regedit და შედით ქვემდებარე განყოფილებაში:

HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters

მარჯვენა მხარეს შექმენით ახალი DWORD ტიპის პარამეტრი. დაარქვით ახლადშექმნილ პარამეტრს RequireSecuritySignature და მისი მნიშვნელობა დატოვეთ ნაგულისხმევად, ანუ 0.

კომპიუტერის გადატვირთვის შემდეგ SMB ხელმოწერის მოთხოვნა აღარ გავრცელდება არც NAS საცავთან შეერთებისას და არც სხვა რომელიმე ქსელურ რესურსზე.

თუმცა, თუ გსურთ SMB ხელმოწერის სავალდებულოდ გააქტიურება, იმავე რეგისტრის განყოფილებაში შექმენით DWORD ტიპის პარამეტრი სახელით EnableSecuritySignature და მიანიჭეთ მას მნიშვნელობა 1.

რეესტრით სერვერის სტატუსის შეცვლა

თუ კომპიუტერი გამოიყენება როგორც სერვერი, Windows 11 24H2-ის ახალი SMB მოთხოვნები შეიძლება პრობლემური გახდეს.

მაგალითად, თუ გაზიარებულ საქაღალდეს უერთდებით ძველი Windows ვერსიით ან მობილური ტელეფონით, რომელიც SMB ხელმოწერას არ უჭერს მხარს, შესაძლოა წვდომის შეცდომა მიიღოთ.

ამ შემთხვევაში, სერვერული კომპონენტებისთვის უნდა გაითიშოს SMB ხელმოწერის მოთხოვნა. ამისთვის regedit გადადით HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters და შექმენით DWORD ტიპის პარამეტრი სახელით RequireSecuritySignature, რომლის მნიშვნელობა იქნება 0.

დასკვნა

  • Windows 11 24H2-სა და სხვა ვერსიებში, SMB ხელმოწერა სავალდებულო ხდება უსაფრთხოების გაზრდის მოტივით.
  • ყოველივე ეს ზრდის სისტემის დატვირთვას და ზოგჯერ ამცირებს სიჩქარეს, ხოლო NAS ან სხვა მოწყობილობები, რომლებსაც SMB ხელმოწერის მხარდაჭერა არ აქვთ, ვეღარ ახერხებენ ნორმალურ კომუნიკაციას.
  • პრობლემის გადასაჭრელად შეგიძლიათ გაააქტიუროთ SMB ხელმოწერა NAS-ზე (უსაფრთხოა, თუ მოწყობილობა უჭერს მხარს) ან გამორთოთ SMB ხელმოწერის მოთხოვნა Windows-ის მხარეს (კლიენტსა თუ სერვერზე).

ამ ინსტრუქციების გამოყენებით შეძლებთ ოპტიმალური პარამეტრების შერჩევას თქვენი ქსელის მოთხოვნების შესაბამისად.