Zanim uruchomisz skrypt społeczności na hoście Proxmox: pięć rzeczy do przeczytania
Skrypty społeczności niosą prawdziwą wiedzę i oszczędzają prawdziwe godziny. Uruchamia się je też zwykle jako root na jedynej maszynie, której nie możesz stracić, z jednej wklejonej linii, której nikt nie przeczytał. Rozwiązaniem nie jest ich unikanie, tylko czytanie.
AtlasPVE ·
Ten wpis odpowiada na
- czy skrypty społeczności proxmox są bezpieczne
- proxmox community scripts
- instalacja helper script proxmox
- ryzyko curl bash skrypt
- instalacja skryptu na hoście proxmox
Skrypty społeczności są naprawdę dobre. Niosą wiedzę, za którą ktoś zapłacił straconymi wieczorami, obsługują niewygodne przypadki, na które wpadłbyś o północy, i przy wielu zadaniach skrypt jest lepszy niż to, co napisałbyś sam. Ten tekst nie jest argumentem przeciw nim.
Chodzi o jedną konkretną lukę. Instalacja z pakietu i wklejony jednolinijkowy skrypt wyglądają na ekranie równie zwyczajnie, a wcale nie są tym samym.
Co daje pakiet, a czego nie daje wklejona linia
Podpis. Pakiety są podpisane, a podpis jest sprawdzany. Adres jest sprawdzany tylko wobec twojego założenia, że adres jest właściwy.
Wersja. Możesz powiedzieć, którą wersję masz, i osoba pomagająca też. "Skrypt z readme, kilka tygodni temu" to nie wersja.
Ścieżka odinstalowania. Pakiety zapisują, co położyły, i potrafią to usunąć. Skrypt często kładzie pliki w sześciu miejscach i tego nie pamięta.
Relacja z opiekunem. Gdy pakiet zmienia zachowanie, istnieje dziennik zmian. Skrypt może zmienić się pod tym samym adresem, nie zostawiając nic do przeczytania.
Nic z tego nie czyni skryptów złymi. Czyni je innym rodzajem rzeczy, który zasługuje na inny nawyk.
Pięć rzeczy do przeczytania
Nie cały skrypt i nie linia po linii. Te pięć odpowiedzi zwykle widać za jednym przejściem.
① Czego dotyka poza własnym katalogiem? Skrypt piszący tylko we własnym folderze łatwo ogarnąć. Ten, który edytuje pliki w katalogach konfiguracji systemu, wprowadza zmiany, które go przeżyją.
② Czy dodaje repozytorium albo klucz? To w większości skryptów linia o najcięższych konsekwencjach i przelatuje w sekundę. Dodanie źródła pakietów oznacza, że każda przyszła aktualizacja na tej maszynie zaufa nowej stronie. To może być całkowicie rozsądne i powinno być decyzją, a nie efektem ubocznym.
③ Czy rusza rozruch, jądro albo sieć? To trzy rzeczy, które mogą zostawić hosta nieosiągalnym albo niestartującym, a na hipernadzorcy oznacza to, że idzie z nim wszystko, co na nim stoi. Skrypt instalujący aplikację webową nie ma czego szukać w konfiguracji programu rozruchowego, a jeśli tam sięga, warto to zrozumieć przed uruchomieniem.
④ Czy jest droga powrotu? Poszukaj procedury odinstalowania albo przynajmniej listy tego, co utworzył. Jeśli nie ma ani jednego, ani drugiego, twoją drogą powrotu jest migawka zrobiona wcześniej, co znaczy, że musisz ją zrobić.
⑤ Co się stanie, jeśli uruchomi się dwa razy? Wiele skryptów napisano dla czystej maszyny, a drugie przejście dubluje wpisy, resetuje konfigurację, którą zmieniałeś, albo pada w połowie, zostawiając półstan. Kiedyś uruchomisz go dwa razy, zwykle dlatego, że pierwsze przejście wyglądało na nieudane.
Konkretnie o wklejonej linii
Wzorzec pobrania skryptu i przekierowania go wprost do powłoki ma jedną cechę wartą nazwania: nie możesz przeczytać tego, co uruchomiłeś. Nie "nie przeczytałeś", tylko nie możesz, bo to nigdy nie było plikiem.
Jest też subtelniejsza odmiana. Przeczytanie skryptu w przeglądarce i uruchomienie polecenia pobierz-i-przekieruj to dwa osobne żądania. Nic nie gwarantuje, że zwróciły te same bajty.
Naprawa kosztuje jeden dodatkowy krok. Pobierz plik, spójrz na niego, potem uruchom lokalną kopię. Teraz wiesz, co się wykonało, możesz później uruchomić identyczne, a jeśli coś się zepsuje, masz prawdziwy tekst zamiast wspomnienia strony WWW.
Hipernadzorca nie jest miejscem do prób
To właśnie odróżnia hosta Proxmox od laptopa. Wszystko inne na maszynie leży pod nim. Skrypt, który zostawia laptopa w dziwnym stanie, kosztuje cię wieczór; ten sam skrypt na hoście zabiera każdą maszynę wirtualną.
Dwa nawyki czynią prawie to wszystko bezpiecznym:
Uruchom najpierw w maszynie wirtualnej, jeśli rozsądnie się da. Większość skryptów instalujących usługę w ogóle nie musi być na hoście. To nie obejście, to zwykle właściwe miejsce.
Jeśli naprawdę musi działać na hoście, najpierw migawka. Nie dlatego, że skrypt jest podejrzany, ale dlatego, że "po prostu spróbuję" to dokładnie to zdanie, które poprzedza potrzebę drogi powrotu.
Czym ten tekst nie jest
To nie powód, by nie ufać społeczności. Skrypty, którymi ludzie się dzielą, należą do najlepszych rzeczy w tym ekosystemie, a ich autorzy są zwykle ostrożniejsi niż ci, którzy je uruchamiają.
To nie powód, by czytać każdą linię. Pięć pytań w jednym przejściu wystarczy, by złapać ten rodzaj niespodzianki, który naprawdę boli.
Co robi Atlas
Atlas robi migawkę przed operacjami zmieniającymi stan hosta, więc droga powrotu istnieje bez tego, żebyś pamiętał o jej stworzeniu. To pokrywa czwarty punkt powyższej listy, czyli ten pomijany.
Dziennik audytu zapisuje, kto co uruchomił, kiedy, na czym i z jakim wynikiem, co zamienia "w zeszły wtorek coś się zmieniło" w czytelną odpowiedź zamiast w śledztwo.
Łańcuch zasobów pomaga bardziej po fakcie niż przy decyzji: jeśli coś zachowuje się inaczej po instalacji, mapa pokazuje, jak maszyna naprawdę wygląda teraz, od gości aż po dyski fizyczne.
A tam, gdzie Atlas sam instaluje oprogramowanie, przez katalog aplikacji, wersja jest przypięta, źródło stałe, a punkt przywracania powstaje przed startem instalacji. To celowo wąska i kuratorowana ścieżka i nie zastępuje skryptów społeczności. To po prostu te same pięć pytań, odpowiedziane z góry dla aplikacji, które niesie.
Źródła
Własna dokumentacja Proxmoksa. Po angielsku i to ona ma ostatnie słowo w tej sprawie.