ubinde schrieb:
Das heisst man kann garnicht ein firewall coden, die Verbindungen von einzelen Programme kontrolieren?
Ähm, nein. Auch unter Windows kann man das nicht, auch wenn verschiedene Snake-Oil-Software das gerne vorgibt zu können.
Sagen wir es mal so: Wenn Software brav ist, dann tut sie nur das, wofür sie bestimmt ist, dann sind die Verbindungen die diese Software aufbaut dokumentiert (das heißt der Anwender wird informiert/kann sich informieren) und darüber hinaus erwünscht, weil für den Betrieb der Software notwendig. Vielleicht hat die Software auch optionale Funktionen, die eine Verbindung aufbauen – auch hier gilt wieder, dass brave Software das nur macht, wenn die Funktion tatsächlich genutzt wird, meistens lässt sich das auch in den Einstellungen deaktivieren.
Sicher kann man auch unter Linux Programme schreiben, die das irgendwie auflisten – die Frage ist halt, was man mit der Liste dann anfängt.
Dann gibt es natürlich noch Software die nicht brav ist und Dinge tut, die der Anwender nicht will … wenn die Software aber schon nicht brav ist und solche Dinge hinter dem Rücken des Anwenders tut, was stoppt solche Software dann davon, die „Firewall“ zu umgehen? Niemand kann eine Firewall programmieren, die auf dem selben Betriebssystem läuft wie die Software und die gleichzeitig 100% sicher die Verbindungen von Programmen blockieren kann. Da gibt es immer wege drum herum.
Deshalb sind echte „Firewalls“ immer eigenständige Systeme, die genau eine Aufgabe erfüllen: Netzwerkverkehr regeln. Sowas hast du üblicherweise in deinem Router.
Nun sind wir unter Linux in einer Open Source Umgebung. Wenn du hier ein Problem mit einem Programm hast, das Verbindungen aufbaut, dann gibt es Möglichkeiten. Man kann sich an den Entwickler melden. Vielleicht benimmt sich das Programm wirklich nicht wie erwünscht. Kann ein Bug sein, mindestens aber eine fehlende Einstellmöglichkeit, dann beseitigt man das Problem an der Wurzel. Oder man bekommt erklärt, warum das Programm die Verbindung genau benötigt. Es ist eher selten, dass in Open Source Software Code eingebaut wird, der keinen Zweck hat.
Am Ende bleiben drei Sorten von Programmen übrig:
Programme, die sich benehmen wie sie sollen und sich nicht verbinden, weil sie keine Verbindung brauchen.
Programme, die sich benehmen wie erwünscht und deshalb Verbindungen aufbauen.
Programme, die schlicht einen Bug enthalten, den man beheben kann.
So, das wäre die Sofware aus den offiziellen Paketquellen, in der Regel kannst und solltest du davon ausgehen, dass diese vertrauenswürdig ist und in eine von diesen drei Kategorien fällt.
Und dann gibt es noch Software aus Fremdquellen … naja, davor warnen wir ja oft genug. Denen kann man vertrauen oder nicht – und genau das „Vertrauen“ ist der entscheidende Punkt. Denn wirklich verhindern kann man nicht, dass solche Software Dinge tut, die du nicht willst.
jug schrieb:
Wenn Kontrolle mit firewall, wie beschrieben, nicht möglich ist, dann ist Kontrolle von Programme, die in software centre rein wollen, sehr wichtig?
Ja. Deshalb keine Fremdquellen verwenden, oder nur Fremdquellen, denen du vertrauen kannst (wenn es das gibt).
Und der user kan die Kontrolle bez internet Verbindungen nicht durchführen?
Nein. Du kannst mittels iptables2 den Netzwerkverkehr regulieren, aber nicht für einzelne Anwendungen, nur für Protokolle bzw. Ports … und HTTP wirst du dann ja wohl grundsätzlich erlauben.
Ich könnte meine Argumentation jetzt wiederholen, aber diese Personal Firewalls, die unter Windows immer so lustig „Ports sperren“ und Anwendungen blockieren oder „Angriffe abwehren“, die können in der Realität nicht das leisten, was sie versprechen. Wenn eine Software wirklich raus kommunizieren will, dann tut sie das auch. Und die Software die keine bösen Absichten hat, die hat meistens einen guten Grund für die Verbindungen.
Edit: Obligatorische Links: Sicherheitskonzepte, Sicherheits 1x1
~jug