# Repozytorium Vallum — dodanie, instalacja i aktualizacja agenta Repozytorium: **https://repo.vallum.pl** Paczka `vallum-agent` instaluje agenta Vallum, który raportuje stan systemu do konsoli Vallum. Po dodaniu repozytorium kolejne wersje agenta przychodzą razem ze zwykłymi aktualizacjami systemu (`apt upgrade`, `dnf upgrade` / `yum update`). Odcisk klucza, którym podpisane jest repozytorium i paczki: ``` 3093 84FC 8EFA FD12 0CF0 A18D 831B F8B3 F7B9 0213 Vallum Package Signing ``` Porównaj go z tym, co pokaże Twój system przy pierwszym imporcie klucza. Jeśli się różni, przerwij. ## Obsługiwane systemy | System | Wersja | Co dodajesz | Wariant agenta | |---|---|---|---| | Ubuntu | 22.04 (jammy), 24.04 (noble) | APT, suita = kodnazwa | lekki: moduł Inventory | | Ubuntu | 26.04 (resolute), tylko amd64 | APT, suita `resolute` | pełny: Inventory, Lynis, OpenSCAP, ClamAV | | Debian | 12 (bookworm), 13 (trixie) | APT, suita = kodnazwa | lekki: moduł Inventory | | RHEL, Rocky Linux, AlmaLinux | 9, 10 | DNF/YUM, katalog `el9` / `el10` | lekki: moduł Inventory | Lekki wariant to sam agent w Pythonie (wymaga Pythona 3.9+, systemd i `iproute`), bez wbudowanych skanerów. Nie są obsługiwane: Ubuntu 20.04, Debian 11, RHEL/Rocky/Alma 8 i starsze (za stary Python albo brak suity w repozytorium). Inne systemy zgodne z RHEL 9/10 (CentOS Stream, Oracle Linux) nie były testowane. Wszystkie polecenia poniżej wykonujesz jako zwykły użytkownik z `sudo`. --- ## Debian i Ubuntu ### 1. Klucz repozytorium ```sh curl -fsSL https://repo.vallum.pl/vallum.gpg | sudo tee /usr/share/keyrings/vallum-archive-keyring.gpg >/dev/null ``` Bez `curl` (np. minimalny Debian): `sudo apt install curl ca-certificates` albo `wget -qO- https://repo.vallum.pl/vallum.gpg | sudo tee /usr/share/keyrings/vallum-archive-keyring.gpg >/dev/null`. Sprawdzenie odcisku (opcjonalne, wymaga `gpg`); druga linia wyniku ma być identyczna z odciskiem na górze: ```sh curl -fsSL https://repo.vallum.pl/vallum.asc | gpg --show-keys --with-fingerprint ``` ### 2. Źródło APT Polecenie samo wstawia kodnazwę Twojego systemu (`jammy`, `noble`, `resolute`, `bookworm`, `trixie`): ```sh . /etc/os-release sudo tee /etc/apt/sources.list.d/vallum.sources >/dev/null </dev/null <<'EOF' [vallum] name=Vallum baseurl=https://repo.vallum.pl/rpm/el$releasever/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://repo.vallum.pl/vallum.asc EOF ``` Zostaw `'EOF'` w apostrofach: `$releasever` ma trafić do pliku dosłownie, DNF podstawi za niego `9` albo `10`. ### 2. Klucz (zalecane: zaimportuj i sprawdź przed instalacją) ```sh curl -fsSL https://repo.vallum.pl/vallum.asc | gpg --show-keys --with-fingerprint # porównaj odcisk sudo rpm --import https://repo.vallum.pl/vallum.asc rpm -qi gpg-pubkey-f7b90213 | grep Summary # "Vallum Package Signing public key" ``` Bez tego kroku `dnf install` zapyta o import klucza i wyświetli jego odcisk: porównaj go z odciskiem na górze. ### 3. Instalacja ```sh sudo dnf install vallum-agent ``` Sprawdzenie: ```sh rpm -q vallum-agent sudo vallum-agent status ``` ### 4. Aktualizacja Razem z całym systemem: ```sh sudo dnf upgrade # na RHEL 9/10 „sudo yum update” robi to samo ``` Tylko agent: ```sh sudo dnf upgrade vallum-agent ``` --- ## Po pierwszej instalacji: rejestracja w konsoli Vallum Świeżo zainstalowany agent jest wyłączony, dopóki go nie zarejestrujesz. 1. W konsoli Vallum wygeneruj jednorazowy token rejestracji. 2. Uzupełnij konfigurację: ```sh sudoedit /etc/vallum-agent/config.json ``` Ustaw `server` (adres konsoli, HTTPS), `hostname` (unikalna nazwa systemu; puste = nazwa hosta) i `enrollment_token` (token z konsoli). 3. Zarejestruj agenta i włącz usługę: ```sh sudo vallum-agent enroll sudo systemctl enable --now vallum-agent ``` Rejestracja zapisuje indywidualne poświadczenie w `/var/lib/vallum-agent/identity.json` i usuwa token z konfiguracji. Jeśli konsola używa prywatnego urzędu certyfikacji, wskaż jego certyfikat zmienną `SSL_CERT_FILE` (w drop-inie usługi oraz przy `enroll`). Szczegóły: dokumentacja agenta (`agent/README.md` w repozytorium projektu). ## Co się dzieje przy aktualizacji - Konfiguracja `/etc/vallum-agent/config.json` i rejestracja agenta zostają bez zmian. - **Wariant lekki:** jeśli usługa działała, paczka sama ją restartuje i od razu działa nowa wersja. Wyłączona usługa zostaje wyłączona. - **Wariant pełny dla Ubuntu 26.04 (wersja 0.5.0):** paczka nie restartuje usługi. Po aktualizacji wykonaj `sudo systemctl restart vallum-agent`. ### Aktualizacje automatyczne (opcjonalnie) Debian/Ubuntu z `unattended-upgrades`: dopisz repozytorium Vallum do dozwolonych źródeł. Na Debianie 13 sprawdzono, że `unattended-upgrades` przyjmuje ten wzorzec (wynik zawiera `origin=Vallum`); samej nocnej aktualizacji agenta nie testowano. ```sh echo 'Unattended-Upgrade::Origins-Pattern:: "origin=Vallum,label=Vallum";' | sudo tee /etc/apt/apt.conf.d/51vallum-unattended >/dev/null sudo unattended-upgrade --dry-run --debug 2>&1 | grep -i vallum ``` RHEL/Rocky/Alma: `dnf-automatic` (pakiet `dnf-automatic`, timer `dnf-automatic.timer`, w `/etc/dnf/automatic.conf` ustaw `apply_updates = yes`). Aktualizuje wszystkie paczki systemu, nie tylko agenta; z tym repozytorium nie testowano. ## Odinstalowanie Debian/Ubuntu: ```sh sudo apt remove vallum-agent # zostawia konfigurację i rejestrację sudo apt purge vallum-agent # usuwa też /etc/vallum-agent i /var/lib/vallum-agent (rejestracja przepada) ``` RHEL/Rocky/Alma: ```sh sudo dnf remove vallum-agent sudo rm -rf /etc/vallum-agent /var/lib/vallum-agent # tylko jeśli chcesz usunąć konfigurację i rejestrację ``` Usunięcie paczki zatrzymuje i wyłącza usługę. Agent zarejestrowany w konsoli unieważnisz w konsoli Vallum. Usunięcie samego repozytorium: ```sh # Debian/Ubuntu sudo rm /etc/apt/sources.list.d/vallum.sources /usr/share/keyrings/vallum-archive-keyring.gpg && sudo apt update # RHEL/Rocky/Alma sudo rm /etc/yum.repos.d/vallum.repo && sudo rpm -e gpg-pubkey-f7b90213 ``` ## Rozwiązywanie problemów | Objaw | Przyczyna i naprawa | |---|---| | `NO_PUBKEY 831BF8B3F7B90213` przy `apt update` | Brak klucza albo zła ścieżka w `Signed-By`. Powtórz krok 1 dla Debiana/Ubuntu. | | `404 Not Found` dla `…/apt/dists/` | Twój system nie jest obsługiwany (brak suity o tej kodnazwie). Sprawdź tabelę na górze. | | `Package 'vallum-agent' has no installation candidate` | Nie wykonano `apt update` po dodaniu źródła albo poprzedni `apt update` zgłosił błąd dla repo.vallum.pl. | | DNF: błąd weryfikacji podpisu `repomd.xml` | Klucz nie jest zaimportowany albo `gpgkey=` wskazuje inny adres. Wykonaj `sudo rpm --import https://repo.vallum.pl/vallum.asc`. | | DNF: `404` dla `…/rpm/el9.4/…` lub podobnie | System ma przypiętą wersję podrzędną (np. `subscription-manager release --set=9.4`), więc `$releasever` może mieć postać `9.4`. W `vallum.repo` wpisz na stałe `el9` albo `el10` zamiast `el$releasever`. | | Brak dostępu do Internetu, tylko przez proxy | APT: `Acquire::https::Proxy "http://proxy:port";` w `/etc/apt/apt.conf.d/`; DNF: `proxy=http://proxy:port` w sekcji `[vallum]`. | | System bez dostępu do sieci | Pobierz plik ręcznie (`https://repo.vallum.pl/apt/pool/main/v/vallum-agent/`, `https://repo.vallum.pl/rpm/el9/`, `…/el10/`) i zainstaluj `sudo apt install ./plik.deb` albo `sudo dnf install ./plik.rpm`. Automatyczne aktualizacje wtedy nie działają. | ## Źródła Pełny wariant dla Ubuntu 26.04 zawiera komponenty na licencjach GPL (Lynis, OpenSCAP, ClamAV). Odpowiadające im źródła i sumy kontrolne: https://repo.vallum.pl/sources/