Hallo Debian Forum
Ich habe mich in letzter Zeit ein wenig über iptables schlau gemacht. Umso mehr ich allerdings darüber gelesen habe, umso verwirrter war ich. Ich hoffe Ihr könnt mir weiterhelfen.
Was möchte ich erreichen?
Auf dem Notebook (Debian Stable) sollen jegliche ein/ausgehende Verbindungen verhindert werden (Drop). Anschliessend möchte ich die gewünschten IP's manuell freigeben um einzelne Webseiten über den Browser zu besuchen.
Ich habe zwei Schnittstellen, einmal lo und einmal eth0.
Whitelist mit iptables
Re: Whitelist mit iptables
Per Policy alles in der INPUT- und der OUTPUT-Chain droppen, und per Target ACCEPT gewünschte IPs für die gewünschten Ports freigeben. Eingehend kann man noch den Status der Verbindung heranziehen, so dass nur von innen initiierte Verbindungen funktionieren.
Dran denken, dass beim Aufruf einer Webseite ggf. weitere Sachen benötigt werden: DNS zur Namensauflösung (wenn’s nicht nur über IP gehen soll), ggf. CDN, etc.
Was du möchtest, ist eigentlich in jedem Einsteiger-Tutorial ziemlich nah am Anfang nachzulesen – deswegen verzichte zumindest ich mal auf das Servieren von Copypasta.
Dran denken, dass beim Aufruf einer Webseite ggf. weitere Sachen benötigt werden: DNS zur Namensauflösung (wenn’s nicht nur über IP gehen soll), ggf. CDN, etc.
Was du möchtest, ist eigentlich in jedem Einsteiger-Tutorial ziemlich nah am Anfang nachzulesen – deswegen verzichte zumindest ich mal auf das Servieren von Copypasta.
Re: Whitelist mit iptables
Dafür könntest Du iptables in Kombination mit ipset benutzen. Auszug aus der manpage für ipset:whitebox hat geschrieben:13.06.2021 10:23:07Anschliessend möchte ich die gewünschten IP's manuell freigeben ...
ipset is used to set up, maintain and inspect so called IP sets in the Linux kernel. Depending on the type of
the set, an IP set may store IP(v4/v6) addresses, (TCP/UDP) port numbers, IP and MAC address pairs, IP address
and port number pairs, etc. See the set type definitions below.
Iptables matches and targets referring to sets create references, which protect the given sets in the kernel. A
set cannot be destroyed while there is a single reference pointing to it.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: Whitelist mit iptables
Danke erstmal für die Antworten. Ich habe jetzt was zusammengeschustert. Wie sieht das aus? Schlimm oder noch viel schlimmer? 
Ist meine Annahme richtig das jetzt alles blockiert wird außer Port 80/443 ausgehend? Braucht es die selbe Regel noch für 53? Und könnte man eine IP direkt einfügen?
EDIT noch ein Versuch:

Code: Alles auswählen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
EDIT noch ein Versuch:
Code: Alles auswählen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -d 1.2.3.4 --dport 443 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP