Ich möchte den Port 80 begrenzen, so dass nur ein Benutzer ihn benutzen kann. Ich möchte dies mit iptables tun Ich habe keine Dokumentation gefunden, wie dies zu tun ist. dieWie man den Port 80 mit iptables auf nur einen Benutzer beschränkt
Antwort
Wenn Sie meinen, „ein lokaler Benutzer mit einem diskreten uid“, dann können Sie das Eigentümer-Modul verwenden (-m owner
) und die --uid-owner #
Option.
Aber es gibt einige Probleme hier:
- Dies funktioniert nur auf ausgehende Pakete.
- Einige Pakete haben keine Besitzer.
Von sich aus sind diese normalerweise keine Deal-Breaker. Aber Sie müssen die bedingten und blockierenden Pakete, die nicht mit dem Benutzer übereinstimmen, effektiv invertieren. Ich vermute, dass dies die Protokollverarbeitung ausreichend unterbricht, so dass ein einfacher Versuch fehlschlägt.
Ich würde sagen, Port 80 Ausgang weiterleiten, die Sie wissen, wird eine Benutzerzuordnung zu einer separaten Kette haben, und dann nur diese Kette von Benutzer filtern. Dies sollte den Verkehr anderer Benutzer ausreichend unterbrechen, aber nicht den internen Verkehr, um Ihre Anforderung zu erfüllen.
Ich mache mir nur Sorgen wegen Outbound, weil ich nur blockieren will, dass Anfragen gemacht werden, und wenn Anfrage blockiert wird, wie wird dann eine eingehende Antwort sein. Könnten Sie den Befehl geben, den ich verwenden müsste? Ich habe nicht viel Erfahrung mit iptables. –
iptables hat das -m owner --uid-owner ###
Spiel „Spiele, wenn das Paket von einem Prozess mit dem gegebenen, effektiven Benutzer-ID erstellt wurde“
Was ist ein Benutzer? Du meinst Single-Source-IP-Adresse? –
nein, ein lokaler Benutzer –