Amaran Keselamatan SlickStack

Halaman ini merumuskan kebimbangan keselamatan terhadap SlickStack dan mengapa reka bentuk lalai ia boleh mendedahkan pelayan kepada pelaksanaan kod jauh dan serangan orang-di-tengah (MITM). Ia juga menyediakan langkah mitigasi dan alternatif yang lebih selamat.

Ringkasan

  • Muat turun jarak jauh kerap dijadualkan sebagai root melalui cron
  • Pengesahan SSL dipintas menggunakan --no-check-certificate
  • Tiada checksum/tandatangan pada skrip yang dimuat turun
  • Pemilikan root dan kebenaran diterapkan pada skrip yang diambil

Bukti: Cron dan Kebenaran

Muat turun cron (setiap 3 jam dan 47 minit)

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

Pemilikan root dan kebenaran yang ketat (dilakukan berulang kali)

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

Corak ini membolehkan pelaksanaan kod sewenang-wenangnya dari domain jauh dan meningkatkan risiko MITM dengan melangkau pengesahan sijil.

Lihat juga commit di mana URL cron ditukar daripada CDN GitHub kepada slick.fyi: Perbezaan commit.

Panduan Mitigasi

  1. Nyahdayakan tugas cron SlickStack dan alih keluar skrip yang dimuat turun dari direktori cron.
  2. Audit untuk rujukan baki kepada slick.fyi dan pengambilan skrip jauh; gantikan dengan artifak berversi yang disahkan menggunakan checksum atau keluarkan sepenuhnya.
  3. Putarkan kredensial dan kunci jika SlickStack dijalankan dengan keistimewaan root pada sistem anda.
  4. Bina semula pelayan yang terjejas apabila boleh untuk memastikan keadaan bersih.

Alternatif yang Lebih Selamat

Pertimbangkan WordOps atau alat lain yang mengelakkan pelaksanaan root jauh dan menyediakan keluaran berversi yang boleh diaudit dengan checksum/tandatangan.

Rujukan