ubuntuusers.de

Firewall UFW Frage: DENY bei routing?

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

muelli01

Anmeldungsdatum:
12. Dezember 2014

Beiträge: 29

Hallo zusammen,

habe hier einen kleinen Test aufgebaut um UFW zu testen. Zustand wie folgt:

Server NIC1: 192.168.1.100/24

Server NIC2: 192.168.2.100/24 → default GW geht zur Fritzbox 192.168.2.254

Fritzbox hat statische Route zu 192.168.1.0/24 via 192.168.2.100

Habe nun einen Testclient an NIC1 hängen mit 192.168.1.1/24. UFW auf Server wie folgt:

Status: Aktiv

     Zu                         Aktion      Von
     --                         ------      ---
[ 1] 192.168.1.100 53/udp     ALLOW IN    192.168.1.0/24          
[ 2] 192.168.1.100 1194/tcp   ALLOW IN    192.168.1.0/24          
[ 3] 192.168.1.100 1194/udp   ALLOW IN    192.168.1.0/24          
[ 4] 192.168.1.100 123/udp    ALLOW IN    192.168.1.0/24          
[ 5] Anywhere                   DENY IN     192.168.1.0/24          
[ 6] Anywhere                   DENY OUT    192.168.1.0/24           (out)

Die Clients an NIC1 sollen DNS, openvpn und ntp zum Server machen können, das funktioniert auch tadellos. Alle anderen Dienste sind nicht erreichbar. ABER: Die Clients können auch alles frei im Internet nutzen, was ich eigentlich nicht möchte. Klar, könnte die Route auf der Fritzbox löschen, aber der tiefere sinn soll sein, dass ich den Clients hinten dran zB den Zugriff auf gezielt EINEN Server im Internet geben möchte.

Kann mich jemand in die richtige Richtung schubsen? Irgendwo hakt es hier bei mir.

Danke!

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

muelli01 schrieb:

ABER: Die Clients können auch alles frei im Internet nutzen, was ich eigentlich nicht möchte. Klar, könnte die Route auf der Fritzbox löschen, aber der tiefere sinn soll sein, dass ich den Clients hinten dran zB den Zugriff auf gezielt EINEN Server im Internet geben möchte.

Poste mal von einem Client, die Ausgaben von:

ip r g 1.1.1.1
route -n
mtr -4nr -c 1 1.1.1.1

muelli01

(Themenstarter)

Anmeldungsdatum:
12. Dezember 2014

Beiträge: 29

Ergebnis:

pi@raspberrypi:~ $ ip r g 1.1.1.1
1.1.1.1 via 192.168.1.100 dev eth0 src 192.168.1.149 
    cache 

pi@raspberrypi:~ $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.100   0.0.0.0         UG    202    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0

pi@raspberrypi:~ $ mtr -4nr -c 1 1.1.1.1
Start: 2022-06-19T15:36:57+0200
HOST: raspberrypi                 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.1.100              0.0%     1    1.3   1.3   1.3   1.3   0.0
  2.|-- 192.168.2.254              0.0%     1    2.1   2.1   2.1   2.1   0.0
  3.|-- 62.155.246.10              0.0%     1   13.9  13.9  13.9  13.9   0.0
  4.|-- 217.5.67.250               0.0%     1   14.8  14.8  14.8  14.8   0.0
  5.|-- 217.5.67.250               0.0%     1   14.2  14.2  14.2  14.2   0.0
  6.|-- 80.156.162.178             0.0%     1   19.1  19.1  19.1  19.1   0.0
  7.|-- ???                       100.0     1    0.0   0.0   0.0   0.0   0.0
  8.|-- 195.219.148.122            0.0%     1   27.5  27.5  27.5  27.5   0.0
  9.|-- 172.70.248.3               0.0%     1   31.1  31.1  31.1  31.1   0.0
 10.|-- 1.1.1.1                    0.0%     1   27.7  27.7  27.7  27.7   0.0

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

muelli01 schrieb:

pi@raspberrypi:~ $ ip r g 1.1.1.1
1.1.1.1 via 192.168.1.100 dev eth0 src 192.168.1.149 
    cache 

Versuch mal mit:

sudo iptables -I OUTPUT 1 -o eth0 -p tcp ! -d 192.168.1.0/24 -j REJECT
sudo iptables -I OUTPUT 2 -o eth0 -p udp ! -d 192.168.1.0/24 -j REJECT

und danach testen.

muelli01

(Themenstarter)

Anmeldungsdatum:
12. Dezember 2014

Beiträge: 29

Soll ich das auf dem Client ausführen?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

muelli01 schrieb:

Soll ich das auf dem Client ausführen?

Ja.

muelli01

(Themenstarter)

Anmeldungsdatum:
12. Dezember 2014

Beiträge: 29

OK dann hab ich doch noch keinen Hitzschlag 😂 Wollte das eigentlich auf dem Server filtern und nicht auf jedem Client einzeln.... Hatte gehofft da gibts auch ne schöne UFW Regel, sonst muss man ja wieder drölfzig iptables zusammen basteln ☹

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14314

muelli01 schrieb:

Wollte das eigentlich auf dem Server filtern ...

Dann versuch es auf dem Server, mit der FORWARD chain:

sudo iptables -I FORWARD 1 -o <output-Interface> -s <IP-Adresse-Client> ! -d 192.168.1.0/24 -j REJECT

muelli01

(Themenstarter)

Anmeldungsdatum:
12. Dezember 2014

Beiträge: 29

Danke, das war der richtige Tip.

Einzutragen in /etc/ufw/before.rules wäre demzufolge, wenn sämtlicher Traffic außer zB zu 8.8.8.8 unterbunden werden soll:

(p1p4 ist mein externes interface, dementsprechend anzupassen)

# block everything routed(!) to the internet for hosts in 192.168.1.0/24 NOT going to 8.8.8.8
-A ufw-before-forward -o p1p4 -s 192.168.1.0/24 ! -d 8.8.8.8/32 -j REJECT

So können dann einzelne Hosts für Traffic freigeschaltet werden.

Antworten |