Zabbix. Szyfrowana komunikacja z agentem na Linuksie.

Standardowo wymiana informacji pomiędzy serwerem a agentem odbywa się jawnym tekstem. Minus takiego rozwiązania jest taki ze osoby niepowalone w naszej sieci mogą podejrzeć te informacje. Na szczęście Zabbix daje możliwość ustawienia szyfrowanej komunikacji – za pomocą certyfikatów lub kluczy pre-shared keys.
W tym artykule zobaczmy jak łatwo można podnieść bezpieczeństwo przesyłanych danych za pomocą klucza PSK.

Teraz nasz Linux musi mieć zainstalowany pakiet bibliotek szyfrujących. Obsługiwane są GnuTLS, OpenSSL, LibreSSL, mbad TLS. Ja wybrałem mój ulubiony OpenSSL i użyje go w tym przykładzie.

Ok, przejdźmy wiec do konfiguracji w kilku prostych krokach.

  1. Na hoście z agentem odpal terminal i przejdź do miejsca gdzie będziesz trzymać klucze. Wykonaj polecenie by wygenerować plik PSK. Zamiast host podaj nazwę hosta, na którym tworzysz klucz
    openssl rand -hex 32 > host.psk
  2. Podejrzyj zawartość pliku more host.psk i skopiuj znajdujący się tam ciąg znaków – przyda się to na koniec. To ważne, nie zapomnij tego.
  3. Ustaw uprawnienia do nowo utworzonego pliku, tak by był odczytywalny tylko przez użytkownika zabbix
    sudo chown zabbix:zabbix host.psk
    sudo chmod 0640 host.psk
  4. Teraz przejdź do pliku konfiguracji agenta
    sudo nano /etc/zabbix/zabbix_agend.d.conf
  5. W otwartym pliku odkomentuj (usuń #) i ustaw odpowiedni parametr w następujących linijkach
    TLSConnect=psk
    TLSAccept=psk
    TLSPSKIdentity=unikalna_nazwa_hosta

    (tu podaj unikalna nazwę hosta, ta informacja nie jest szyfrowana)
    TLSPSKFile=/home/zabbix/klucze/host.psk
    (tu podaj swoja ścieżkę do pliku psk)
    Zapisz i zamknij plik konfiguracji.
  6. Zrestartuj usługę agenta
    sudo systemctl restart zabbix-agent
  7. Otwórz w przeglądarce stronę Zabbixa i przejdź do konfiguracji hosta Configuration/Host, dalej zakładkę Encryption
  8. Ustaw PSK w polu Connection to host i Connection from host. W polu PSK Identity podaj unikalna nazwę hosta taka jak ustawiłeś w parametrze TLSPSKIdentity w pliku konfiguracyjnym agenta (w kroku 5).
    w pole PSK wklej ciąg znaków, który skopiowałeś sobie w kroku 2.
    Na koniec kliknij Update.

Teraz powróć do listy hostów i w kolumnie Agent encryption powinieneś zobaczyć ładnie świecącą na zielono ikonki PSK. Brawo Ty! Punkt dla bezpieczeństwa systemu monitoringu.