Jak zablokować ruch sieciowy na bramie ubuntu za pomocą tablicy arp

0

Mam sieć z 80 komputerami i Ubuntu 12.04 jako GW. Ze względów bezpieczeństwa chcę ograniczyć komputery podłączone do tej sieci za pomocą wstępnie skompilowanej tabeli ARP. Innymi słowy, chcę narzędzie, które pozwala na dostęp do Internetu tylko wtedy, gdy para ARP --> [IP-MAC]jest wstępnie skonfigurowana i ignoruje każdą inną kombinację. Dzięki tej technice chcę uniemożliwić użytkownikom zmianę adresatów IP przypisanych z rezerwacji DHCP oraz dostęp do nieograniczonych sieci i escape from iptablereguł. Dzięki

emirjonb
źródło
Czy możesz wyjaśnić coś więcej? Trudno zrozumieć, dlaczego zmiana adresu IP dałaby im nieograniczony dostęp do Internetu, chyba że coś było bardzo nie tak z konfiguracją iptables.
Paul
Zmieniają adres IP różnych ról, na przykład ustawiają na komputerze adres IP departamentu finansów, gdy nie są w pracy, a to daje im ograniczone ograniczenie, które mam dla działu finansów
emirjonb
To ci nie pomoże: można też sfałszować adresy MAC. Oszust może zobaczyć adresy MAC i IP komputera w programie Finance, umieścić je na swojej maszynie, i nie ma nic, co zaproponowałbyś, aby to zrobić.
MariusMatutiae
Ja też to wiem, ale chcę tylko utrudnić kradzież lub stworzyć iluzję: „nie da się zrobić”. W każdym razie jakie mam inne rozwiązanie?
emirjonb
1) utwórz osobne sieci VLAN 2) użyj programowalnych przełączników, takich jak amazon.com/gp/product/…
MariusMatutiae

Odpowiedzi:

2

To, czego naprawdę szukasz, to kontrola dostępu do sieci 802.1x. Działa to w RADIUS i wymaga uwierzytelnienia klienta przed dostępem do sieci. Istnieje kilka rozwiązań opartych na systemie Linux, w tym:

Dla klientów:

W przypadku serwera NAC:

Zakładając, że nie masz zarządzanych przełączników zdolnych do uruchamiania sieci VLAN, możesz chcieć korzystać z PacketFence w trybie in-line, opisanym w dokumentacji. Służy ipsetdo modyfikowania reguł zapory w celu umożliwienia ruchu, ale wymaga określonych separacji topologii (DNS na oddzielnym segmencie od hostów). Przełączniki, których może używać PacketFence, są wymienione tutaj


KOREKTA !: Istnieje inny wbudowany sposób zarządzania tabelą arp w Linuksie man 5 ethers. Dodajesz wpisy w postaci, ethernet ipaby /etc/ethersnastępnie uruchomić, arp -faby zaktualizować tabelę na tej podstawie. Zobacz man arpszczegóły i http://gwallgofi.com/static-arp-linux/, aby uzyskać bardziej szczegółowe instrukcje.


Aby odpowiedzieć na konkretne pytanie dotyczące tabel arp, utwórz plik static-arp.confzawierający wpisy, takie jak:

10.0.0.6 00:0c:29:c0:91:bf
10.0.0.7 00:0c:29:c0:92:bf
10.0.0.8 00:0c:29:c0:93:bf
10.0.0.9 00:0c:29:c0:94:bf

Następnie uruchomić:

while read -u 10 arpentry ; do arp -s $arpentry ; done 10<static-arp.conf

Z jakiegoś powodu nie działało i musiałem przełączyć się na read -u, aby skonfigurować deskryptor pliku, nie jestem pewien, dlaczego ... ale to dodało wpisy jako wymienione. Następnie możesz rozpowszechniać to , co chcesz, za pośrednictwem nfs, git, rsync itp.for I in cat static-arp.confstatic-arp.conf

Vlans prawdopodobnie byłby jednak lepszym pomysłem. Informacje na temat korzystania z vlana w Linuksie znajdują się tutaj .

