Có nhiều lý do để thiết lập home server. Bạn có thể dùng nó làm media server, file server, hoặc thậm chí local backup server. Cơ bản, bất kỳ tệp nào của bạn không cần online đều là ứng cử viên tốt cho home server. Thiết lập home server chạy Linux tương đối dễ, đặc biệt ngày nay. Tuy nhiên, giữ server đó an toàn là chuyện khác hoàn toàn. Bảo mật có thể thorny (tricky), cũng như 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 giữ home server an toàn là nhớ bảo mật từ đầu. Điều này bắt đầu từ cài đặt. Bạn không chắc có cần ứng dụng hay dịch vụ không? Đừng cài. Bạn luôn có thể cài sau.
Nếu bạn cài Linux vài lần, điều này thậm chí dễ hơn. Thay vì dùng mặc định, dùng chế độ cho bạn kiểm soát nhiều nhất. Đôi khi chúng tên "expert mode" (chế độ chuyên gia) hoặc tương tự.
Theo dõi cẩn thận tùy chọn cài đặt có thể tiết kiệm thời gian vô hiệu hóa dịch vụ vì lý do bảo mật sau.
Cấu Hình sudo
Trước khi chuyển sang bước khác, bạn cần cấu hình sudo. Tại sao? Vì khi xong ở đây, bạn sẽ đăng nhập server qua SSH, và bạn sẽ không thể đăng nhập bằng tài khoản root. Để làm bất kỳ thay đổi nào thêm, bạn sẽ cần sudo.
Trước hết, kiểm tra xem bạn đã có thể dùng sudo chưa. Từ tài khoản user, chạy lệnh sau với tên user thay vì USERNAME:
sudo -lU USERNAME
Nếu thấy thông báo hiển thị user có thể chạy "(ALL) ALL", hoặc tương tự, bạn sẵn sàng tiến tiếp.
Bây giờ, với tài khoản root trên server, chạy sau để chỉnh tệp "/etc/sudoers". Nếu thích editor khác, dùng thay nano.
EDITOR=nano visudo
Chỉnh tệp để bao gồm sau, với user thay USERNAME:
USERNAME ALL=(ALL) ALL
Cấu Hình SSH

Bạn có thể đã bật SSH trên home server. Bạn có thể, thực tế, vì đây thường là cách bạn tương tác với server.
Trước tiên, đảm bảo OpenSSH cài đặt. Nếu dùng bản phân phối khác, lệnh sẽ khác, nhưng tên gói khá nhất quán. Trên Ubuntu, chạy:
sudo apt install openssh-server
Dùng xác thực dựa trên khóa (key-based authentication) an toàn hơn xác thực mật khẩu, nên chúng ta sẽ thiết lập SSH làm việc cách này. Để làm vậy, đảm bảo bạn làm việc trên client bạn dự định kết nối đến server, không phải server. Trước tiên, đảm bảo bạn chưa có khóa SSH:
ls ~/.ssh/
Nếu thấy "id_rsa" và "id_rsa.pub" trong tên tệp liệt kê, bạn đã có khóa SSH. Bỏ qua bước tiếp theo.
ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"
Bây giờ bạn sao chép khóa SSH đến server:
ssh-copy-id USERNAME@SERVER
Đối với home server, bạn có thể dùng địa chỉ IP cho server thay vì tên. Nếu không biết tên server, dùng IP thay SERVER ở trên.
Bây giờ chỉnh cài đặt SSH để an toàn hơn. Đăng nhập server từ client bạn tạo khóa. Điều này cho phép bạn đăng nhập lại sau bước này. Chạy sau, thay nano bằng editor bạn chọn.
sudo nano /etc/ssh/sshd_config
Chỉnh tệp với các cài đặt sau. Chúng nằm ở các nơi khác nhau trong tệp. Đảm bảo không có bản sao, vì chỉ instance đầu tiên của cài đặt sẽ được tuân theo.
ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no PermitRootLogin no
Bây giờ bạn cần khởi động lại máy chủ SSH với một trong các lệnh sau.
Trên Ubuntu, chạy:
sudo systemctl restart ssh
Cấu Hình Tường Lửa (Firewall)
Tùy thuộc dịch vụ bạn chạy và server kết nối Internet như thế nào, bạn có thể muốn chạy tường lửa. Có vài lựa chọn, nhưng phương pháp kinh điển trên Linux là iptables.
Thiết lập iptables ngoài phạm vi bài này, nhưng đừng lo. Chúng tôi có hướng dẫn hoàn chỉnh cấu hình iptables trên máy bạn.
Một cách dễ hơn thiết lập tường lửa là dùng ufw. Bạn cài với lệnh:
sudo apt install ufw
Mặc định, nó chặn tất cả cổng. Để cho phép truy cập web và ssh, chạy lệnh ufw sau mở cổng 80, 443, và 22:
sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 22
Và cuối cùng, bật dịch vụ ufw:
sudo ufw enable
Luôn Cập Nhật (Stay Up to Date)

Server dễ quên nếu nó chỉ làm việc, nhưng điều này nguy hiểm. Đảm bảo phần mềm cập nhật. Bạn có thể dùng unattended upgrades (cập nhật tự động), nhưng chúng có thể bất ngờ. Cách an toàn nhất là lên lịch bảo trì server hàng tuần hoặc hàng tháng để đảm bảo mọi thứ ổn.
Đi Đâu Từ Đây
Bây giờ bạn có khởi đầu tốt bảo vệ server khỏi đe dọa bên ngoài. Nhưng nếu bạn cần truy cập server từ nhà? Mỗi cửa bạn mở có thể bị kẻ tấn công dùng, và mỗi cổng mở tăng độ dễ bị tổn thương.
Một trong những cách dễ nhất truy cập mạng nhà từ ngoài là dùng VPN, ngoài phạm vi bài này, nhưng đừng lo, chúng tôi lo cho bạn. Xem danh sách dịch vụ VPN an toàn tốt nhất để biết lựa chọn.