Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
-
- Beiträge: 93
- Registriert: 09.09.2016 17:20:59
- Lizenz eigener Beiträge: MIT Lizenz
Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Hallo,
es geht um einen Raspberry PI 3, der möglichst einfach hochgefahren werden möchte. Darum möchte ich es irgendwie so deichseln, dass Interfaces, Routen, firewall in EINER EINZIGEN Datei! konfiguriert werden. Dass die resolv.conf da schon nicht mitspielen mag, weil diverse Daemons über Systemd da rein funken, habe ich schon mitbekommen.
Wichtig wäre mir aus Sicherheitsgründen, dass erstens die gesamte Konfiguration aus genau einer einzigen Datei angesteuert wird (erst von dort aus dürfen dann auch aus Geschwindigkeitsgründen weitere Scripte parallel aufgerufen werden), und zweitens erst dann, wenn alles erledigt ist, die Interfaces in einer klaren Reihenfolge enabled werden.
Es ist albern, eine Firewall online zu bringen, bei der erst die Interfaces hochfahren, dann für alle Welt erreichbar sind, und erst dann greifen die Tables und Rules. Klar könnte ich das mit Regeln in Systemd Scripts deichseln, aber bis ich die alle nicht nur implementiert, sondern auch mit Test-Scripten überzogen habe, bin ich an Silvester noch nicht fertig. Silvester 2018 eher.
es geht um einen Raspberry PI 3, der möglichst einfach hochgefahren werden möchte. Darum möchte ich es irgendwie so deichseln, dass Interfaces, Routen, firewall in EINER EINZIGEN Datei! konfiguriert werden. Dass die resolv.conf da schon nicht mitspielen mag, weil diverse Daemons über Systemd da rein funken, habe ich schon mitbekommen.
Wichtig wäre mir aus Sicherheitsgründen, dass erstens die gesamte Konfiguration aus genau einer einzigen Datei angesteuert wird (erst von dort aus dürfen dann auch aus Geschwindigkeitsgründen weitere Scripte parallel aufgerufen werden), und zweitens erst dann, wenn alles erledigt ist, die Interfaces in einer klaren Reihenfolge enabled werden.
Es ist albern, eine Firewall online zu bringen, bei der erst die Interfaces hochfahren, dann für alle Welt erreichbar sind, und erst dann greifen die Tables und Rules. Klar könnte ich das mit Regeln in Systemd Scripts deichseln, aber bis ich die alle nicht nur implementiert, sondern auch mit Test-Scripten überzogen habe, bin ich an Silvester noch nicht fertig. Silvester 2018 eher.
Man mag gar nicht glauben, wie sehr ein 4096-bittiger RSA-Schlüssel einem den Tag vermiesen kann...^^
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling
Der so genannte "Teufel im Detail" hat einen Namen: Tight coupling

