8 mẹo bảo mật cho Raspberry Pi

Theo mặc định, Raspberry Pi đi kèm với mức độ bảo mật kém. Nếu bạn sử dụng Pi ở nhà hoặc trong một mạng nhỏ, đó không phải là vấn đề lớn.

Nhưng nếu bạn mở các cổng trên Internet, sử dụng nó làm điểm truy cập WiFi hoặc nếu bạn cài đặt Pi trong một mạng lớn hơn, bạn cần thực hiện các biện pháp bảo mật để bảo vệ Raspberry Pi của mình.

Bài viết sau đây sẽ chỉ cho bạn cách làm điều này.

1. Luôn cập nhật hệ thống

Hãy luôn nhớ cập nhật hệ thống!
Hãy luôn nhớ cập nhật hệ thống!

Điều đầu tiên này có thể rất hiển nhiên, nhưng vô cùng quan trọng. Với các bản cập nhật trong kho lưu trữ Raspbian, bạn không chỉ nhận được các tính năng mới nhất mà chủ yếu là những bản sửa lỗi bảo mật cho phần mềm đã cài đặt.

Hãy cố gắng cập nhật Raspberry Pi thường xuyên với:

sudo apt update
sudo apt upgrade

Bạn cũng có thể tự động hóa quá trình này với gói nâng cấp không cần giám sát. Quy trình này cho phép bạn tự động cài đặt các bản sửa lỗi bảo mật mỗi ngày:

  • Cài đặt gói nâng cấp không cần giám sát
sudo apt install unattended-upgrades
  • Mở file cấu hình
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
  • Thay đổi những gì bạn muốn trong file này

Theo mặc định, nó sẽ chỉ tải xuống các bản cập nhật bảo mật, nhưng bạn có thể thay đổi điều này, nếu bạn muốn cài đặt tất cả các bản cập nhật Debian hoặc thậm chí những kho lưu trữ khác

Ít nhất bạn nên ghi chú dòng này:

Unattended-Upgrade::Mail "root";

Thao tác này sẽ gửi mail tới root (hoặc bất kỳ địa chỉ nào khác nếu bạn đã cài đặt mail server).

  • Lưu và thoát (CTRL + O, CTRL + X)
  • Sau đó, bạn cần thiết lập nâng cấp định kỳ:
    • Mở file này:
sudo nano /etc/apt/apt.conf.d/02periodic
    • Dán các dòng này (file phải trống, nếu không, hãy thay đổi các giá trị):
APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "1";
APT::Periodic::Verbose "2";

Điều này sẽ cho phép cập nhật tự động hàng ngày. Bạn yêu cầu apt thực hiện: Cập nhật, tải xuống bản nâng cấp, cài đặt bản nâng cấp, tự động dọn dẹp hàng ngày.

Dòng cuối cùng là mức chi tiết mà bạn sẽ nhận được trong /var/log/unattended-upgrade và email (1 = low, 3 = max)

    • Lưu và thoát (CTRL + O, CTRL + X).
  • Bạn có thể gỡ lỗi cấu hình của mình bằng lệnh này:
sudo unattended-upgrades -d

Đừng quên kiểm tra file nhật ký và/hoặc email nhận được để đảm bảo mọi thứ đang hoạt động như mong đợi

2. Không sử dụng đăng nhập tự động hoặc mật khẩu trống

Không sử dụng đăng nhập tự động hoặc mật khẩu trống
Không sử dụng đăng nhập tự động hoặc mật khẩu trống

Mật khẩu là một phần quan trọng của bảo mật hệ thống. Điều đầu tiên cần làm là hãy đảm bảo rằng tất cả các truy cập quan trọng đều yêu cầu mật khẩu.

Không sử dụng đăng nhập tự động và thêm bước đăng nhập cho từng ứng dụng mà bạn có thể truy cập trực tiếp

Bài viết sẽ không liệt kê tất cả các ứng dụng, nhưng ví dụ, nếu bạn có web server, hãy đảm bảo rằng dữ liệu cá nhân hoặc các trang quản trị không thể truy cập được nếu không có mật khẩu.

Đảm bảo rằng không ai sử dụng mật khẩu trống trên Raspberry Pi. Nếu bạn có ít tài khoản, thật dễ dàng, hãy kiểm tra tất cả quyền truy cập. Nếu bạn có nhiều tài khoản người dùng, các lệnh này có thể giúp bạn:

  • Tìm kiếm mật khẩu trống
sudo awk -F: '($2 == "") {print}' /etc/shadow

Điều này sẽ chỉ hiển thị các tài khoản có mật khẩu trống.

  • Khóa tài khoản không an toàn
passwd -l <username>

3. Thay đổi mật khẩu mặc định cho Pi

Một lỗi thường gặp là để nguyên mật khẩu mặc định cho người dùng pi (raspberry). Bất kỳ ai đã sử dụng Raspberry Pi đều biết mật khẩu này. Vì vậy, nhiều người đang quét các cổng SSH và cố gắng đăng nhập bằng pi/raspberry.

Thay đổi mật khẩu mặc định là điều đầu tiên cần làm khi cài đặt mới. Thực hiện điều này rất dễ dàng, đăng nhập bằng pi và nhập lệnh này:

passwd

Cố gắng sử dụng một câu có hơn 15 ký tự để an toàn trước các cuộc tấn công Brute-force và dễ ghi nhớ nó (ví dụ: iloveraspberrytips là một mật khẩu tốt, dễ nhớ).

