Cách làm cho máy chủ Plex của bạn an toàn hơn bằng cách sử dụng một tên miền đơn giản
Plex là phần mềm chủ đạo được sử dụng để tự lưu trữ một thư viện phương tiện trên Windows, Mac và Linux. Với nó, bạn có thể truy cập phim, chương trình và âm nhạc của mình từ mọi thiết bị, ở bất kỳ đâu. Nhưng hàng nghìn người dùng đang mắc lỗi khiến máy chủ và mạng của họ dễ bị tin tặc tấn công.
Vậy vấn đề với việc chạy Plex là gì? Làm thế nào bạn có thể sửa chữa nó? Làm cách nào để bạn có thể làm cho máy chủ Plex của mình an toàn hơn?
Mục Lục
Máy chủ Plex của bạn có thực sự an toàn không?
Tiền đề của Plex rất đơn giản. Bạn giữ một thư viện phương tiện truyền thông lớn ở nhà; trên máy tính để bàn, Raspberry Pi hoặc NAS và với phần mềm máy chủ Plex, bạn có thể sử dụng các ứng dụng chuyên dụng hoặc trình duyệt để đưa phương tiện vào nội dung trái tim của bạn. Nếu bạn trả tiền cho các tiện ích bổ sung như Plex Pass, bạn thậm chí có thể xem và ghi lại chương trình truyền hình trực tiếp và đồng bộ hóa tiến trình giữa các thiết bị.
Để thực hiện việc này, bạn hướng các thiết bị trong nhà truy cập vào cổng 32400 trên máy chủ. Ví dụ: nếu bạn muốn sử dụng phương tiện khi đi ra ngoài — trong khi đi tàu, thư giãn hoặc làm việc trong quán cà phê hoặc khi ở nhà một người bạn, bạn cần mở cổng 32400 trên bộ định tuyến của mình và chuyển tiếp lưu lượng đến cùng cổng trên PC của bạn. Bạn có thể truy cập máy chủ phương tiện Plex của mình từ bất kỳ đâu với your.public.ip.address: 32400. Cho đến nay, rất đơn giản.
Theo mặc định, lưu lượng mạng đến một địa chỉ IP riêng lẻ không được mã hóa. Và đó có thể là một vấn đề lớn.
Tại sao Chạy Plex qua một kết nối không được mã hóa lại nguy hiểm?
Bằng cách sử dụng kết nối không được mã hóa, lưu lượng truy cập của bạn rất dễ bị tấn công Man-in-the-Middle (MITM). Điều này có nghĩa là kẻ tấn công có thể rình mò lưu lượng mạng của bạn, đưa mã không mong muốn vào lưu lượng truy cập của bạn và thậm chí đánh chặn tên người dùng và mật khẩu.
Tình hình càng trở nên trầm trọng hơn do các lỗ hổng bảo mật trong Plex. Chúng thường xuyên được vá bởi nhóm bảo mật Plex và thông tin chi tiết của chúng được công bố rộng rãi trên internet. Thật không may, không phải tất cả người dùng Plex đều cập nhật phần mềm Plex của họ và một số người dùng có thể đã không cập nhật trong nhiều năm. Ví dụ: các phiên bản máy chủ cũ hơn 1.18.2 có các lỗ hổng mà kẻ tấn công có thể chiếm toàn bộ hệ thống máy chủ của bạn.
Tội phạm và các bên quan tâm khác có quyền truy cập vào các công cụ nguồn mở, chẳng hạn như MASSCAN của Robert David Graham, có thể quét toàn bộ internet trong năm phút. Điều này giúp bạn dễ dàng xác định địa chỉ IP nơi cổng 32400 đang mở.
Tại sao bạn nên truy cập Plex thông qua tên miền có TLS
Hầu hết các máy chủ trên internet đều được truy cập thông qua hai cổng tiêu chuẩn: 80 cho lưu lượng HTTP không được mã hóa và 443 cho lưu lượng được mã hóa, sử dụng HTTPS (chữ “S” bổ sung có nghĩa là “Bảo mật”) và áp dụng Bảo mật lớp truyền tải (TLS), miễn nhiễm với Các cuộc tấn công MITM. Nếu bạn đang chạy một máy chủ Plex đằng sau một trong hai cổng này, công cụ quét cổng hàng loạt sẽ không tiết lộ nó cho những kẻ tấn công tiềm năng — mặc dù, rõ ràng, HTTPS tốt hơn.
Tên miền rẻ, hoặc thậm chí miễn phí nếu bạn chọn một nhà cung cấp như Freenom. Và bạn có thể định cấu hình proxy ngược để lưu lượng truy cập web đến máy chủ Plex của bạn đi qua cổng 443 và cổng 32400 không bao giờ bị lộ.
Một cách để làm điều này là mua một Raspberry Zero W giá rẻ 10 đô la để hoạt động như một người trung gian.
Cách sử dụng Raspberry Pi để bảo vệ máy chủ Plex của bạn
Điều đầu tiên cần làm là truy cập tổ chức đăng ký tên miền của bạn DNS nâng cao trang cài đặt. Xóa tất cả các bản ghi và tạo một bản ghi mới Một ghi lại. Đặt máy chủ lưu trữ thành “@”, giá trị thành địa chỉ IP công cộng của bạn và TTL càng thấp càng tốt.
Bây giờ, hãy đăng nhập vào bảng điều khiển quản trị bộ định tuyến của bạn. Mở các cổng 80 và 443, đồng thời chuyển tiếp cả hai đến địa chỉ IP cục bộ của Raspberry P i Zero của bạn. Đóng cổng 32400.
Sau khi bạn đã cài đặt Hệ điều hành Raspberry Pi, hãy sử dụng trình bao an toàn (SSH) để đăng nhập vào Raspberry Pi của bạn.
ssh pi@your.pi.local.ip
Cập nhật và nâng cấp bất kỳ gói nào đã cài đặt:
sudo apt update
sudo apt upgrade
Cài đặt máy chủ Apache:
sudo apt install Apache2
sudo systemctl start apache2
sudo systemctl enable apache2
Cài đặt Certbot — một công cụ sẽ tìm nạp và quản lý cả chứng chỉ và khóa bảo mật từ Let’s Encrypt, một dịch vụ thiết lập chứng chỉ SSL.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt-get install python3-certbot-apache
Thay đổi thư mục và sử dụng nano trình soạn thảo văn bản để tạo tệp cấu hình Apache mới để chuyển tiếp tất cả các yêu cầu cho tên miền mới của bạn tới máy lưu trữ máy chủ Plex:
sudo nano plex.conf
Bạn sẽ thấy một tệp văn bản trống. Dán vào phần sau:
<VirtualHost *:80>
ServerName your-domain-name.tld
ProxyPreserveHost On
ProxyPass / http:
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
</VirtualHost>
Lưu và thoát nano với Ctrl + O sau đó Ctrl + X.
Kích hoạt cấu hình và khởi động lại Apache:
sudo a2ensite plex.conf
sudo service apache2 restart
Chạy certbot để lấy các chứng chỉ và khóa SSL từ Let’s Encrypt:
sudo certbot
Nhập địa chỉ email của bạn khi được yêu cầu và đồng ý với các điều khoản và điều kiện, sau đó chọn tên miền của bạn từ danh sách một tên miền và nhấn quay lại.
Certbot sẽ tìm nạp và triển khai lại các chứng chỉ và khóa bảo mật từ Let’s Encrypt. Khởi động lại Apache một lần nữa.
Đăng xuất khỏi Raspberry Pi Zero của bạn:
exit
Máy chủ Plex của bạn hiện đã bị ẩn khỏi thế giới!
Bằng cách làm theo các hướng dẫn này, bạn đã quản lý để đóng cổng 32400 và ẩn sự tồn tại của máy chủ Plex khỏi máy quét cổng — trong khi đảm bảo bạn vẫn có thể truy cập nó bằng tên miền tùy chỉnh của mình. Tất cả lưu lượng truy cập đến máy chủ Plex của bạn sẽ được mã hóa và bảo vệ bằng TLS, có nghĩa là bạn có thể thư giãn và thưởng thức các tập mới nhất của House of The Dragon mà không cần lo lắng về việc ai đang cố gắng đột nhập vào mạng của bạn.