Deaktivieren Sie das Netzwerk für bestimmte Benutzer

13

Ich arbeite an Ubuntu / Mint Distro, die live laufen soll. Es gibt mehrere Konten, die in drei allgemeine Gruppen unterteilt sind: Admin, Internet und Sicherheit.

  • Admin hat offensichtlich die Befugnis, alles zu tun.
  • Internet Konto ist für die Verwendung des Internets.

Die anderen Konten sind Sicherheit Konten. Auf keinen Fall dürfen Netzwerk-Internet, Drucker, Bluetooth, WiFi-Geräte usw. verwendet werden.

Was ich tun möchte, ist, die Netzwerktreiber aus dem Kernel zu entfernen, aber das würde die Konten deaktivieren, die Internet benötigen.

Was ist der Weg der niedrigsten Ebene, um das Internet für diese Sicherheitskonten zu deaktivieren? Ich suche nach unmöglich zu verbinden Lösungen.

    
bambuntu 06.02.2012, 22:31
quelle

2 Antworten

11

Das kannst du mit iptables machen.

Fügen Sie an einem Terminal die Regel zu iptables

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

wobei Benutzername der Benutzer ist, für den Sie die Internetverbindung deaktivieren möchten. Speichern Sie die Datei und beenden Sie sie.

Dies fügt iptables eine Regel hinzu, die besagt, dass alle vom angegebenen Benutzer erstellten ausgehenden Pakete automatisch um iptables fallengelassen werden.

Wenn Sie das gleiche für eine komplette Gruppe tun wollen, dann suggest Sie, dass Sie anstelle von --uid username --gid-owner groupname verwenden, was den gleichen Effekt für eine komplette Benutzergruppe hat.

Um zu verhindern, dass die Gruppe Sicherheit auf das Internet zugreift, würde der Befehl etwa so aussehen

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

Um die Regel dauerhaft zu machen, können Sie ein Skript in /etc/network/if-up.d/ erstellen, die erforderlichen Zeilen hinzufügen und es ausführbar machen.

Als Option verwenden Sie iptables-save , um Ihre aktuellen Regeln zu speichern und sie beim Booten wiederherzustellen.

Speichere die aktuellen iptables -Regeln

sudo iptables-save > /etc/iptables_rules

Öffnen Sie /etc/rc.local mit Ihrem bevorzugten Texteditor und fügen Sie am Ende der Datei

hinzu
/sbin/iptables-restore < /etc/iptables_rules

Dadurch werden die gespeicherten Regeln bei jedem Start wiederhergestellt.

Weitere Informationen finden Sie auf der Seite [ iptables manpage ], um weitere Informationen zu verschiedenen iptables -Optionen zu erhalten.

    
Bruno Pereira 06.02.2012, 22:45
quelle
2

Brunos Lösung ist gut: Ich denke, wahrscheinlich die beste in sich geschlossene Lösung.

Eine weitere Option, die Sie in Betracht ziehen können, besteht darin, eine Firewall / einen Proxy auf einem separaten Computer als Gateway zum Internet einzurichten, der nur Verbindungen zulässt, die Authentifizierung pro Benutzer ermöglichen. Sie könnten beide zusammen für zusätzlichen Schutz verwenden.

    
poolie 06.02.2012 23:39
quelle

Tags und Links