glallen
źródło
1
Dziękuję za odpowiedź, ale tym razem potrzebuję szybszego i lżejszego rozwiązania. czy możesz mi pomóc z tą regułą: iptables -A DO PRZODU -p tcp -s 192.168.1.1 -m mac! --mac-source 00: 01: 02: 03: 04: 05 -j DROP .... Czy ta reguła odrzuca cały pakiet, który pochodzi z 192.168.1.1 i ma inny MAC, który został wprowadzony w regule
emirjonb
Widziałeś część dotyczącą / etc / ethers i arp -f? Spojrzę na iptables, kiedy dojdę do komputera.
glallen
1
Spróbować iptables -A FORWARD -s 192.168.1.1 -m mac ! --mac-source 00:01:02:03:04:05 -j DROP. Nie -p tcppowinno to być konieczne, ponieważ po prostu dopasowujemy adresy IP. W przeciwnym razie wygląda dobrze. iptables-save > testfiletestfileiptables-restore < testfile
Załaduję
ok tak, że -p tcp był szybkim błędem,
wdrożyłem
1

Szukasz czegoś tak prostego?

iptables -A FORWARD -m mac --mac-source 00: 01: 11: 11: 11: 11 -j AKCEPTUJ

W ten sposób możesz ustawić tylko dozwolone adresy MAC, aby uzyskać dostęp do Internetu (możesz również podać adres IP i najprawdopodobniej będziesz potrzebować ładnego skryptu, aby go utrzymać). Inne rozwiązania zostały już omówione w komentarzach.

Edycja: Nie udało mi się rozwiązać negacji (nie działało), ale możesz to zrobić:

iptables -P DROP DO PRZODU

iptables -A FORWARD -s 192.168.1.1 -m mac --mac-source 00: 01: 02: 03: 04: 05 -j AKCEPTUJ

„Czy ta reguła odrzuca cały pakiet, który pochodzi z 192.168.1.1 i ma inny adres MAC, który został narzucony w regule?” Myślę, że o to prosiłeś.

Zwróć uwagę na kilka zmian - brakujące „!” i „-p tcp” - co upuszczałoby tylko pakiety tcp.

Uwaga 2: Pamiętaj, że wspomniany adres IP z innym adresem MAC nadal mógłby na przykład pingować router. Aby temu zapobiec, musisz zrobić to samo w łańcuchu INPUT.

Kuncík
źródło
Nie, nie jest. To filtr MAC, ale wtedy będę słuchać w sieci LAN, identyfikować MAC i powiązane adresy IP, sfałszować MAC i podać sobie powiązane adresy IP, i będę surfować z prędkością światła, podczas gdy chłopi wokół mnie przemykają w błocie.
MariusMatutiae
Mówisz o części, o której wspomniałeś w komentarzach. Jak stwierdził emirjonb, zdaje sobie z tego sprawę i chce tylko czegoś trudniejszego. To rozwiązanie nie było jeszcze oferowane ...
Kuncík
Dobrze. Ale to nie jest oferowane, ponieważ jest najbardziej oczywiste, spośród tych, które zawiodą.
MariusMatutiae
Dzięki za pisanie, ale znam to rozwiązanie, ale nadal nie spełniam mojej podstawowej prośby. Wszyscy użytkownicy potrzebują dostępu do tej bramy, chcę uniemożliwić dostęp do sieci, jeśli zmieni się kombinacja [IP-MAC].
Wpadną
czy możesz mi pomóc z tą regułą: iptables -A DO PRZODU -p tcp -s 192.168.1.1 -m mac! --mac-source 00: 01: 02: 03: 04: 05 -j DROP .... Czy ta reguła odrzuca cały pakiet, który pochodzi z 192.168.1.1 i ma inny MAC, który został wprowadzony w regule
emirjonb
0

Testowałem i wydaje się, że działa

iptables -A FORWARD -s 192.168.1.1 -m mac! --mac-source 00: 01: 02: 03: 04: 05 -j DROP

Upuść, jeśli pakiety pochodzą z tego adresu IP z innym adresem MAC, jak wpisano w regule. Jedynym problemem jest to, że muszę ręcznie dodawać każdy adres IP, który muszę „chronić”. Na razie mam tylko 2

*A illusion of protect since exist MAC spoofing w każdym razie zniechęca to użytkowników

emirjonb
źródło
Ta zasada niczego nie osiąga.
MariusMatutiae
@MariusMatutiae, zadziałało dla mnie, aby zablokować użytkownikom korzystanie z tego
adresu