Serwery dostają sekrety przy starcie, w pamięci
Zainstaluj agenta crunu na serwerze z Linuksem, zarejestruj go jednorazowym kodem i zatwierdź po sprawdzeniu odcisku klucza. Agent odszyfrowuje tylko środowiska, do których przyznasz dostęp, i przekazuje je aplikacji przy starcie.
- Jednorazowe kody rejestracji
- Odszyfrowane środowiska tylko w pamięci
- Działa mimo awarii przez czas dzierżawy, domyślnie 24 godziny
Jeden mały plik wykonywalny, trzy tryby pracy
Agent to jeden statyczny plik wykonywalny dla Linuksa i macOS, na amd64 i arm64, napisany w Go wyłącznie z biblioteką standardową.
- MaszynaSerwer, na którym działa twoja aplikacja, po rejestracji loguje się własnym kluczem. Na Linuksie
crunu daemondziała jako usługa systemd. - Token usługowyZadanie CI loguje się przez
CRUNU_TOKEN. Wszystko zostaje w procesie i żadne pliki nie są zapisywane. - OsobaProgramista uruchamia
crunu loginz hasłem, Secret Key i drugim składnikiem.crunu unlocktrzyma klucze w pamięci,crunu lockkończy to wcześniej.
Zarejestruj, porównaj, zatwierdź
Administrator dodaje maszynę i wybiera jej środowiska. Crunu wystawia jednorazowy kod rejestracji; na serwerze crunu enroll wypisuje odcisk klucza maszyny, a administrator zatwierdza ją po porównaniu.
- Kod, który działa razWażny domyślnie 15 minut, najwyżej 24 godziny, opcjonalnie powiązany z adresami. Agent przyjmuje go tylko przez standardowe wejście lub zmienną środowiskową.
- Ponowne użycie wywołuje alertJeśli ktoś przedstawi kod, który już wykorzystano, maszyna zostaje oznaczona jako możliwe przechwycenie i wychodzi alert.
- Operatorzy też to mogąOperator, który nie widzi wartości, dodaje maszyny i prosi o dostęp dla nich.
Aplikacja startuje ze swoimi zmiennymi
crunu run uruchamia program z czystym zestawem zmiennych środowiskowych i zmiennymi z Crunu. Przekazuje sygnały, zwraca kod wyjścia programu, a z --restart on-change restartuje go, gdy wartości się zmienią.
- Pliki, gdy aplikacja czyta pliki
crunu pullzapisuje je z uprawnieniami 0600, zachowuje poprzednią wersję jako.previ odmawia ryzykownych ścieżek, takich jak.bashrcczy.ssh/. - Jeden plik dla systemd
crunu pull --env-outzapisuje zmienne do jednego pliku dla wierszaEnvironmentFile=. - Własne dane dostępowe zostają poza programem
crunu runnigdy nie przekazuje uruchamianemu programowi własnych zmiennych, takich jakCRUNU_TOKEN.
| Kod | Znaczenie |
|---|---|
| 0 | Sukces |
| 3 | Maszyna niezarejestrowana albo brak logowania |
| 4 | Dostęp odebrany albo dzierżawa wygasła |
| 5 | Brak połączenia i brak ważnego zweryfikowanego stanu |
| 6 | Nieudane sprawdzenie podpisu lub certyfikatu |
| 7 | Zawartość nie jest wydawana na ten adres |
Co agent robi w tle
Usługa łączy się z serwerem co minutę i odnawia dzierżawę co 5 minut. Odszyfrowane środowiska są tylko w pamięci i trafiają do crunu run przez lokalne gniazdo.
- Mimo awariiJeśli serwer jest nieosiągalny, agent wydaje ostatni zweryfikowany stan do końca dzierżawy, domyślnie przez 24 godziny.
- Odebranie dostępu w kilka minut, gdy maszyna jest onlineAgent usuwa z pamięci środowisko, do którego odebrano dostęp, przy najbliższym kontakcie z serwerem. Offline przestaje działać po końcu dzierżawy.
- Sprawdza, co przysyła serwerPodpisy, certyfikaty, listę unieważnień i próby cofnięcia do starszego stanu. Przy niezgodności odmawia i kończy pracę z kodem 6.
- Zabezpieczony na LinuksieProces jest zamknięty dla innych procesów tego samego użytkownika, zrzuty pamięci są wyłączone, a usługa działa w piaskownicy systemd.
Co maszyna nadal widzi
Maszyna jest uprawnionym odbiorcą tego, co jej przyznasz. Przyznawaj jak najmniej i ustawiaj krótkie dzierżawy.
- Root widzi to, co przyznanoRoot na tym serwerze może odczytać wszystko, co przyznano maszynie. Przyznawaj tylko te środowiska i pliki, których potrzebuje.
- Działające procesy zachowują zmienneProces uruchomiony przed odebraniem dostępu maszynie zachowuje swoje środowisko do ponownego uruchomienia.
- Usługa działa tylko na LinuksieNa macOS agent jest narzędziem wiersza poleceń bez usługi w tle. Wersji na Windows nie ma.
- Brak Kubernetesa i SDKAplikacje dostają wartości przez
crunu runalbo z plików zapisanych przezcrunu pull.
Odpowiedzi na częste pytania
Masz inne pytanie? Napisz na support@crunu.com
Czy odszyfrowane wartości są zapisywane na dysku?
Nie przez crunu run. Usługa trzyma odszyfrowane środowiska w pamięci i przekazuje je procesowi. Pliki są zapisywane tylko wtedy, gdy używasz crunu pull, z uprawnieniami 0600.
Co się stanie, jeśli nasz serwer Crunu przestanie działać?
Agent nadal wydaje ostatni zweryfikowany stan do końca dzierżawy, domyślnie przez 24 godziny.
Jak szybko działa odebranie dostępu maszynie?
W ciągu kilku minut, jeśli maszyna jest online. Agent domyślnie łączy się z serwerem co minutę i przy najbliższym kontakcie usuwa z pamięci środowiska, do których odebrano dostęp. Offline przestaje działać po końcu dzierżawy. Odebranie dostępu wymienia też klucze środowisk, które maszyna miała.
Czy jedna maszyna może odczytać środowiska innej?
Nie. Każda maszyna ma własne klucze i własne uprawnienia.
Czy agent działa na Windows?
Nie. Działa na Linuksie i macOS, na amd64 i arm64.
Daj dziś jednemu serwerowi jego środowisko
Załóż konto, dodaj maszynę i uruchom aplikację przez crunu run.