4. Vô hiệu hóa người dùng pi

Tin tặc có một danh sách các thông tin đăng nhập thường được sử dụng và thường thử những thông tin đăng nhập này

Nếu có thể, hãy tạo người dùng mới và vô hiệu hóa người dùng pi để ngăn chặn loại tấn công Brute-force:

  • Tạo người dùng mới:
sudo adduser <username>
  • Cấp đặc quyền sudo nếu cần:
sudo adduser <username> sudo

Thao tác này sẽ thêm người dùng mới của bạn vào nhóm sudo.

  • Kiểm tra xem mọi thứ có hoạt động bình thường không (truy cập ssh, sudo, v.v…)
  • Sao chép file từ người dùng pi sang người dùng mới nếu cần
sudo cp /home/pi/Documents/* /home/<username>/Documents/
...
  • Xóa người dùng pi
sudo deluser -remove-home pi

Nếu muốn, bạn có thể bắt đầu bằng cách khóa tài khoản (như đã nói trước đây) và xóa nó sau một vài tuần, khi bạn chắc chắn rằng mọi thứ đều ổn

5. Dừng các service không cần thiết

Trên Raspberry Pi, mọi người thực hiện rất nhiều dự án về mọi thứ và đó có thể là một thói quen xấu đối với bảo mật.

Giả sử, bạn đã cài đặt PHPMyAdmin 3 tháng trước để thử thứ gì đó, nhưng bạn hiện không sử dụng nữa

Điều này có thể tạo ra một lỗ hổng cho kẻ tấn công, cho phép hắn xâm nhập vào hệ thống của bạn. Vì vậy, hãy cố gắng dừng hoặc gỡ cài đặt các service và ứng dụng không cần thiết.

  • Để ngừng sử dụng service:
sudo service <service-name> stop
  • Nếu nó tự động khởi động khi boot, hãy thử:
sudo update-rc.d <service-name> remove
  • Hoặc để gỡ cài đặt nó, hãy dùng lệnh sau:
sudo apt remove <service-name>

6. Buộc sudo yêu cầu mật khẩu

Như bạn nên biết, sudo không phải lúc nào cũng hỏi mật khẩu. Hầu hết thời gian bạn không cần phải nhập lại mật khẩu của mình. Điều đó thật tuyệt vời về mặt năng suất, nhưng vì lý do bảo mật, đó không phải là ý kiến ​​hay

Nếu ai đó thành công trong việc có được quyền truy cập Terminal với tư cách người dùng chính trên Raspberry Pi của bạn, các đặc quyền của người dùng cấp cao sẽ có thể truy cập mà không cần mật khẩu

Bài viết khuyên bạn nên hỏi mật khẩu khi bạn sử dụng sudo:

  • Chỉnh sửa file này:
sudo nano /etc/sudoers.d/010_pi-nopasswd
  • Tìm dòng này:
pi ALL=(ALL) NOPASSWD: ALL

Hoặc bất kỳ người dùng nào khác nếu bạn đã làm theo các bước trước đó.

  • Thay thế bằng cái này:
pi ALL=(ALL) PASSWD: ALL
  • Làm tương tự cho từng người dùng có quyền truy cập sudo
  • Lưu và thoát (CTRL + O, CTRL + X)

7. Ngăn chặn đăng nhập root

Như đã nói trước đây, người dùng root và pi thường là mục tiêu chính cho các cuộc tấn công brute-force, thường với SSH.

Vì vậy, bạn cần đảm bảo rằng root không có quyền truy cập SSH trực tiếp.

Ngăn chặn đăng nhập root
Ngăn chặn đăng nhập root

Nếu bạn cần root, hãy đăng nhập bằng người dùng bình thường (không phải pi) và sau đó sử dụng sudo để nhận các đặc quyền của super-user.

Theo mặc định, quyền truy cập root bị tắt. Bạn có thể kiểm tra điều này:

  • Mở file cấu hình máy chủ SSH:
sudo nano /etc/ssh/sshd_config
  • Tìm dòng này:
#PermitRootLogin prohibit-password
  • Nếu bạn có điều gì khác, hãy comment dòng này (bằng cách thêm # ở đầu).
  • Lưu và thoát (CTRL + O, CTRL + X).
  • Khởi động lại máy chủ SSH:
sudo service ssh restart

8. Thay đổi cổng mặc định

Cổng mặc định SSH là 22. Vì vậy, về cơ bản, những kẻ tấn công sẽ tạo ra các bot để thực hiện những nỗ lực đăng nhập vào cổng này. Để tránh điều này, bạn có thể thay đổi cổng mặc định và đặt một cổng khác.

  • Chỉnh sửa file cấu hình máy chủ SSH:
sudo nano /etc/ssh/sshd_config
  • Tìm dòng này:
#Port 22
  • Thay thế cổng này bằng cổng khác mà bạn muốn:
Port 1111

Hãy đảm bảo rằng bạn không sử dụng cổng đang dùng để làm việc khác.

  • Lưu và thoát (CTRL + O, CTRL + X).
  • Khởi động lại máy chủ:
sudo service ssh restart

Đừng quên điều chỉnh các quy tắc tường lửa nếu bạn có.

Thực hiện kiểm tra kết nối mới trước khi đóng kết nối hiện tại (điều này sẽ hữu ích nếu bạn mắc lỗi).

Thứ Tư, 02/12/2020 15:53
4,73 👨 416
0 Bình luận
Sắp xếp theo