Cách bảo mật Linux Home Server

Có rất nhiều lý do để thiết lập một home server (máy chủ tại nhà). Bạn có thể sử dụng nó như một media server, file server hoặc thậm chí là máy chủ sao lưu cục bộ. Về cơ bản, bất kỳ file nào không cần trực tuyến đều là ứng cử viên tốt cho home server. Thiết lập một home server chạy Linux tương đối dễ dàng, đặc biệt là trong thời buổi hiện nay. Tuy nhiên, việc giữ cho máy chủ đó an toàn là một câu chuyện khác hoàn toàn. Bảo mật là một nhiệm vụ khó khăn nhưng vô cùng quan trọng.

Chỉ cài đặt những gì bạn thực sự cần

Một trong những cách dễ nhất để đảm bảo an toàn cho home server là chú trọng vào yếu tố bảo mật ngay từ đầu. Hãy bắt đầu với việc cài đặt. Nếu bạn không chắc chắn bạn cần một ứng dụng hoặc dịch vụ nào đó, thì đừng cài đặt nó. Bạn luôn có thể cài đặt nó sau nếu cần.

Nếu bạn đã cài đặt Linux một vài lần, việc này thậm chí còn dễ dàng hơn. Thay vì gắn bó với các tùy chọn mặc định, hãy sử dụng các chế độ cho phép bạn kiểm soát cài đặt nhiều nhất. Đôi khi những cái này được đặt tên là “expert mode” hay một cái tên nào đó tương tự

Theo dõi cẩn thận những tùy chọn cài đặt có thể giúp bạn tiết kiệm thời gian vô hiệu hóa các dịch vụ vì lý do bảo mật sau này.

Cấu hình sudo

Trước khi chuyển sang bất kỳ bước nào khác, bạn cần cấu hình sudo. Tại sao ư? Bởi vì bạn sẽ đăng nhập vào máy chủ của mình thông qua SSH và bạn không thể đăng nhập với tài khoản root. Để thực hiện bất kỳ thay đổi nào nữa cho hệ thống, bạn sẽ cần sử dụng sudo.

Trước tiên, hãy kiểm tra xem bạn có thể sử dụng sudo không. Từ tài khoản người dùng, hãy chạy lệnh sau với tên người dùng thực thay thế cho USERNAME:

sudo -lU USERNAME

Nếu bạn thấy một thông báo được hiển thị cho biết tên người dùng có thể chạy được “(ALL) ALL” hoặc một cái gì đó tương tự, bạn đã sẵn sàng để tiếp tục.

Bây giờ, với tư cách là tài khoản root trên server, hãy chạy lệnh sau để chỉnh sửa file “/etc/sudoers”. Nếu bạn thích một trình soạn thảo khác, hãy sử dụng nó thay vì nano.

EDITOR=nano visudo

Chỉnh sửa file và bao gồm các mục sau, với tên người dùng thực thay thế cho USERNAME:

USERNAME ALL=(ALL) ALL

Cấu hình SSH

Cấu hình SSH

Hãy kích hoạt SSH trên home server. Thực tế, bạn có thể làm như vậy, vì đây thường là cách bạn tương tác với máy chủ.

Đầu tiên, đảm bảo OpenSSH được cài đặt. Nếu bạn sử dụng bản phân phối khác, lệnh sẽ thay đổi, nhưng tên gói khá nhất quán. Trên Ubuntu, hãy chạy lệnh sau:

sudo apt install openssh-server

Sử dụng xác thực dựa trên key an toàn hơn nhiều so với xác thực mật khẩu, vì vậy ta sẽ thiết lập SSH để hoạt động theo cách này. Để thực hiện việc này, hãy đảm bảo rằng bạn đang làm việc trên máy khách mà bạn dự định kết nối với máy chủ, chứ không phải chính máy chủ. Trước tiên, bạn muốn chắc chắn rằng bạn không có bất kỳ SSH key nào:

ls ~/.ssh/

