10 cách để bảo mật máy chủ Samba của bạn trên Linux

Mục lục
Chìa khóa rút ra
- Kích hoạt mã hóa cho lưu lượng SMB để ngăn truy cập trái phép và tấn công mạng. Sử dụng Bảo mật tầng vận chuyển (TLS) để bảo mật lưu lượng truy cập của máy chủ Linux Samba của bạn.
- Triển khai các quyền và kiểm soát truy cập nghiêm ngặt đối với các tài nguyên được chia sẻ bằng cách sử dụng tệp cấu hình /etc/samba/smb.conf. Xác định quy tắc truy cập, quyền và hạn chế để đảm bảo chỉ những người dùng được ủy quyền mới có thể truy cập tài nguyên.
- Thực thi mật khẩu mạnh và duy nhất cho tài khoản người dùng SMB để tăng cường bảo mật. Thường xuyên cập nhật Linux và Samba để bảo vệ khỏi các lỗ hổng bảo mật và các cuộc tấn công mạng, đồng thời tránh sử dụng giao thức SMBv1 không an toàn.
- Định cấu hình các quy tắc tường lửa để hạn chế quyền truy cập vào các cổng SMB và xem xét phân đoạn mạng để cách ly lưu lượng SMB khỏi các mạng không đáng tin cậy. Theo dõi nhật ký SMB để biết các hoạt động đáng ngờ và sự cố bảo mật, đồng thời giới hạn quyền truy cập của khách và kết nối ẩn danh.
- Thực hiện các hạn chế dựa trên máy chủ để kiểm soát quyền truy cập vào các máy chủ cụ thể và từ chối quyền truy cập của những người khác. Thực hiện các biện pháp bảo mật bổ sung để củng cố mạng của bạn và củng cố máy chủ Linux của bạn.
Giao thức SMB (Khối tin nhắn máy chủ) là nền tảng của việc chia sẻ tệp và máy in trong các môi trường được kết nối. Tuy nhiên, cấu hình mặc định của Samba có thể gây ra rủi ro bảo mật đáng kể, khiến mạng của bạn dễ bị truy cập trái phép và tấn công mạng.
Nếu bạn đang lưu trữ một máy chủ Samba, bạn cần hết sức thận trọng với các cấu hình bạn đã đặt. Dưới đây là 10 bước quan trọng để đảm bảo máy chủ SMB của bạn luôn an toàn và được bảo vệ.
1. Kích hoạt mã hóa cho lưu lượng SMB
Theo mặc định, lưu lượng SMB không được mã hóa. Bạn có thể xác minh điều này bằng cách chụp các gói mạng bằng tcpdump hoặc Wireshark. Điều tối quan trọng là bạn phải mã hóa tất cả lưu lượng truy cập để ngăn kẻ tấn công chặn và phân tích lưu lượng.
Bạn nên thiết lập Bảo mật tầng vận chuyển (TLS) để mã hóa và bảo mật lưu lượng truy cập của máy chủ Linux Samba.
2. Thực hiện quyền và kiểm soát truy cập nghiêm ngặt đối với tài nguyên được chia sẻ
Bạn nên triển khai các quyền và kiểm soát truy cập nghiêm ngặt để đảm bảo rằng những người dùng được kết nối không thể truy cập các tài nguyên không mong muốn. Samba sử dụng tệp cấu hình trung tâm /etc/samba/smb.conf cho phép bạn xác định quy tắc truy cập và quyền.
Sử dụng cú pháp đặc biệt, bạn có thể xác định tài nguyên để chia sẻ, người dùng/nhóm để cấp quyền truy cập vào các tài nguyên đó và liệu (các) tài nguyên đó có thể được duyệt, ghi lên hoặc đọc từ đó hay không. Đây là cú pháp mẫu để khai báo một tài nguyên và triển khai các điều khiển truy cập trên đó:
[sambashare]
comment= Samba Example
path = /home/your_username/sambashare
browseable = yes
writable = yes
valid users = @groupname
Trong các dòng trên, chúng tôi thêm một vị trí chia sẻ mới với một đường dẫn và với những người dùng hợp lệ, chúng tôi hạn chế quyền truy cập vào phần chia sẻ chỉ cho một nhóm duy nhất. Có nhiều cách khác để xác định các điều khiển và quyền truy cập vào một chia sẻ. Bạn có thể tìm hiểu thêm về nó từ hướng dẫn chuyên dụng của chúng tôi về cách thiết lập thư mục chia sẻ mạng trên Linux với Samba.
3. Sử dụng mật khẩu mạnh và duy nhất cho tài khoản người dùng SMB
Thực thi các chính sách mật khẩu mạnh mẽ cho tài khoản người dùng SMB là phương pháp bảo mật cơ bản tốt nhất. Là quản trị viên hệ thống, bạn nên tạo hoặc thúc giục tất cả người dùng tạo mật khẩu mạnh và duy nhất cho tài khoản của họ.
Bạn cũng có thể tăng tốc quá trình này bằng cách tự động tạo mật khẩu mạnh bằng các công cụ. Theo tùy chọn, bạn cũng có thể thường xuyên xoay vòng mật khẩu để giảm thiểu rủi ro rò rỉ dữ liệu và truy cập trái phép.
4. Thường xuyên cập nhật Linux và Samba
Hình thức phòng thủ thụ động đơn giản nhất chống lại tất cả các loại tấn công mạng là đảm bảo rằng bạn đang chạy các phiên bản cập nhật của phần mềm quan trọng. SMB dễ bị tổn thương. Nó luôn là mục tiêu béo bở cho những kẻ tấn công.
Trước đây đã có nhiều lỗ hổng SMB nghiêm trọng dẫn đến việc tiếp quản hoàn toàn hệ thống hoặc mất dữ liệu bí mật. Bạn phải cập nhật cả hệ điều hành và các dịch vụ quan trọng trên đó.
5. Tránh sử dụng giao thức SMBv1
SMBv1 là một giao thức không an toàn. Chúng tôi luôn khuyên rằng bất cứ khi nào bạn sử dụng SMB, có thể là trên Windows hoặc Linux, bạn nên tránh sử dụng SMBv1 và chỉ sử dụng SMBv2 trở lên. Để tắt giao thức SMBv1, hãy thêm dòng này vào tệp cấu hình:
min protocol = SMB2
Điều này đảm bảo rằng mức giao thức tối thiểu được sử dụng sẽ là SMBv2.
6. Thực thi các quy tắc tường lửa để hạn chế quyền truy cập vào các cổng SMB
Định cấu hình tường lửa mạng của bạn để cho phép truy cập vào các cổng SMB, thường chỉ là cổng 139 và cổng 445 từ các nguồn đáng tin cậy. Điều này giúp ngăn chặn truy cập trái phép và giảm nguy cơ tấn công dựa trên SMB từ các mối đe dọa bên ngoài.
Bạn cũng nên xem xét việc cài đặt giải pháp IDS cùng với tường lửa chuyên dụng để kiểm soát và ghi lại lưu lượng truy cập tốt hơn. Không chắc chắn nên sử dụng tường lửa nào? Bạn có thể tìm thấy cái phù hợp với mình từ danh sách tường lửa Linux miễn phí tốt nhất để sử dụng.
7. Thực hiện phân đoạn mạng để tách biệt lưu lượng SMB khỏi các mạng không đáng tin cậy
Phân đoạn mạng là kỹ thuật phân chia một mô hình nguyên khối duy nhất của mạng máy tính thành nhiều mạng con, mỗi mạng được gọi là phân đoạn mạng. Điều này được thực hiện để cải thiện tính bảo mật, hiệu suất và khả năng quản lý của mạng.
Để cách ly lưu lượng truy cập SMB khỏi các mạng không đáng tin cậy, bạn có thể tạo một phân đoạn mạng riêng cho lưu lượng truy cập SMB và định cấu hình các quy tắc tường lửa để chỉ cho phép lưu lượng truy cập SMB đến và từ phân đoạn này. Điều này cho phép bạn quản lý và giám sát lưu lượng SMB một cách tập trung.
Trên Linux, bạn có thể sử dụng iptables hoặc một công cụ mạng tương tự để định cấu hình các quy tắc tường lửa nhằm kiểm soát luồng lưu lượng giữa các phân đoạn mạng. Bạn có thể tạo quy tắc để cho phép lưu lượng truy cập SMB đến và từ phân đoạn mạng SMB trong khi chặn tất cả lưu lượng truy cập khác. Điều này sẽ cách ly hiệu quả lưu lượng SMB khỏi các mạng không đáng tin cậy.
8. Giám sát Nhật ký SMB để biết các hoạt động đáng ngờ và sự cố bảo mật
Theo dõi nhật ký SMB để biết các hoạt động đáng ngờ và sự cố bảo mật là một phần quan trọng trong việc duy trì tính bảo mật cho mạng của bạn. Nhật ký SMB chứa thông tin về lưu lượng SMB, bao gồm quyền truy cập tệp, xác thực và các sự kiện khác. Bằng cách thường xuyên theo dõi các nhật ký này, bạn có thể xác định các mối đe dọa bảo mật tiềm ẩn và giảm thiểu chúng.
Trên Linux, bạn có thể sử dụng lệnh journalctl và chuyển đầu ra của nó sang lệnh grep để xem và phân tích nhật ký SMB.
journalctl -u smbd.service
Thao tác này sẽ hiển thị nhật ký cho đơn vị smbd.service chịu trách nhiệm quản lý lưu lượng SMB. Bạn có thể sử dụng tùy chọn -f để theo dõi nhật ký trong thời gian thực hoặc sử dụng tùy chọn -r để xem các mục nhập gần đây nhất trước tiên.
Để tìm kiếm nhật ký cho các sự kiện hoặc mẫu cụ thể, hãy chuyển đầu ra của lệnh journalctl thành grep. Ví dụ: để tìm kiếm các lần xác thực không thành công, hãy chạy:
journalctl -u smbd.service | grep -i "authentication failure"
Điều này sẽ hiển thị tất cả các mục nhật ký có chứa văn bản “xác thực thất bại”, cho phép bạn nhanh chóng xác định bất kỳ hoạt động đáng ngờ hoặc nỗ lực vũ phu nào.
9. Hạn chế sử dụng quyền truy cập của khách và kết nối ẩn danh
Kích hoạt quyền truy cập của khách cho phép người dùng kết nối với máy chủ Samba mà không cần cung cấp tên người dùng hoặc mật khẩu, trong khi kết nối ẩn danh cho phép người dùng kết nối mà không cần cung cấp bất kỳ thông tin xác thực nào.
Cả hai tùy chọn này đều có thể gây rủi ro bảo mật nếu không được quản lý đúng cách. Bạn nên tắt cả hai thứ này. Để làm điều đó, bạn cần thêm hoặc sửa đổi một vài dòng trong tệp cấu hình Samba. Đây là những gì bạn cần thêm/sửa đổi trong phần chung của tệp smb.conf:
map to guest = never
restrict anonymous = 2
10. Thực hiện các hạn chế dựa trên máy chủ
Theo mặc định, bất kỳ máy chủ (địa chỉ IP) nào cũng có thể truy cập máy chủ Samba mà không bị hạn chế. Bằng cách truy cập, nó có nghĩa là thiết lập kết nối chứ không phải truy cập tài nguyên theo nghĩa đen.
Để cho phép truy cập vào các máy chủ cụ thể và từ chối nghỉ ngơi, bạn có thể sử dụng các tùy chọn cho phép máy chủ và từ chối máy chủ. Đây là cú pháp để thêm vào tệp cấu hình để cho phép/từ chối máy chủ:
hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0
Ở đây bạn đang ra lệnh cho Samba từ chối tất cả các kết nối ngoại trừ các kết nối của máy chủ cục bộ và mạng 192.168.1.0/24. Đây cũng là một trong những cách cơ bản để bảo mật máy chủ SSH của bạn.
Bây giờ bạn đã biết cách bảo mật máy chủ Samba Linux của mình
Linux là tuyệt vời để lưu trữ các máy chủ. Tuy nhiên, bất cứ khi nào bạn xử lý các máy chủ, bạn phải cẩn thận và lưu ý hơn vì các máy chủ Linux luôn là mục tiêu béo bở cho các tác nhân đe dọa.
Điều tối quan trọng là bạn phải nỗ lực chân thành để củng cố mạng và củng cố các máy chủ Linux của mình. Bên cạnh việc định cấu hình Samba đúng cách, có một số biện pháp khác mà bạn nên thực hiện để đảm bảo máy chủ Linux của mình an toàn trước sự dòm ngó của kẻ thù.