[gelöst] iptables, Domainnamen einer Webseite sperren
[gelöst] iptables, Domainnamen einer Webseite sperren
Hallo,
ist es möglich mit iptables aus Domainnamen einer Webseite zu sperren?
Für IP, sieht es in etwa ja so aus: -I OUTPUT -p tcp --dport 443 -d 104.16.200.58 -j ACCEPT
Aber wie muss das für Domainnamen als Befehl aussehen?
ist es möglich mit iptables aus Domainnamen einer Webseite zu sperren?
Für IP, sieht es in etwa ja so aus: -I OUTPUT -p tcp --dport 443 -d 104.16.200.58 -j ACCEPT
Aber wie muss das für Domainnamen als Befehl aussehen?
Zuletzt geändert von Stas am 26.12.2020 13:56:43, insgesamt 2-mal geändert.
Debian 12 || Proxmox 8 || i7-4790 || GTX 970
Re: iptables, Domainnamen einer Webseite sperren
Wie würde der Befehl den aussehen?
Debian 12 || Proxmox 8 || i7-4790 || GTX 970
Re: iptables, Domainnamen einer Webseite sperren
Es gibt mehrere Möglichkeiten. Gut finde ich, die Verwendung von ipset.
Eine schnelle und einfache Regel wäre z. B.:
Code: Alles auswählen
iptables -I OUTPUT 1 -p tcp -d $(dig +short berlin.de) -j REJECT
Code: Alles auswählen
:~$ nc -zv berlin.de 80 443
nc: connect to berlin.de port 80 (tcp) failed: Connection refused
nc: connect to berlin.de port 443 (tcp) failed: Connection refused
Code: Alles auswählen
iptables -nvx -L OUTPUT
Chain OUTPUT (policy ACCEPT 49 packets, 3566 bytes)
pkts bytes target prot opt in out source destination
4 224 REJECT tcp -- * * 0.0.0.0/0 212.45.111.17 reject-with icmp-port-unreachable
Man könnte mit einer iptables-Regel auch den Zugang zu einem DNS-Server blocken, wenn in der Namensauflösung der string berlin.de beinhaltet ist.
Re: iptables, Domainnamen einer Webseite sperren
Ne bekomme Fehler:
Bad argument `+short'
Error occurred at line: 11
Ich füge das über firejail ein (--netfilter=....FilterX)
FilterX Datei:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-F
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --dport 80 -j DROP
-A OUTPUT -p tcp --dport 443 -j DROP
-A OUTPUT -p udp --dport 53 -j ACCEPT
-I OUTPUT -p tcp --dport 443 -d 87.230.75.2 -j ACCEPT
-I OUTPUT 1 -p tcp -d $(dig +short berlin.de) -j REJECT
COMMIT
Mit IP ist OK aber mit Domainnamen will er nicht!
Bad argument `+short'
Error occurred at line: 11
Ich füge das über firejail ein (--netfilter=....FilterX)
FilterX Datei:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-F
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --dport 80 -j DROP
-A OUTPUT -p tcp --dport 443 -j DROP
-A OUTPUT -p udp --dport 53 -j ACCEPT
-I OUTPUT -p tcp --dport 443 -d 87.230.75.2 -j ACCEPT
-I OUTPUT 1 -p tcp -d $(dig +short berlin.de) -j REJECT
COMMIT
Mit IP ist OK aber mit Domainnamen will er nicht!
Debian 12 || Proxmox 8 || i7-4790 || GTX 970
Re: iptables, Domainnamen einer Webseite sperren
Das wird m. E. an firejail (frontend?, ... kenne ich nicht) liegen, das evtl. eine bestimmte Syntax zum eingeben der Regel verlangt.
Re: iptables, Domainnamen einer Webseite sperren
Habe da was:
-I OUTPUT -p tcp --dport 443 -m string --string "xyxy.de" --algo kmp -j DROP
-I OUTPUT -p tcp --dport 443 -m string --string "xyxy.de" --algo kmp -j DROP
Debian 12 || Proxmox 8 || i7-4790 || GTX 970
Re: iptables, Domainnamen einer Webseite sperren
OK. Evtl. statt DROP als target, REJECT verwenden, denn es sind ja Regeln in der OUTPUT chain und REJECT informiert dann das eigene System, statt es im Ungewissen zu lassen.Stas hat geschrieben:25.12.2020 20:23:38Habe da was:
-I OUTPUT -p tcp --dport 443 -m string --string "xyxy.de" --algo kmp -j DROP
Code: Alles auswählen
-I OUTPUT 1 -p tcp --dport 443 -m string --string "xyxy.de" --algo kmp -j REJECT
Re: [gelöst] iptables, Domainnamen einer Webseite sperren
Was soll das bewirken? Und kannst Du erklären, wie das funktionieren soll?
(Wenn es das denn tut. Text wird wo erkannt? Und was ist mit der Crypto?)
(Wenn es das denn tut. Text wird wo erkannt? Und was ist mit der Crypto?)