Cảnh báo bảo mật SlickStack

Trang này tóm tắt các mối quan ngại bảo mật với SlickStack và lý do thiết kế mặc định của nó có thể khiến máy chủ dễ bị thực thi mã từ xa và tấn công trung gian (MITM). Nó cũng đưa ra các bước giảm thiểu và các phương án an toàn hơn.

Tóm tắt

  • Tải xuống từ xa thường xuyên được lên lịch chạy với quyền root qua cron
  • Việc xác thực SSL bị bỏ qua bằng tùy chọn --no-check-certificate
  • Không có checksum/chữ ký trên các script được tải xuống
  • Quyền sở hữu root và quyền truy cập áp dụng cho các tập lệnh được tải về

Bằng chứng: Cron và Quyền hạn

Tải xuống cron (mỗi 3 giờ 47 phút)

47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/08-cron-half-daily https://slick.fyi/crons/08-cron-half-daily.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/09-cron-daily https://slick.fyi/crons/09-cron-daily.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/10-cron-half-weekly https://slick.fyi/crons/10-cron-half-weekly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/11-cron-weekly https://slick.fyi/crons/11-cron-weekly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/12-cron-half-monthly https://slick.fyi/crons/12-cron-half-monthly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/13-cron-monthly https://slick.fyi/crons/13-cron-monthly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/14-cron-sometimes https://slick.fyi/crons/14-cron-sometimes.txt' > /dev/null 2>&1

Quyền sở hữu root và quyền truy cập hạn chế (được áp dụng lặp đi lặp lại)

47 */3 * * * /bin/bash -c 'chown root:root /var/www/crons/*cron*' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'chown root:root /var/www/crons/custom/*cron*' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'chmod 0700 /var/www/crons/*cron*' > /dev/null 2>&1

Mô thức này cho phép thực thi mã tùy ý từ một miền từ xa và làm tăng rủi ro MITM bằng cách bỏ qua việc kiểm tra chứng chỉ.

Xem thêm commit nơi các URL cron được chuyển từ CDN của GitHub sang slick.fyi: diff của commit.

Hướng dẫn giảm thiểu

  1. Vô hiệu hóa các job cron của SlickStack và xóa các script đã được tải về khỏi các thư mục cron.
  2. Kiểm tra để tìm các tham chiếu còn sót tới slick.fyi và việc lấy script từ xa; thay thế bằng các bản phát hành có phiên bản và kiểm tra checksum hoặc loại bỏ hoàn toàn.
  3. Thay đổi thông tin đăng nhập và khóa nếu SlickStack đã chạy với quyền root trên hệ thống của bạn.
  4. Xây dựng lại các máy chủ bị ảnh hưởng khi có thể để đảm bảo trạng thái sạch.

Các lựa chọn an toàn hơn

Hãy cân nhắc WordOps hoặc các công cụ khác tránh thực thi root từ xa và cung cấp các bản phát hành có phiên bản, có thể kiểm toán với checksum/chữ ký.

Trích dẫn