Kompatybilność Suricata IPS z Proxmox
Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał
Dla tych, którzy nie używają Proxmoxa ani Suricaty: pierwszy to platforma wirtualizacyjna ułatwiająca uruchamianie maszyn wirtualnych oraz kontenerów LXC, a druga to system bezpieczeństwa ruchu sieciowego, który potrafi identyfikować (tryb IDS), a nawet blokować złośliwy ruch (tryb IPS). Suricata działa bez problemu na Proxmoxie, który zwykle jest zainstalowany na Debianie, ale czasem pojawiają się problemy z kompatybilnością sprzętu/oprogramowania, o których zaraz opowiem...
Wystawienie serwera Proxmox do sieci publicznej to raczej nie najlepszy pomysł. Jeśli jednak nie ma możliwości użycia dedykowanego sprzętu, jedynym rozsądnym wyjściem jest ukrycie swojej maszyny przed światem. Można oczywiście skonfigurować klaster Proxmox, w którym tylko jeden serwer jest wystawiony, a pozostałe są dostępne wyłącznie przez łącze prywatne (np. VLAN-y na vSwitchu w Hetznerze). Nadal jednak zostaje co najmniej jeden serwer, który musi być dostępny z zewnątrz.
Uwaga: bez dedykowanego sprzętu sieciowego możesz spróbować skonfigurować wszystko offline przez konsolę KVM (z łączem prywatnym wyłącznie do komunikacji w klastrze), ale wtedy, jeśli coś pójdzie nie tak, zostaniesz w kolejce do dostępu, ponieważ zasoby często są ograniczone – tak jak w Hetznerze. Zwykle dostęp do KVM jest przyznawany w ciągu 15 – 60 minut od zgłoszenia.
Jeśli więc twoja maszyna jest wystawiona, musisz ją jakoś ukryć przed złośliwym ruchem. Ja wolę wyłączyć RPC i SSH, włączyć 2FA dla uwierzytelniania w UI, a na koniec zainstalować Suricata IPS bezpośrednio na Debianie. Oczywiście, jeśli masz jakieś VM-ki wewnątrz Proxmoxa (a będziesz mieć), możesz zainstalować Suricatę także na nich, na przykład na pfSense, gdzie jest wygodnie dostępna jako gotowy pakiet. Instalacja jest prosta, ale… opiera się na funkcjach jądra Linux, które wymagają odpowiednich sterowników i kompatybilności sprzętu. Oznacza to, że uruchomisz ją na prawie każdym nowoczesnym sprzęcie, ale nie na każdym. Są pewne problemy z wbudowanymi kartami sieciowymi i niestandardowym jądrem Proxmoxa, które wybiera inne sterowniki. Oficjalna dokumentacja mówi, że należy załadować moduł nfnetlink_queue, ale najważniejsze na tym problematycznym sprzęcie jest włączenie i uruchomienie usługi nftables. Bez niej Suricata wybierze tryb af-packet, a nas interesuje tryb nfqueue, ponieważ domyślnie obsługuje blokowanie.
Usługa systemowa Suricata jest domyślnie skonfigurowana do działania w trybie af-packet – możesz to sprawdzić w plikach usługi. Jeśli skrypty startowe wykryją nadpisania konfiguracji, uruchomią ją w innym trybie, na przykład w trybie nfqueue. Na problematycznych konfiguracjach najprawdopodobniej trzeba będzie to nieco dostosować. I w zasadzie to wszystko, ale nigdzie w oficjalnej dokumentacji o tym nie przeczytasz. Mam więc nadzieję, że dzięki tym drobiazgom zyskasz wiele.