SlickStack-ის უსაფრთხოების გაფრთხილება

ეს გვერდი შეაჯამებს SlickStack-თან დაკავშირებულ უსაფრთხოების შეშფოთებებს და განმარტავს, რატომ შეესაბამება მისი ჩვეული დიზაინი სერვერების დისტანციური კოდის შესრულების და შუაშუა ტიპის (man-in-the-middle) შეტევის რისკებს. ის ასევე უზრუნველყოფს შემსუბუქების ნაბიჯებს და უფრო უსაფრთხო ალტერნატივებს.

შეჯამება

  • ხშირი დისტანციური ჩამოტვირთვები, გაშვებული root-ად cron-ით
  • SSL გადამოწმება იგნორირებულია --no-check-certificate პარამეტრის გამოყენებით
  • ჩამოტვირთულ სკრიპტებზე არ არის კონტროლული ჯამები (checksums) და ციფრული ხელმოწერები
  • ჩამოტვირთულ სკრიპტებზე დანიშნულია 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 რისკს სერტიფიკატის შემოწმების გამოტოვებით.

იხილეთ ასევე commit, სადაც cron URL-ები შეიცვალა GitHub CDN-იდან slick.fyi-ზე: კომიტის diff.

შემსუბუქების მითითებები

  1. გამორთეთ SlickStack-ის cron სამუშაოები და წაშალეთ cron დირექტორიებიდან ჩამოტვირთული სკრიპტები.
  2. აუდიტი დარჩენილი მითითებების საძებნელად slick.fyi-ისკენ და რემოტი სკრიფტების ჩათვირთვისთვის; ჩაანაცვლეთ ვერსიირებულ, ჰეშირებული/შემოწმებული არტიფაქტებით ან წაშალეთ მთლიანად.
  3. თუ SlickStack მუშაობდა root პრივილეგიებით თქვენს სისტემებზე, შეცვალეთ შესვლის მონაცემები და კრიპტოგრაფიული გასაღებები.
  4. აზიანებული სერვერები ხელახლა ააწყეთ, როდესაც შესაძლებელი იქნება, რათა უზრუნველყოთ სუფთა მდგომარეობა.

უფრო უსაფრთხო ალტერნატივები

გაითვალისწინეთ WordOps ან სხვა ინსტრუმენტები, რომლებიც არ იყენებენ დისტანციურ root-ის შესრულებას და უზრუნველყოფენ აუდიტირებად, ვერსიულ რელიზებს შემოწმების ჯამების (checksums) და ციფრული ხელმოწერების საშუალებით.

წყაროები