OPNsense Forum

International Forums => German - Deutsch => Topic started by: bobbis on September 03, 2020, 08:09:49 pm

Title: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: bobbis on September 03, 2020, 08:09:49 pm
Hallo,

System: OPNsense 20.7 Nano

mich würde Interessieren warum unter /usr/bin, eine Menge an Compilern herumliegen, Genauso wie der ganze LLVM "Restmüll" ... round a bout 1GB Speicherplatz Verschwendung.
Wäre doch eigentlich, von der Sicherheit eher sinnvoller, sowas nicht auf einer Firewall zu haben !?!

 
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: banym on September 03, 2020, 09:22:21 pm
Das hat vermutlich mit der Art und Weise zu tun wie FreeBSD/HBSD das ganze Userland handhabt.

FreeBSD ist Kernel + Userland. Aktuell gibt es Bestrebungen das Base-System auch in Pakete zu packen und Stückweise wählbar zu machen. Es wäre jetzt ziemlicher Aufwand das aus dem monolitischen Repository alles auszulösen wenn das vom Upstream-Projekt nicht schon so kommt.
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: fabian on September 03, 2020, 10:02:50 pm
Du brauchst LLVM (clang, clang++), wenn du Pakete aus dem ports tree installieren willst. Zudem brauchen manche Tools das, wenn du da selber was nachrüsten willst (zum Beispiel manche gems mit native extensions. Also ja, braucht man aber ob es in der Standardinstallation drin sein muss oder in einem installierbarem Paket ist eine andere  Frage. LLVM an sich stellt kein erhöhtes Risiko dar, weil am jederzeit auch ein kompilat ziehen könnte.
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: franco on September 04, 2020, 08:16:46 am
Das Thema taucht immer mal wieder auf.

In m0n0wall und pfSense gab es lange Zeit manuell geführte Dateilisten die bestimmten was installiert wird. Da hat man auch Compiler usw. weggelassen. Vielleicht auch aus Sicherheit, aber vor allem aus Platzgründen. Probleme haben diese Listen jedoch auch gemacht, weil dann immer mal Dateien fehlten die für den Betrieb doch gebraucht werden und dann musste ein Update raus...

Die Platzprobleme gibt es nicht mehr in dieser Form. Die manuelle Verwaltung von Dateilisten auch nicht. Hinzu kommt die von Fabian angesprochene Anforderung, dass viele die OPNsense anders nutzen wollen als vorinstalliert.

Und die Sicherheitsbedenken... nun, hat man den Compiler nicht drauf kann man einen per Paketmanager nachladen... die passenden Binaries gibt es ja im Internet. Müssen wir dann auch den Paketmanager deinstallieren?

Abgesehen vom Compiler gibt es noch viele andere Skriptsprachen die genau so gefährlich sind. Diese sind aber nicht aus der heutigen Software-Welt wegzudenken.

Der Hinweis auf FreeBSD pkg-base ist von banym ist auch korrekt. Damit wird es dann möglich sein Images zu kreieren die keinen Compiler haben. Und jeder der ihn brauch kann ihn dann (fast so wie heute auch) nachladen. ;)


Grüsse
Franco
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: chemlud on September 04, 2020, 08:32:51 am
Amen. Just to add:  monolytischen = monolithisch

;-)
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: banym on September 04, 2020, 08:38:37 pm
Amen. Just to add:  monolytischen = monolithisch

;-)

fixed ;-)
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: bobbis on September 16, 2020, 01:02:31 am
Du brauchst LLVM (clang, clang++), wenn du Pakete aus dem ports tree installieren willst.
Mir reicht es wenn auf der Sense Unbound und DNSCrypt-Proxy laufen inkl. gut funktionieren Paketfileter

zum Beispiel manche gems mit native extensions.
bitte mal deutsch, ich versteh kein Wort. Was sind gems?