Nếu bạn thấy “id_rsa”“id_rsa.pub”, trong số các tên file được liệt kê, bạn đã có SSH key. Bỏ qua bước tiếp theo này.

ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"

Bây giờ bạn sẽ sao chép SSH key vào máy chủ:

ssh-copy-id USERNAME@SERVER

Đối với home server, bạn có thể đang sử dụng địa chỉ IP cho máy chủ thay vì tên. Nếu bạn không biết tên máy chủ của mình, hãy sử dụng địa chỉ IP thay vì SERVER ở trên.

Bây giờ, ta sẽ chỉnh sửa cài đặt SSH để bảo mật hơn. Đăng nhập vào máy chủ từ máy khách mà bạn đã tạo các key. Điều này sẽ cho phép bạn đăng nhập lại sau bước này. Thực thi lệnh sau, thay thế nano bằng trình chỉnh sửa bạn chọn.

sudo nano /etc/ssh/sshd_config

Chỉnh sửa file với các cài đặt sau. Chúng sẽ được đặt ở những nơi khác nhau trong file. Đảm bảo không có bản sao, vì chỉ có phiên bản đầu tiên của cài đặt được theo dõi.

ChallengeResponseAuthentication no
 PasswordAuthentication no
 UsePAM no
 PermitRootLogin no

Bây giờ, bạn cần khởi động lại máy chủ SSH bằng một trong các lệnh sau.

Trên Ubuntu, hãy chạy:

sudo systemctl restart ssh

Cấu hình tường lửa

Tùy thuộc vào các dịch vụ mà bạn đang chạy và số lượng máy chủ kết nối với Internet, bạn có thể muốn sử dụng tường lửa. Có một vài lựa chọn cho việc này, nhưng phương pháp đã được thử nghiệm và hoạt động tốt trên Linux là iptables.

Thiết lập iptables nằm ngoài phạm vi của bài viết này, nhưng đừng lo lắng! Quantrimang.com có một hướng dẫn đầy đủ để cách cấu hình iptables trên máy tính Linux.

Một cách khác dễ dàng hơn để thiết lập tường lửa là sử dụng ufw. Bạn có thể cài đặt nó bằng lệnh:

sudo apt install ufw

Theo mặc định, thao tác này sẽ chặn tất cả các cổng. Để cho phép truy cập SSH và trực tuyến, hãy chạy các lệnh ufw sau để mở các cổng 80, 44322:

sudo ufw allow 80
 sudo ufw allow 443
 sudo ufw allow 22

Và cuối cùng, kích hoạt ufw:

sudo ufw enable

Luôn chú ý cập nhật!

Chú ý cập nhật

Máy chủ có thể dễ dàng bị quên lãng, nếu chúng vẫn hoạt động bình thường, nhưng điều này có thể rất nguy hiểm. Hãy chắc chắn phần mềm của bạn luôn được cập nhật. Bạn có thể sử dụng các bản nâng cấp không giám sát (cập nhật tự động), nhưng không thể đoán trước được điều gì về chúng. Cách an toàn nhất là lên lịch bảo trì máy chủ hàng tuần hoặc hàng tháng để đảm bảo mọi thứ đều ổn.

Bây giờ bạn đã có một khởi đầu tốt đẹp để giữ cho máy chủ của mình được bảo vệ khỏi các mối đe dọa bên ngoài. Nếu bạn cần truy cập máy chủ từ nhà thì sao? Mọi cánh cửa bạn mở đều có khả năng bị kẻ tấn công lợi dụng và khai thác.

Một trong những cách dễ nhất để truy cập mạng gia đình từ bên ngoài là sử dụng VPN. Hãy xem danh sách các dịch vụ VPN bảo mật tốt nhất hiện có của Quantrimang.com để biết đâu là lựa chọn phù hợp với bạn!.

Chúc bạn thực hiện thành công!

Thứ Tư, 12/06/2019 11:02
31 👨 83