SlickStack セキュリティ警告

このページはSlickStackに関するセキュリティ上の懸念と、そのデフォルト設計がサーバーをリモートコード実行や中間者攻撃にさらす可能性がある理由を要約します。さらに、緩和策とより安全な代替案も提供します。

概要

  • root 権限で cron によりスケジュールされた頻繁なリモートダウンロード
  • SSL検証は --no-check-certificate を使用して回避されています
  • ダウンロードされたスクリプトにチェックサム/署名がない
  • 取得したスクリプトに対してroot所有権と権限が適用されている

証拠:cron および権限

cron ダウンロード(3時間47分ごと)

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

root所有権と制限的な権限(繰り返し適用)

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

このパターンはリモートドメインからの任意コード実行を可能にし、証明書検証を省略することで中間者攻撃(MITM)リスクを高めます。

cronのURLがGitHub CDNからslick.fyiに切り替えられたコミットも参照してください: コミット差分.

対策ガイダンス

  1. SlickStack の cron ジョブを無効化し、cron ディレクトリから取得されたスクリプトを削除する。
  2. slick.fyiへの残存参照およびリモートスクリプト取得の監査。バージョン管理されたチェックサム付きアーティファクトに置換するか、完全に削除してください。
  3. SlickStackがあなたのシステム上でroot権限で実行されていた場合、認証情報と鍵をローテーションしてください。
  4. 可能な場合は影響を受けたサーバーを再構築してクリーンな状態を確保してください。

より安全な代替案

リモートでの root 実行を回避し、チェックサム/署名付きの監査可能なバージョン管理されたリリースを提供する WordOps 等のツールを検討してください。

出典