Licznik zapory wzrasta, gdy pakiet pasuje do reguły, i robi to bez zatrzymywania pakietu. To wystarczy, aby odpowiedzieć na pierwsze pytanie w większości dochodzeń dotyczących odrzuceń: czy przepływ w ogóle dotarł do tej reguły. Przechwytywanie ładunku odpowiada na inne pytanie i zbiera wszystko inne, co przecina interfejs podczas działania. Zacznij od licznika i przejdź do rejestrowania metadanych tylko wtedy, gdy licznik jest niejednoznaczny.

Liczniki odpowiadają na pierwsze pytanie

Każda reguła, która może pasować, ma licznik, a odczytanie go przed testem i po nim mówi, czy ruch dotarł. To porównanie dwóch liczb, a nie archiwum, i nie kosztuje nic w przechowywaniu ani ekspozycji.

Odczytuj liczniki narzędziem, do którego należą reguły:

iptables -L FORWARD -v -n --line-numbers
nft list ruleset

Delta jest dowodem. Reguła, której licznik się nie porusza, nigdy nie widziała przepływu, co wskazuje na wcześniejszą granicę: niewłaściwy interfejs, niewłaściwą tabelę lub trasę, która nigdy nie wysłała tam pakietu. Reguła, której licznik się porusza i która mimo to odrzuca, mówi, że polityka robi to, do czego została napisana.

Czego licznik nie może ci powiedzieć

Licznik daje liczbę, a nie powód. Nie potrafi odróżnić pakietu dopasowanego po adresie od tego dopasowanego po porcie i nie potrafi powiedzieć, która z dwóch podobnych reguł złapała przepływ. Nie potrafi też powiedzieć, czy pakiet został odrzucony, zablokowany czy zaakceptowany, a potem utracony, chyba że przeczytasz regułę, do której należy licznik.

Tu wkracza rejestrowanie metadanych, a zakres jest całą istotą sprawy. Zarejestruj interfejs, kierunek, adresy, protokół i werdykt dla konkretnego przepływu testowego. Te pola lokalizują nieudaną granicę bez zapisywania, co robił użytkownik.

Rejestrowanie ładunku odpowiada na inne pytanie i odpowiada na nie o wszystkich w interfejsie.

Rejestrowanie metadanych w wąskim zakresie

Napisz regułę pasującą tylko do twojego przepływu testowego, nadaj jej wyróżniający prefiks i ogranicz jej szybkość w ramach własnych mechanizmów platformy, aby zwykła ponowna próba nie zalała magazynu. Prefiks pozwala odnaleźć twoje wpisy pośród wszystkiego innego, co rejestruje urządzenie.

Unikaj włączania rejestrowania ładunku lub nieograniczonego rejestrowania pakietów tylko dlatego, że funkcja istnieje. Skrócone przechwycenie też nie jest automatycznie wolne od ładunku, ponieważ rozmiary nagłówków i układy pakietów się różnią, więc pozornie mała długość zrzutu nadal może nieść bajty aplikacji.

Jeśli musisz przechwytywać, przechwyć jeden przepływ, na ograniczony czas, z najmniejszą długością zrzutu, która odpowiada na twoje pytanie.

Dopasuj jedno świeże żądanie

Wygeneruj nieszkodliwy ruch podążający rzeczywistą trasą klienta, a następnie porównaj odpowiednie liczniki przed i po. Test lokalny na bramie może całkowicie pominąć regułę przekazywania, ponieważ pakiet nigdy nie idzie ścieżką przekazywania. Ustanowiona sesja może też pasować do innej obsługi stanu niż nowe połączenie, więc długotrwały przepływ nie zastępuje świeżego.

Ogranicz okno czasowo i zapisz je. Między dwiema określonymi minutami, z tego adresu klienta, do tego celu na tym protokole to diagnoza. Gdzieś dziś rano to poszukiwanie.

Jeden przepływ, jedno okno, jedna granica to tutaj jednostka postępu.

Posprzątaj i zachowaj tylko wyciąg

Usuń tymczasową regułę diagnostyczną przez konfigurację właściciela, gdy dochodzenie się skończy. Wąska reguła rejestrowania pozostawiona na miejscu staje się niezamierzonym systemem zapisu i nikt po sześciu miesiącach nie pamięta, dlaczego istnieje.

Przechowuj oryginalne zapisy prywatnie, gdy wymaga tego polityka, i udostępniaj sprawdzony minimalny wyciąg zamiast całego przechwycenia. Adresy, identyfikatory kont i wewnętrzna topologia są wrażliwe nawet wtedy, gdy nie ma ładunku. Traktuj wyciąg jako dokument z właścicielem. Zamaż wszystko, czego diagnoza nie potrzebuje.

Celem jest konkretna nieudana granica dla konkretnego żądania. Wszystko, co tworzy pełne archiwum wszystkich użytkowników VPN, przekroczyło diagnozę i zaczęło inny projekt. Zanim coś dodasz, sprawdź w dokumentacji rejestrowania platformy, co rejestruje domyślnie.

Powiązane artykuły