Nếu bạn không thể mở hoặc ánh xạ các thư mục chia sẻ mạng trên NAS, máy chủ Samba Linux, máy tính có phiên bản Windows cũ (Windows 7 / XP / Server 2003) từ Windows 10 hoặc 11, rất có thể vấn đề là các phiên bản SMB kế thừa và không an toàn giao thức bị tắt trong các bản dựng Windows hiện tại (giao thức SMB được sử dụng trong Windows để truy cập các thư mục và tệp mạng được chia sẻ).
Microsoft đang vô hiệu hóa một cách có hệ thống các phiên bản cũ và không an toàn của giao thức SMB trong tất cả các phiên bản Windows gần đây. Bắt đầu với Windows 10 1709 và Windows Server 2019 (cả trong phiên bản Trung tâm dữ liệu và Phiên bản tiêu chuẩn), giao thức SMBv1 không an toàn bị tắt theo mặc định cũng như quyền truy cập ẩn danh (khách) vào các thư mục chia sẻ mạng.
Các bước cụ thể cần thực hiện tùy thuộc vào lỗi xuất hiện trong Windows khi truy cập thư mục chia sẻ và vào cài đặt của máy chủ SMB từ xa lưu trữ chia sẻ mạng.
Không thể truy cập thư mục được chia sẻ vì chính sách bảo mật chặn quyền truy cập của khách chưa được xác thực
Bắt đầu với Windows 10 build 1709 Fall Creators Update (phiên bản Enterprise và Education), người dùng bắt đầu phàn nàn rằng khi họ cố gắng mở một thư mục chia sẻ mạng trên một máy tính lân cận, một lỗi xuất hiện:
Restoring Network Connections An error occurs when you try to open a network folder: An error occurred while reconnecting Y: to \\nas1\share Microsoft Windows Network: You can’t access this shared folder because your organization’s security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.
Hơn nữa, trên các máy tính khác chạy Windows 8.1, Windows 7 hoặc Windows 10 với bản dựng lên đến 1709, các thư mục mạng chia sẻ tương tự sẽ mở bình thường. Vấn đề là trong các phiên bản Windows 10 hiện đại (bản dựng 1709+), quyền truy cập của khách vào các thư mục được chia sẻ bằng giao thức SMBv2 bị tắt theo mặc định. Khách (ẩn danh) có nghĩa là quyền truy cập vào một thư mục mạng được chia sẻ mà không cần xác thực. Khi truy cập thư mục mạng trong tài khoản khách qua giao thức SMBv1 / v2, các phương pháp bảo vệ lưu lượng như ký và mã hóa SMB sẽ không được sử dụng, điều này khiến phiên của bạn dễ bị tấn công MiTM (man-in-the-middle).
Những thay đổi này không được áp dụng trên các phiên bản Windows 10 Home và quyền truy cập mạng trong tài khoản khách vẫn hoạt động tốt.Nếu bạn cố gắng mở thư mục mạng chia sẻ bằng giao thức SMB v2 trong tài khoản khách, lỗi sau sẽ xuất hiện trong Trình xem sự kiện trên máy tính của bạn (ứng dụng khách SMB):
Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 31017 Rejected an insecure guest logon.
Lỗi này cho biết máy tính của bạn (máy khách) chặn quyền truy cập không được xác thực trong tài khoản Khách.
Trong hầu hết các trường hợp, bạn có thể gặp phải sự cố này khi truy cập các thiết bị NAS cũ (thông thường quyền truy cập với tư cách khách được bật trên chúng để dễ thiết lập) hoặc khi mở các thư mục chia sẻ trên các thiết bị Windows 7/2008 R2 / Windows XP / 2003 kế thừa với ẩn danh (khách) đã bật quyền truy cập (xem bảng các phiên bản giao thức SMB được hỗ trợ trong các phiên bản Windows khác nhau).
Microsoft khuyến nghị thay đổi cài đặt trên máy tính từ xa hoặc thiết bị NAS lưu trữ các thư mục mạng được chia sẻ. Bạn nên chuyển chia sẻ mạng sang chế độ SMBv3. Hoặc định cấu hình quyền truy cập với xác thực nếu thiết bị chỉ hỗ trợ giao thức SMBv2. Đây là cách chính xác nhất và an toàn nhất để khắc phục sự cố.
Vô hiệu hóa quyền truy cập với tư cách khách trên thiết bị lưu trữ các thư mục chia sẻ của bạn:
- Thiết bị NAS - vô hiệu hóa quyền truy cập của khách trong cài đặt của thiết bị NAS của bạn (tùy thuộc vào nhà cung cấp và kiểu máy);
- Máy chủ Samba trên Linux - nếu bạn đang chia sẻ thư mục mạng với Samba trên Linux, hãy thêm chuỗi sau vào tệp cấu hình smb.conf trong phần [global]:
map to guest = never
Và hạn chế quyền truy cập ẩn danh trong phần cấu hình thư mục chia sẻ:guest ok = no
- Trong Windows, bạn có thể bật chia sẻ thư mục mạng và máy in với bảo vệ bằng mật khẩu thông qua Bảng điều khiển -> Trung tâm mạng và chia sẻ -> Cài đặt chia sẻ nâng cao. Đối với Tất cả các mạng trong phần “Chia sẻ được bảo vệ bằng mật khẩu”, hãy thay đổi giá trị thành “ Bật chia sẻ được bảo vệ bằng mật khẩu” . Trong trường hợp này, quyền truy cập ẩn danh (khách) vào các thư mục chia sẻ trên mạng sẽ bị vô hiệu hóa và bạn sẽ phải tạo người dùng cục bộ, cấp cho họ quyền truy cập vào các thư mục và máy in được chia sẻ và sử dụng các tài khoản này để kết nối với các thư mục được chia sẻ trên máy tính từ xa .
Có một cách khác - bạn có thể thay đổi cài đặt trên thiết bị Windows của mình để cho phép truy cập vào các thư mục mạng được chia sẻ trong tài khoản khách. Phương pháp này chỉ nên được sử dụng như một giải pháp tạm thời (!!!), vì quyền truy cập vào các thư mục không có xác thực làm giảm đáng kể bảo mật máy tính của bạn.
Để cho phép khách truy cập từ máy tính của bạn, bạn cần sử dụng Trình chỉnh sửa chính sách nhóm (gpedit.msc
). Đi tới phần: Cấu hình máy tính -> Mẫu quản trị -> Mạng -> Máy trạm Lanman. Tìm và bật chính sách Bật nhật ký khách không an toàn. Tùy chọn chính sách này xác định liệu máy khách SMB có cho phép khách đăng nhập không an toàn vào máy chủ SMB hay không.
Cập nhật cài đặt Chính sách Nhóm trong Windows bằng lệnh:
gpupdate /force
Trong Windows 10 Home, không có trình soạn thảo GPO cục bộ, bạn có thể thực hiện thay đổi tương tự thông qua Trình chỉnh sửa sổ đăng ký theo cách thủ công:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters “AllowInsecureGuestAuth”=dword:1
Hoặc với các lệnh sau:
reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
reg add HKLM\Software\Policies\Microsoft\Windows\LanmanWorkstation /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
Không thể kết nối với Chia sẻ tệp vì nó không an toàn và yêu cầu giao thức SMB1 lỗi thời
Một vấn đề khác có thể xảy ra khi truy cập thư mục mạng từ Windows 10 là chỉ phiên bản giao thức SMBv1 được hỗ trợ ở phía máy chủ. Vì ứng dụng khách SMBv1 bị tắt theo mặc định trong Windows 10 1709+ khi bạn cố gắng mở thư mục chia sẻ hoặc ánh xạ ổ đĩa mạng, bạn có thể gặp lỗi:
You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher.
Trong trường hợp này, các máy tính lân cận có thể không được hiển thị trên mạng cục bộ và khi mở một thư mục được chia sẻ bằng đường dẫn UNC, lỗi 0x80070035 có thể xuất hiện.
Thông báo lỗi cho thấy rõ rằng thư mục chia sẻ mạng chỉ hỗ trợ giao thức truy cập máy khách SMBv1. Trong trường hợp này, bạn nên cố gắng định cấu hình lại thiết bị SMB từ xa để sử dụng ít nhất SMBv2 (cách chính xác và an toàn).
Nếu bạn sử dụng máy chủ Samba trên Linux để chia sẻ tệp, bạn có thể chỉ định phiên bản giao thức SMB được hỗ trợ tối thiểu trong tệp smb.conf như sau:
[global] server min protocol = SMB2_10 client max protocol = SMB3 client min protocol = SMB2_10 encrypt passwords = true restrict anonymous = 2
Trên Windows 7 / Windows Server 2008 R2, bạn có thể tắt giao thức SMB 1 và bật SMBv2 thông qua sổ đăng ký bằng các lệnh PowerShell sau:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force
Trên Windows 8.1 / Windows Server 2012 R2, bạn có thể tắt SMBv1, cho phép SMBv2 và SMBv3 bằng lệnh sau (xác minh rằng cấu hình miền hoặc riêng được sử dụng cho kết nối mạng của bạn):
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-SmbServerConfiguration –EnableSMB2Protocol $true
Nếu thiết bị mạng của bạn (NAS, Windows XP, Windows Server 2003) chỉ hỗ trợ giao thức SMB1, bạn có thể bật một SMB1Protocol-Client riêng biệt tính năng trên Windows 10/11 hoặc Windows Server. Nhưng điều này không được khuyến khích !!!
Nếu thiết bị từ xa yêu cầu kết nối SMBv1 và giao thức này bị tắt trên thiết bị Windows của bạn, lỗi sẽ xuất hiện trong Trình xem sự kiện:Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 32000 Description: SMB1 negotiate response received from a remote device when SMB1 cannot be negotiated by the local computer.
Chạy lời nhắc PowerShell nâng cao và xác minh rằng SMB1Protocol-Client đã bị tắt (State: Disabled
):
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Bật giao thức ứng dụng khách SMBv1 (khởi động lại là bắt buộc):
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Bạn cũng có thể bật / tắt các tính năng bổ sung trong Windows 10 và 11 từ optionalfeatures.exe
. Mở rộng Hỗ trợ Chia sẻ Tệp SMB 1.0 / CIFS và bật Máy khách SMB 1.0 / CIFS.
Trên Windows 10 1809 và mới hơn, ứng dụng SMBv1 tự động bị xóa nếu nó không được sử dụng trong hơn 15 ngày ( SMB 1.0 / CIFS Automatic Removal thành phần chịu trách nhiệm về điều này).
Trong ví dụ này, tôi chỉ bật ứng dụng SMBv1. Không bật tính năng SMB1Protocol-Server nếu máy tính của bạn không được các máy khách cũ sử dụng làm máy chủ SMB để lưu trữ các thư mục chia sẻ.
Sau khi cài đặt ứng dụng khách SMBv1, bạn sẽ có thể kết nối với thư mục hoặc máy in được chia sẻ mà không gặp bất kỳ sự cố nào. Tuy nhiên, bạn nên hiểu rằng cách giải quyết này không được khuyến khích vì nó làm giảm tính bảo mật của máy tính của bạn.
Windows không thể truy cập thư mục được chia sẻ:Bạn không có quyền
Khi kết nối với thư mục mạng chia sẻ trên máy tính từ xa, lỗi có thể xuất hiện:
Network Error Windows cannot access \\PC12\Share You do not have permission to access \\PC12\Share. Contact your network administrator to request access.
Khi lỗi này xảy ra, bạn cần:
- Đảm bảo rằng người dùng bạn đang sử dụng để truy cập vào thư mục được chia sẻ được cấp quyền truy cập vào phần chia sẻ từ xa. Mở thuộc tính của thư mục được chia sẻ trên máy chủ và đảm bảo rằng người dùng của bạn có ít nhất quyền đọc. Ngoài ra, bạn có thể kiểm tra quyền chia sẻ trên máy chủ từ xa bằng PowerShell:
Get-SmbShareAccess -Name "tools"
Sau đó, kiểm tra quyền đối với thư mục NTFS:
get-acl C:\tools\ |fl
Nếu cần, hãy chỉnh sửa quyền trong thư mục và / hoặc chia sẻ thuộc tính; - Đảm bảo rằng bạn đang sử dụng đúng tên người dùng và mật khẩu để truy cập vào thư mục mạng. Nếu bạn không được nhắc nhập tên người dùng và mật khẩu, hãy thử xóa thông tin đăng nhập đã lưu (đã lưu trong bộ nhớ cache) để chia sẻ từ xa trong Trình quản lý thông tin đăng nhập Windows. Chạy lệnh
rundll32.exe keymgr.dll, KRShowKeyMgr
và xóa thông tin xác thực đã lưu trong bộ nhớ cache cho máy tính từ xa mà bạn đang cố gắng truy cập.
Lần tiếp theo bạn kết nối với thư mục chia sẻ, bạn sẽ được nhắc nhập tên người dùng và mật khẩu . Chỉ định thông tin xác thực để truy cập thư mục chia sẻ mạng trên máy tính từ xa. Bạn có thể lưu nó trong Trình quản lý thông tin xác thực hoặc thêm nó theo cách thủ công.
Các bản sửa lỗi khác:Windows không thể truy cập các thư mục được chia sẻ
Phần này cung cấp các cách bổ sung để khắc phục sự cố khi mở thư mục mạng trong Windows:
- Đảm bảo rằng máy tính từ xa cho phép kết nối đến với các thư mục mạng được chia sẻ bằng giao thức SMB (cổng TCP 445). Bạn có thể kiểm tra tính khả dụng của cổng 445 trên một máy tính từ xa bằng lệnh Test-NetConnection:
Test-NetConnection -ComputerName HomePC212 -Port 445
Nếu lệnh ghép ngắn trả vềTcpTestSucceeded : False
, điều này có nghĩa là quyền truy cập vào thư mục mạng trên máy tính từ xa đang bị tường lửa chặn. Kết nối có thể bị chặn bởi chương trình chống vi-rút hoặc tường lửa (Tường lửa của Bộ bảo vệ Windows bên thứ ba hoặc tích hợp sẵn). Nếu bạn đang sử dụng Bộ bảo vệ Windows, hãy bật Chia sẻ tệp và máy in quy tắc ( Bảng điều khiển \ Hệ thống và bảo mật \ Tường lửa của Bộ bảo vệ Windows \ Ứng dụng được phép \ Cho phép ứng dụng giao tiếp thông qua Tường lửa của Windows ) trên máy chủ chia sẻ tệp cho cả ba cấu hình mạng.
Hoặc tạo quy tắc tường lửa với PowerShell:New-NetFirewallRule -DisplayName "Allow_SBM-FileSharing_In" -Direction Inbound -Protocol TCP –LocalPort 445 -Action Allow
- Nếu bạn không thể mở các ổ đĩa mạng được ánh xạ (thư mục), hãy thử xóa thông tin đăng nhập đã lưu trong bộ nhớ cache trong Trình quản lý thông tin đăng nhập Windows, xóa các ổ đĩa mạng được ánh xạ (với
Net Use * /delete
lệnh) và kết nối lại chúng; - Cố gắng sử dụng địa chỉ IP của máy tính từ xa thay vì tên của nó để truy cập vào thư mục. Ví dụ:
Win+R
->\\192.168.12.20
-> Được. - Đảm bảo các máy tính của bạn được tham gia vào cùng một nhóm làm việc. Có thể tìm thấy tên của nhóm làm việc trên máy tính bằng PowerShell:
Get-WmiObject Win32_ComputerSystem).domain
- Đặt lại cài đặt ngăn xếp TCP / IP và cập nhật địa chỉ IP trên máy tính của bạn:
netsh int ip reset
netsh winsock reset
ipconfig /flushdns
ipconfig /release
ipconfig /renew