-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
In den paar Millisekunden zwischen Aktivieren des Interfaces und der iptables befürchtst du jetzt den Angriff, und deswegen möchtest du die vorgesehene Diensteinitialisierung umgehen.
Ich behaupte mal, dass die Latenz des Netzwerkes höher ist als die Zeitspanne zwischen den beiden Diensteaktivierungen.
Ich behaupte mal, dass die Latenz des Netzwerkes höher ist als die Zeitspanne zwischen den beiden Diensteaktivierungen.
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Deichseln musst Du nicht, denn dafür gibt es z. B. netfilter-persistent und iptables-persistent:MrScoville hat geschrieben:28.12.2017 16:44:16Es ist albern, eine Firewall online zu bringen, bei der erst die Interfaces hochfahren, dann für alle Welt erreichbar sind, und erst dann greifen die Tables und Rules. Klar könnte ich das mit Regeln in Systemd Scripts deichseln, ...
Code: Alles auswählen
Description: boot-time loader for netfilter configuration
Description: boot-time loader for netfilter rules, iptables plugin
netfilter-persistent is a loader for netfilter configuration using a
plugin-based architecture.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Starte doch einfach die fehlkonfigurierten Dienste (die also ’nen Port aufmachen, aber eigentlich nicht erreichbar sein, und daher von deiner „Firewall“ geblockt werden sollen) erst nach dem Setzen der Regeln.
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Würde da mal über was Dediziertes ("Professionelles") nachdenken. Die werden zumindest nur auessert selten gebootet. Bei jedem Router einschließlich Raspi sollte ein Booten ohne Internetzugang möglich sein (WAN-Interface vorher administrativ down). Remote booten ist zu überlegen - Script für WAN-IF up nach definierter Zeit?!MrScoville hat geschrieben:28.12.2017 16:44:16Es ist albern, eine Firewall online zu bringen, bei der erst die Interfaces hochfahren, dann für alle Welt erreichbar sind, und erst dann greifen die Tables und Rules.
PFSense (XML-Datei), Cisco-IOS (Textdatei), die "anderen Verdächtigen" kenne ich nicht persönlich.MrScoville hat geschrieben:28.12.2017 16:44:16Wichtig wäre mir aus Sicherheitsgründen, dass erstens die gesamte Konfiguration aus genau einer einzigen Datei angesteuert wird
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Ich mache Firewallupdates eigentlich immer remote. Anders wäre das auch nicht möglich - ich würde wohl mehr zeit im Auto als sonst wo verbringen.
Gerade eine Firewall muss regelmäßig mit Updates versorgt werden. Man muss sich nur anschauen wie oft Releases bei pfSense rauskommen. Eine Cisco ASA muss auch regelmäßig mit Updates versorgt werden.
Ich müsste echt mal beim nächsten Reboot darauf achten was zuerst und in welcher Reihenfolge gestartet wird.
Gerade eine Firewall muss regelmäßig mit Updates versorgt werden. Man muss sich nur anschauen wie oft Releases bei pfSense rauskommen. Eine Cisco ASA muss auch regelmäßig mit Updates versorgt werden.
Ich müsste echt mal beim nächsten Reboot darauf achten was zuerst und in welcher Reihenfolge gestartet wird.
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Ja, das geht... Du kannst das ganze Netzwerk mit einer einzigen Service-Unit unter Verwendung von iproute2-Befehlen starten, ohne irgendwelche anderen Dienste wie networkmanager, dhcpd usw. zu nutzen. Und selbstverständlich kannst Du ein Bash-Script mit iptables-Anweisungen auch vor dem Netzwerk starten... ebenfalls über eine Service-Unit. Diese zweite Unit wird einfach via requires-Statement in die erste eingebunden und damit ist der Paketfilter immer vor dem Netz gestartet.MrScoville hat geschrieben:28.12.2017 16:44:16es geht um einen Raspberry PI 3, der möglichst einfach hochgefahren werden möchte. Darum möchte ich es irgendwie so deichseln, dass Interfaces, Routen, firewall in EINER EINZIGEN Datei! konfiguriert werden.
:::
Es ist albern, eine Firewall online zu bringen, bei der erst die Interfaces hochfahren, dann für alle Welt erreichbar sind, und erst dann greifen die Tables und Rules.
Also... schaut Dir die iproute2-Befehle an, wie "ip link" und "ip addr"... und dazu den Umgang mit Service-Units. Beides zusammen löst das Problem.
Re: Grundsatzfrage... Netzwerk in EINEM bash Script komplett (!) einrichten?
Verständlich bei mehreren Filialen. Ob das beim (unprofessionellem) Raspi des TO der gleiche Fall sein muss, wage ich zu bezweifeln.hec_tech hat geschrieben:28.12.2017 21:47:32Ich mache Firewallupdates eigentlich immer remote. Anders wäre das auch nicht möglich - ich würde wohl mehr zeit im Auto als sonst wo verbringen.
Bei meiner IOS-Firewall kommen diese etwa halbjährlich.hec_tech hat geschrieben:28.12.2017 21:47:32Eine Cisco ASA muss auch regelmäßig mit Updates versorgt werden.
Laut Boot-Log (Bootvorgang dauert etwa 4 min mit entpacken und prüfen des Boot-Files) meiner IOS-Routers wird das WAN-IF mit DHCP-Client fast zu zuletzt aktiv. Die Inbetriebsetzung der Zone Based Firewall und der Paketfilter sehe ich nicht. Habe das Loglevel auf Defaults belassen.hec_tech hat geschrieben:28.12.2017 21:47:32Ich müsste echt mal beim nächsten Reboot darauf achten was zuerst und in welcher Reihenfolge gestartet wird.