Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Smb

    Giao thức SMB trên Windows Server và vấn đề chia sẻ File Sharing trong môi trường mạng doanh nghiệp


    Nếu hệ thống file NTFS giúp kỹ sư chúng ta kiểm soát ai được phép truy cập dữ liệu, thì SMB chính là giao thức giúp đưa dữ liệu đó ra mạng để người dùng sử dụng. Nói một cách đơn giản để các bạn so sánh hai thuật ngữ:
    • NTFS = khóa cửa bên trong
    • SMB = cánh cửa để người dùng đi vào
    Hầu như mọi môi trường Windows của doanh nghiệp đều dùng SMB mỗi ngày, dù người dùng thường không để ý. Sau đây là ví dụ:
    • \\fileserver\Finance
    • \\dc01\SharedDocs
    • map network drive Z:
    Tất cả những đường chia sẻ tài nguyên trên cuối cùng đều đang dùng giao thức SMB. Vậy thật ra, giao thức SMB là gì?


    SMB (Server Message Block) là giao thức chia sẻ file được Windows client và Windows Server sử dụng để truy cập tài nguyên qua mạng. Điều đáng ngạc nhiên là SMB không chỉ chia sẻ file, nó còn hỗ trợ:
    • File sharing
    • Printer sharing
    • Named pipes
    • Inter-process communication
    Nói cách khác, SMB là nền tảng cho nhiều dịch vụ chia sẻ tài nguyên trong hệ sinh thái Microsoft (và cả chia sẻ với Linux). SMB hoạt động như thế nào?


    Khi user mở:
    \\FileServer\Projects
    Quy trình diễn ra gồm 7 bước cụ thể như sau:
    • Client tìm địa chỉ IP của FileServer qua DNS
    • Client kết nối TCP tới server (thường là port 445)
    • Quá trình bắt tay SMB negotiation diễn ra
    • Quá trình xác thực Authentication qua Active Directory/Kerberos hoặc NTLM
    • Máy chủ SMB Server kiểm tra quyền Share Permission
    • Máy chủ Server kiểm tra NTFS Permission
    • Nếu mọi thức là hợp lệ → user truy cập dữ liệu
    Điểm rất quan trọng SMB access = Share Permission + NTFS Permission. Quyền thực tế luôn là quyền chặt hơn giữa hai lớp.
    Ví dụ:
    • Share = Full Control
    • NTFS = Read
    Kết quả sau cùng: User chỉ được Read. Các phiên bản SMB


    SMB đã tiến hóa khá mạnh. SMB 1.x


    Phiên bản rất cũ. Từng phổ biến trong thời Windows XP / Server 2003. Nhược điểm của SMB 1.X:
    • chậm
    • kém bảo mật
    • dễ bị khai thác
    WannaCry là ví dụ kinh điển của loại malware khai thác SMB. Do đó, ngày nay SMBv1 nên bị disable. SMB 3.0


    Đây là bước nhảy lớn. Microsoft bổ sung:
    • SMB Multichannel
    • SMB Direct (RDMA)
    • Transparent Failover
    • SMB Encryption
    Ý nghĩa của sự bổ sung này là SMB không còn chỉ là file sharing đơn giản mà đủ mạnh cho datacenter. Ví dụ Hyper-V over SMB. SMB 3.0.2


    Bổ sung tính năng Scale-Out File Server. Cho phép nhiều node cùng phục vụ file share. Rất hữu ích cho clustering. Ngoài ra Microsoft bắt đầu cho phép loại bỏ SMB 1.x. SMB 3.1.1


    Phiên bản hiện đại hơn. Bổ sung thêm tính năng Pre-authentication integrity. Ngăn tấn công man-in-the-middle ngay từ giai đoạn handshake. Encryption improvements giúp Mã hóa mạnh hơn. Tính năng Cluster dialect fencing giúp tăng độ an toàn cho clustered environments. LAB hướng dẫn cấu hình SMB Share


    Windows Server cung cấp nhiều cách. 1. GUI (Server Manager)


    Đây là cách admin mới thường dùng. Đi vào:
    Server Manager
    → File and Storage Services
    → Shares
    → Tasks
    → New Share Các SMB Share Profiles


    Windows cung cấp 3 profile chính. Quick


    Tạo share nhanh. Dùng khi:
    • lab
    • testing
    • nhu cầu đơn giản
    Ít tùy chỉnh. Advanced


    Cho phép chúng ta cấu hình sâu:
    • access-based enumeration
    • caching
    • encryption
    • offline settings
    • quotas
    Đây là kiểu mà doanh nghiệp hay dùng. Applications


    Dành cho workload ứng dụng.
    Ví dụ:
    • Hyper-V
    • SQL workloads
    • clustered applications
    PowerShell quản lý SMB


    System Engineer nên quen PowerShell. Tạo SMB Share


    New-SmbShare -Name Finance -Path D:\Finance Xem share hiện có


    Get-SmbShare Thay đổi cấu hình share


    Set-SmbShare
    Ví dụ bật encryption:
    Set-SmbShare -Name Finance -EncryptData $true Xóa share


    Remove-SmbShare -Name Finance Xem session đang kết nối


    Get-SmbSession
    Lệnh này rất Hữu ích khi troubleshooting:
    "ai đang mở file?" Xem file đang mở


    Get-SmbOpenFile
    Ví dụ khi gặp:
    "File đang được sử dụng, không rename được." Giới hạn bandwidth


    Set-SmbBandwidthLimit
    Hữu ích khi tránh SMB chiếm hết băng thông. Best Practices thực chiến

    1. Disable SMBv1


    Nếu còn bật SMB1 đó là lỗi kỹ thuật thiết kế. 2. Ưu tiên SMB Encryption


    tính năng mã hóa đặc biệt hữu ích cho các loại tài nguyên như:
    • dữ liệu nhạy cảm
    • file server giữa site
    • môi trường cần tính tương thích cao compliance như ngân hàng, quân đội, công an....
    3. Dùng AGDLP cho permission


    Không cấp quyền lung tung cho từng user. 4. Tách Share Permission và NTFS hợp lý


    Mô hình phổ biến:
    Share:
    Everyone = Full Control
    NTFS:
    quản lý thật sự tại đây.
    Cách này giúp đơn giản hóa. 5. Monitor active sessions


    Các lệnh:
    Get-SmbSession
    Get-SmbOpenFile
    rất hữu ích khi support người dùng. Một ví dụ thực tế


    Finance team cần thư mục dùng chung.
    Bạn hãy tạo:
    New-SmbShare -Name Finance -Path D:\Finance
    Sau đó phân quyền trên NTFS:
    • Finance Managers = Modify
    • Finance Staff = Read
    • IT Admins = Full Control
    User truy cập:
    \\FS01\Finance
    Windows sẽ:
    • xác thực user
    • kiểm tra share permission
    • kiểm tra NTFS ACL
    • cho phép hoặc từ chối
    Góc nhìn System Engineer


    Nếu networking có:
    • TCP/IP
    • DNS
    • DHCP
    Thì Windows Infrastructure có:
    • AD
    • DNS
    • SMB
    SMB là thứ gần như admin chúng ta nào cũng đụng tới mỗi ngày.​
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X