Jak skonfigurować sieci VLAN w taki sposób, aby nie narażać mnie na ryzyko przeskoku VLAN?

14

Planujemy migrację naszej sieci produkcyjnej z konfiguracji bez sieci VLAN do konfiguracji z oznaczoną siecią VLAN (802.1q). Ten schemat podsumowuje planowaną konfigurację:

Konfiguracja VLAN

Jednym znaczącym szczegółem jest to, że duża część tych hostów będzie faktycznie maszynami wirtualnymi na pojedynczej maszynie bez systemu operacyjnego. W rzeczywistości jedynymi fizycznymi maszynami będą DB01, DB02, zapory ogniowe i przełączniki. Wszystkie inne maszyny zostaną zwirtualizowane na jednym hoście.

Jedną z obaw było to, że takie podejście jest skomplikowane ( implikowane nadmiernie skomplikowane ) i że sieci VLAN zapewniają jedynie iluzję bezpieczeństwa, ponieważ „przeskakiwanie VLAN jest łatwe”.

Czy jest to uzasadnione, biorąc pod uwagę, że z powodu wirtualizacji dla jednego portu przełącznika fizycznego będzie używanych wiele sieci VLAN? Jak odpowiednio skonfigurować moje sieci VLAN, aby zapobiec temu ryzyku?

Słyszałem również, że VMWare ESX ma coś, co nazywa się „przełącznikami wirtualnymi”. Czy jest to unikalne dla hiperwizora VMWare? Jeśli nie, to czy jest dostępny z KVM (moim planowanym hiperwizorem z wyboru) ?. Jak to wchodzi w grę?

hobodave
źródło
2
Zanim zapytasz ... Omnigraffle.
hobodave
1
Nie jest to duplikat, ale serverfault.com/questions/220442 jest istotne
voretaq7
7
Nie bierz tego w niewłaściwy sposób: nie masz teraz zabezpieczeń warstwy 2, ale martwisz się wprowadzeniem możliwej, ale nieprawdopodobnej wady bezpieczeństwa poprzez wdrożenie zabezpieczeń warstwy 2 w postaci sieci VLAN?
joeqwerty
@joeqwerty: Bez przestępstwa. To nie moja sprawa.
hobodave

Odpowiedzi:

16

Oprócz informacji na temat Dlaczego ludzie mówią mi, żebym nie używał sieci VLAN dla bezpieczeństwa? oto kilka bardziej szczegółowych i ogólnych elementów do rozważenia:


Ogólne przemyślenia na temat bezpieczeństwa
Najbezpieczniejszym systemem jest taki, w którym hosty każdej podsieci są podłączone do przełącznika o dokładnie takiej liczbie portów, która będzie używana przez podłączone urządzenia. W takiej konfiguracji nie można podłączać losowych komputerów do bezpiecznych sieci, ponieważ wymagałoby to odłączenia czegoś (i teoretycznie system monitorowania to zauważyłby).

Sieci VLAN dają coś podobnego pod względem bezpieczeństwa, dzieląc przełącznik na mniejsze wirtualne przełączniki (wirtualne sieci LAN: sieci VLAN), które są logicznie odizolowane od siebie, a przy odpowiedniej konfiguracji mogą pojawiać się wszystkie podłączone do nich systemy, jakby były fizycznie odosobniony.


Ogólne przemyślenia na temat stosunkowo bezpiecznych konfiguracji VLAN
Moja praktyka dotycząca przełączników obsługujących VLAN polega na tym, że cały ruch musi być przypisany do VLAN, z następującą podstawową konfiguracją:

Przypisz wszystkie nieużywane porty do „nieużywanej” sieci VLAN.

Wszystkie porty łączące się z określonym komputerem powinny być przypisane natywnie do sieci VLAN, w której komputer powinien być. Porty te powinny znajdować się w jednej i tylko jednej sieci VLAN (z wyjątkiem pewnych wyjątków, które na razie zignorujemy).
Wszystkie te porty przychodzące pakiety (do przełącznika) są oznaczone natywną siecią VLAN, a wychodzące pakiety (z przełącznika) będą (a) pochodzić tylko z przypisanego vlan, i (b) nie będą oznaczane i będą wyglądać jak każdy zwykły Ethernet paczka.

Jedynymi portami, które powinny być „trunkami VLAN” (porty w więcej niż jednym VLAN), są porty trunk - te przenoszące ruch między przełącznikami lub łączące się z zaporą ogniową, która samodzielnie podzieli ruch VLAN.
Na portach linii miejskiej znaczniki vlan przychodzące do przełącznika będą respektowane, a znaczniki vlan nie będą usuwane z pakietów wychodzących z przełącznika.

