Whitelist mit iptables

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
whitebox
Beiträge: 2
Registriert: 13.06.2021 09:51:12

Whitelist mit iptables

Beitrag von whitebox » 13.06.2021 10:23:07

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.

DeletedUserReAsG

Re: Whitelist mit iptables

Beitrag von DeletedUserReAsG » 13.06.2021 11:07:07

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.

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Whitelist mit iptables

Beitrag von mat6937 » 13.06.2021 11:18:36

whitebox hat geschrieben: ↑ zum Beitrag ↑
13.06.2021 10:23:07
Anschliessend möchte ich die gewünschten IP's manuell freigeben ...
Dafür könntest Du iptables in Kombination mit ipset benutzen. Auszug aus der manpage für ipset:
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.

whitebox
Beiträge: 2
Registriert: 13.06.2021 09:51:12

Re: Whitelist mit iptables

Beitrag von whitebox » 13.06.2021 12:44:26

Danke erstmal für die Antworten. Ich habe jetzt was zusammengeschustert. Wie sieht das aus? Schlimm oder noch viel schlimmer? :|

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
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 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

Antworten