Wyłącz sieci dla określonych użytkowników


16

Pracuję nad dystrybucją Ubuntu / Mint przeznaczoną do uruchomienia na żywo. Istnieje wiele kont, które dzielą się na trzy ogólne grupy: Administrator, Internet i Bezpieczeństwo.

  • Administrator ma oczywiście uprawnienia do robienia czegokolwiek.
  • Konto internetowe służy do korzystania z Internetu.

Pozostałe konta to konta bezpieczeństwa . Pod żadnym pozorem nie jest dozwolone korzystanie z Internetu, drukarki, urządzeń Bluetooth, WiFi itp.

Chciałbym usunąć sterowniki sieciowe z jądra, ale spowodowałoby to wyłączenie kont wymagających Internetu.

Jakie są najniższe sposoby wyłączania Internetu dla tych kont bezpieczeństwa? Szukam niemożliwych do połączenia rozwiązań.

Odpowiedzi:


14

Możesz to zrobić za pomocą iptables.

Na terminalu dodaj regułę do iptables

sudo iptables -A OUTPUT -p all -m owner --uid-owner username -j DROP

gdzie nazwa użytkownika to użytkownik, którego połączenie ma zostać wyłączone. Zapisz plik i wyjdź.

Spowoduje to dodanie reguły do iptablesinformowania, że ​​wszelkie wychodzące pakiety utworzone przez określonego użytkownika zostaną automatycznie odrzucone iptables.

Jeśli chcesz zrobić to samo dla kompletnej grupy, sugeruję, że zamiast tego --uid usernameskorzystasz --gid-owner groupname, to będzie miało taki sam efekt dla całej grupy użytkowników.

Aby uniemożliwić grupie Security dostęp do Internetu, polecenie wyglądałoby mniej więcej tak

sudo iptables -A OUTPUT -p all -m owner --gid-owner security -j DROP

Aby reguła stała się trwała, możesz utworzyć skrypt /etc/network/if-up.d/, dodać do niego niezbędne wiersze i uczynić go wykonywalnym.


Opcjonalnie użyj, iptables-saveaby zapisać bieżące reguły i przywrócić je podczas uruchamiania.

Zapisz aktualne iptableszasady

sudo iptables-save > /etc/iptables_rules

Otwórz /etc/rc.localw swoim ulubionym edytorze tekstu i na końcu dodaj plik

/sbin/iptables-restore < /etc/iptables_rules

To przywróci zapisane reguły przy każdym uruchomieniu.

Aby uzyskać więcej informacji, odwiedź stronę [ iptablesmanpage ], aby uzyskać więcej informacji o kilku iptablesopcjach.


Dzięki. To działało w Internecie, ale ten użytkownik może nadal korzystać z bluetooth. Testuję połączenie bezprzewodowe, ale nie potwierdziłem. Wygląda na to, że konto utknęło na DENY. Próbowałem, sudo iptables -A OUTPUT -p all -m owner --uid-owner internet -j ACCEPTale to nie włączyło go ponownie do testowania.
bambuntu

Ok, iptables wydają się być filtrem dla czegoś niższego, co faktycznie powoduje połączenie sieciowe. Jaka aplikacja umożliwia połączenie? Czy mogę to wyłączyć? Jeśli tak, wyłączanie zależy od tego, kto kontroluje konsolę. Ta dystrybucja na żywo jest przeznaczona dla wielu użytkowników, ale nie jest przeznaczona dla więcej niż jednej konsoli. Jeśli więc mogę śledzić, kto korzysta z konsoli, myślę, że mogę wyłączyć tę aplikację sieciową na podstawie uprawnień użytkowników.
bambuntu

Cóż, byłby to Twój menedżer sieci w Ubuntu, to znaczy, że network-managerjeśli usuniesz użytkownika z grupy networki wyłączysz połączenie network-managerlub inne podobne narzędzie, nie będzie on mógł ponownie nawiązać połączenia, z drugiej strony użytkownik, który jest częścią grupy sieci będzie. To kolejny poziom myślenia, ponieważ wyłącza to samo połączenie.
Bruno Pereira,

Po odrobinie Googling odkryłem, że możesz usunąć menedżera sieci i skonfigurować Ubuntu w tradycyjny sposób, edytując / etc / network / interfaces . Wygląda na to, że nie jest to aplikacja sieciowa, którą chcę wyłączyć. Patrzę trochę niżej. Jak nisko możemy zejść, zanim dotrzemy do kierowcy?
bambuntu

Byłem w stanie usunąć i wyczyścić menedżera sieci. W tym momencie sieć została wyłączona. Ale udało mi się przywrócić to z powrotem: sudo /etc/init.d/networkingpo edycji /etc/network/interfaces Więc jest /etc/init.d/networkingtak nisko, jak idziesz?
bambuntu

2

Rozwiązanie Bruno jest dobre: ​​myślę, że chyba najlepsze samodzielne rozwiązanie.

Inną opcją, o której możesz pomyśleć, jest skonfigurowanie zapory ogniowej / serwera proxy na oddzielnym komputerze, jako bramie do Internetu, która pozwala tylko na połączenia, które zapewniają uwierzytelnianie poszczególnych użytkowników. Możesz użyć obu razem dla dodatkowej ochrony.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.