Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách bảo mật máy chủ gia đình Linux

Cách bảo mật máy chủ gia đình Linux

Có rất nhiều lý do để thiết lập một máy chủ gia đình. Bạn có thể sử dụng nó như một máy chủ phương tiện, một máy chủ tệp hoặc thậm chí là một máy chủ sao lưu cục bộ. Về cơ bản, bất kỳ tệp nào của bạn không cần trực tuyến đều là những ứng cử viên sáng giá cho một máy chủ gia đình. Việc thiết lập một máy chủ gia đình chạy bằng Linux tương đối dễ dàng, đặc biệt là những ngày này. Điều đó nói rằng, việc giữ an toàn cho máy chủ đó hoàn toàn là một câu chuyện khác. Bảo mật có thể phức tạp nhưng nó rất 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ữ an toàn cho máy chủ gia đình của bạn là lưu ý bảo mật ngay từ đầu. Điều này bắt đầu với cài đặt. Bạn không chắc mình có cần ứng dụng hoặc dịch vụ không? Đừng cài đặt nó. Bạn luôn có thể cài đặt nó sau.

Nếu bạn đã cài đặt Linux một vài lần, điều này thậm chí còn dễ dàng hơn. Thay vì gắn bó với các giá trị mặc định, hãy sử dụng các chế độ cho phép bạn kiểm soát tốt nhất việc cài đặt. Đôi khi chúng được đặt tên là "chế độ chuyên gia" hoặc một cái gì đó tương tự.

Theo dõi cẩn thận các 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 dịch vụ vì lý do bảo mật sau này.

Định cấu hình sudo

Trước khi chuyển sang bất kỳ bước nào khác, bạn cần định cấu hình sudo . Tại sao? Bởi vì sau khi chúng tôi hoàn tất ở đây, bạn sẽ đăng nhập vào máy chủ của mình qua SSH và bạn sẽ không thể đăng nhập với tư cách tài khoản gốc. Để thực hiện thêm bất kỳ thay đổi nào đối với hệ thống của bạn, 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 chưa . Từ tài khoản người dùng của bạn, hãy chạy phần sau với tên người dùng của bạn thay vì USERNAME:

sudo -lU USERNAME

Nếu bạn thấy một thông báo hiển thị cho biết rằng tên người dùng của bạn có thể chạy “(TẤT CẢ) TẤT CẢ” hoặc điều 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 gốc trên máy chủ của bạn, hãy chạy phần sau để chỉnh sửa tệp “/ etc / sudoers”. Nếu bạn thích một trình chỉnh sửa khác, hãy sử dụng nó thay vì nano.

EDITOR=nano visudo

Chỉnh sửa tệp để bao gồm thông tin sau, với tên người dùng của bạn thay vì USERNAME:

USERNAME   ALL=(ALL) ALL

Định cấu hình SSH

Cách bảo mật máy chủ gia đình Linux

Bạn có thể đã bật SSH trên máy chủ gia đình của mình. Trên thực tế, bạn có thể làm vậy vì đây thường là cách bạn tương tác với máy chủ.

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

sudo apt install openssh-server

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

ls ~/.ssh/

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

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Bây giờ bạn sẽ sao chép khóa SSH vào máy chủ của mình:

ssh-copy-id USERNAME@SERVER

Đối với máy chủ gia đình, bạn có thể đang sử dụng địa chỉ IP cho máy chủ của mình 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 của bạn thay vì SERVER ở trên.

Bây giờ, chúng tôi sẽ chỉnh sửa cài đặt SSH của bạn để bảo mật chúng hơn. Đăng nhập vào máy chủ của bạn từ ứng dụng khách mà bạn đã tạo khóa trên đó. Thao tác này sẽ cho phép bạn đăng nhập lại sau bước này. Chạy phần sau, thay thế nano với trình chỉnh sửa mà bạn chọn.

sudo nano /etc/ssh/sshd_config

Chỉnh sửa tệp và với các cài đặt sau. Chúng sẽ được đặt ở nhiều vị trí khác nhau trong tệp. Đảm bảo không có bản sao vì chỉ bản cài đặt đầu tiên mới đượ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 bằng một trong các lệnh sau.

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

sudo systemctl restart ssh

Định cấu hình tường lửa

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

Việc 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. Chúng tôi có một hướng dẫn đầy đủ để định cấu hình iptables trên máy của bạn.

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, nó sẽ chặn tất cả các cổng. Để bật truy cập trực tuyến và truy cập ssh, hãy chạy các lệnh ufw sau để mở các cổng 80, 443 và 22:

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

Và cuối cùng, hãy bật dịch vụ ufw:

sudo ufw enable

Luôn cập nhật

Cách bảo mật máy chủ gia đình Linux

Máy chủ có thể dễ bị quên nếu chúng chỉ hoạt động, nhưng điều này có thể nguy hiểm. Đảm bảo luôn cập nhật phần mềm của bạn. Bạn có thể sử dụng các nâng cấp không cần giám sát, nhưng những nâng cấp này có thể không thể đoán trước được. Cách an toàn nhất là lên lịch một cuộc hẹn bảo trì máy chủ định kỳ hàng tuần hoặc hàng tháng để đảm bảo mọi thứ đều hoạt động tốt.

Đi đâu từ đây

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

Một trong những cách dễ nhất để truy cập mạng gia đình của bạn từ bên ngoài là sử dụng VPN, nằm ngoài phạm vi của bài viết này, nhưng đừng lo lắng, chúng tôi sẽ giúp bạn. 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 chúng tôi để biết các tùy chọn của bạn là gì.