Konfiguracja opisana powyżej oznacza, że ​​jedynym miejscem, w którym można łatwo wstrzykiwać ruch „przeskakiwanie VLAN”, jest port magistralny (z wyjątkiem problemu z oprogramowaniem w implementacji VLAN przełączników) i podobnie jak w przypadku „najbezpieczniejszego” oznacza to odłączenie wtyczki ważne i powodujące alarm monitorujący. Podobnie, jeśli odłączysz hosta, aby połączyć się z VLAN, żyje on w twoim systemie monitorowania, powinien zauważyć tajemnicze zniknięcie hosta i ostrzec Cię.
W obu przypadkach mówimy o ataku polegającym na fizycznym dostępie do serwerów - chociaż przerwanie izolacji VLAN może nie być całkowicie niemożliwe, jest to co najmniej bardzo trudne w środowisku skonfigurowanym jak opisano powyżej.


Konkretne przemyślenia na temat bezpieczeństwa VMWare i VLAN

Wirtualne przełączniki VMWare można przypisać do sieci VLAN - Gdy te wirtualne przełączniki są podłączone do fizycznego interfejsu na hoście VMWare, każdy emitowany ruch będzie miał odpowiedni znacznik VLAN.
Fizyczny interfejs maszyny VMWare musiałby być podłączony do portu trunkingowego VLAN (przenoszącego sieci VLAN, do których będzie potrzebował dostępu).

W takich przypadkach podwójnie ważne jest zwrócenie uwagi na najlepsze praktyki VMWare dotyczące oddzielania karty sieciowej zarządzania od karty sieciowej maszyny wirtualnej: karta sieciowa zarządzania powinna być podłączona do rodzimego portu w odpowiedniej sieci VLAN, a karta sieciowa maszyny wirtualnej powinna połączyć się z pień, który ma sieci VLAN, których potrzebują maszyny wirtualne (najlepiej, że nie powinien przenosić sieci VLAN VMWare Management).

W praktyce egzekwowanie tej separacji, w połączeniu z przedmiotami, o których wspomniałem i co jestem pewien, że wymyślą inni, stworzy względnie bezpieczne środowisko.

voretaq7
źródło
12

Przeskakiwanie VLan jest łatwe wtedy i tylko wtedy, gdy nieuczciwe urządzenia mogą transmitować pakiety na pniach bez tagów vlan.

Jest to najczęściej występujące w następującej sytuacji. Twój „normalny” ruch nie jest oznaczony; masz „bezpieczny” vlan, który jest oznaczony. Ponieważ maszyny w „normalnej” sieci mogą przesyłać pakiety, które nie są sprawdzane przez znaczniki (najczęściej byłyby to przełączniki dostępu), pakiet może mieć fałszywy znacznik vlan, a zatem wskakiwać na vlan.

Prosty sposób, aby temu zapobiec: cały ruch jest oznaczany przez przełączniki dostępu (zapory / routery mogą być wyjątkiem, w zależności od konfiguracji sieci). Jeśli „normalny” ruch zostanie oznaczony przez przełącznik dostępu, to dowolny znacznik, który fałszywy klient wykuwa, zostanie odrzucony przez przełącznik dostępu (ponieważ ten port nie miałby dostępu do tego znacznika).

Krótko mówiąc, jeśli używasz tagowania vlan, wszystko musi być oznaczone w pniach, aby było bezpieczne.

Chris S.
źródło
nie jestem pewien, czy użyłbym terminu „enkapsulowany”, kiedy mówię o vlanach ... to tylko tag, prawda?
SpacemanSpiff
2
Po prostu dodając, że cały ruch z określonego portu można oznaczyć w vlan, zapewniając w ten sposób cały ruch z hosta do tego vlan, więc nie przeskakuj.
Joris,
Podstawowym problemem jest to, że w miksie są również maszyny wirtualne i musi on ufać, że maszyny wirtualne są równie wiarygodne jak przełączniki.
Chris
3
@chris, jeśli host VM ma linię trunkingową, to tak, musisz zaufać hostowi. Oprogramowanie hiperwizora hosta powinno jednak wykonać samo tagowanie, abyś nie musiał ufać maszynom wirtualnym. Wiem, że ESXi i Hyper-V to zrobią, inni prawdopodobnie również.
Chris S
4

Po przeprowadzeniu sporej liczby testów penetracyjnych w środowiskach wirtualnych dodałbym te dwa elementy do obejrzenia:

Zaplanuj swoje wirtualne środowisko dokładnie tak, jak w prawdziwym środowisku - ponieważ wszelkie słabości strukturalne lub architektoniczne, które wprowadzisz w świecie rzeczywistym, przełożą się dobrze na świat wirtualny.

Popraw konfigurację wirtualną - 99% wszystkich udanych penetracji, które udało mi się przeprowadzić na maszynach wirtualnych lub partycjach LPAR, nastąpiło w wyniku błędnej konfiguracji lub ponownego użycia poświadczeń.

I mniej technicznie, pomyśl także o podziale obowiązków . To, co mogło być obsługiwane przez zespoły sieciowe, zespoły serwerów itp., Może teraz stanowić jeden zespół. Twój audytor może uznać to za ważne!

Rory Alsop
źródło
1
+1 za planowanie środowiska maszyn wirtualnych tak, jakby było fizyczne - luki mogą nie być odwzorowane 1 na 1, ale zazwyczaj są bardzo bliskie.
voretaq7