Also ja, braucht man aber ob es in der Standardinstallation drin sein muss oder in einem installierbarem Paket ist eine andere  Frage. LLVM an sich stellt kein erhöhtes Risiko dar, weil am jederzeit auch ein kompilat ziehen könnte.
Weniger ist mehr ist mein Trumpf = KISS Prinzip! Davon mal abgesehen, dass man FLASH Speicher, mit limitieren Schreibzyklen schonen würde, unabhängig ob SLC/MLC , billig ..bla..ect.!
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: micneu on September 16, 2020, 07:11:46 am
in kompilat ziehen könnte.
Weniger ist mehr ist mein Trumpf = KISS Prinzip! Davon mal abgesehen, dass man FLASH Speicher, mit limitieren Schreibzyklen schonen würde, unabhängig ob SLC/MLC , billig ..bla..ect.!
hmmm, hat man heute nicht standard mässig eine ssd am laufen, ich habe jetzt seit ca. 2015 pfSense/OPNsense am laufen und das immer auf Hardware mit SSD. Was anderes würde ich heute auch NICHT mehr empfehlen und wer heute noch eine magnetplatte oder USB Stick oder ähnlich in einer Firewall einsetzt hat selber schuld.
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: franco on September 16, 2020, 09:38:13 am
Weniger ist leider auch mehr Arbeit für die Anderen. Ergo wird das so nichts mit der Argumentation.


Grüsse
Franco
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: Patrick M. Hausen on September 16, 2020, 10:21:29 am
hmmm, hat man heute nicht standard mässig eine ssd am laufen, ich habe jetzt seit ca. 2015 pfSense/OPNsense am laufen und das immer auf Hardware mit SSD. Was anderes würde ich heute auch NICHT mehr empfehlen und wer heute noch eine magnetplatte oder USB Stick oder ähnlich in einer Firewall einsetzt hat selber schuld.
Bisschen harsch formuliert vielleicht, aber prinzipiell richtig. Zumal die z.B. von PCengines & Co. verwendeten Transcend SSDs eine TBW jenseits von Gut und Böse haben. Ich erwarte auch, dass die "ewig" halten.
Title: Re: Allg. Frage: Wozu Compiler auf einer Firewall ?
Post by: fabian on September 17, 2020, 07:08:24 am


Du brauchst LLVM (clang, clang++), wenn du Pakete aus dem ports tree installieren willst.
Mir reicht es wenn auf der Sense Unbound und DNSCrypt-Proxy laufen inkl. gut funktionieren Paketfileter
Andere Leute haben höhere oder andere Anforderungen. Ich brauch zum Beispiel auch kein OpenDNS aber es kommt halt mit. Es stört mich nicht wenn es da ist.

zum Beispiel manche gems mit native extensions.
bitte mal deutsch, ich versteh kein Wort. Was sind gems?
Das ist das Paketierungsystem von Ruby (https://www.ruby-lang.org/de/), bei dem die Dateien in ein Archiv gepackt werden und da gibt es die Möglichkeit, C-Quelldateien mitzuliefern und am Zielsystem zu kompilieren. Dadurch sparst du dir als Programmierer, den Code für jede Plattform zu bauen und ein Binary mitzuliefern. Nokogiri ist zum Beispiel so ein Gem: https://rubygems.org/gems/nokogiri

Ähnlich ist es mit Node.js mit dessen Paketemanagern npm und yarn und bei anderen Skriptsprachen wird es auch nicht anders aussehen.

Also ja, braucht man aber ob es in der Standardinstallation drin sein muss oder in einem installierbarem Paket ist eine andere  Frage. LLVM an sich stellt kein erhöhtes Risiko dar, weil am jederzeit auch ein kompilat ziehen könnte.
Weniger ist mehr ist mein Trumpf = KISS Prinzip! Davon mal abgesehen, dass man FLASH Speicher, mit limitieren Schreibzyklen schonen würde, unabhängig ob SLC/MLC , billig ..bla..ect.!

KISS ist mehr auf die Komponenten bezogen. Zum Beispiel dass LLVM direkt in vim gelinkt wird, wäre eine Verletzung des Prinzips.