Przejdź do treści

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
Przykład. Kiteline to fikcyjna firma.

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 daemon dział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 login z hasłem, Secret Key i drugim składnikiem. crunu unlock trzyma klucze w pamięci, crunu lock kończy to wcześniej.

Przeczytaj dokumentację

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.

Przeczytaj dokumentację

Przykład. Kiteline to fikcyjna firma.

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 plikicrunu pull zapisuje je z uprawnieniami 0600, zachowuje poprzednią wersję jako .prev i odmawia ryzykownych ścieżek, takich jak .bashrc czy .ssh/.
  • Jeden plik dla systemdcrunu pull --env-out zapisuje zmienne do jednego pliku dla wiersza EnvironmentFile=.
  • Własne dane dostępowe zostają poza programemcrunu run nigdy nie przekazuje uruchamianemu programowi własnych zmiennych, takich jak CRUNU_TOKEN.
Kody wyjścia crunu
KodZnaczenie
0Sukces
3Maszyna niezarejestrowana albo brak logowania
4Dostęp odebrany albo dzierżawa wygasła
5Brak połączenia i brak ważnego zweryfikowanego stanu
6Nieudane sprawdzenie podpisu lub certyfikatu
7Zawartość nie jest wydawana na ten adres

Przeczytaj dokumentację

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.

Przeczytaj dokumentację

Przykład. Kiteline to fikcyjna firma.

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 run albo z plików zapisanych przez crunu pull.

Wszystkie znane ograniczenia

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.

Bezpłatnie we wczesnym dostępie. Poznaj model bezpieczeństwa