Installation

Installation

Ich muss gestehen, dass ich in der Linux-Welt ein ganz neuer Mensch bin und dass mir einige Konzepte sehr unbekannt vorkommen.

Was ich am meisten vermisse, ist eine gute und dennoch einfache Firewall auf Anwendungsebene. Angesichts der allgegenwärtigen, aufdringlichen und permanenten Internetverbindungen ist es heutzutage ein Muss, genau zu wissen, was Ihr Computer tut, warum und mit wem. Ein Protokollanalysator ist ok, aber zu unfreundlich und zeitaufwändig zu „analysieren“, was für Heimanwender praktisch nutzlos ist.

Ich habe in Windows-Umgebungen viele Programme entdeckt, die keine Verbindung zum Internet herstellen sollten, es aber tun (und mit meiner kostenlosen ZoneAlarm-Firewall kann ich sie stoppen).

Bei Gufw (und einigen anderen) müssen Sie wissen, welche Apps Sie bereits installiert haben (und wir wissen, dass dies bei diesen modernen Betriebssystemen mit Milliarden von Codezeilen fast unmöglich ist).

Ich suche nach einer Firewall, die die NIC/WAN-Verbindung überwacht und jedes Programm/jede App oder was auch immer proaktiv erkennt, das versucht, darüber zu „sprechen“, unabhängig vom verwendeten Port (die meisten der zuvor erwähnten Apps versuchen, eine Verbindung über bekannte TCP-Ports herzustellen: 80, 443, 8080). Gibt es so etwas? (Wenn nicht, woher weiß ich dann sicher, was mit meinem Computer los ist?)

Antwort1

Douane

Douane ist eine persönliche Firewall, die die Privatsphäre eines Benutzers schützt, indem sie dem Benutzer die Kontrolle darüber gibt, welche Anwendungen von seinem GNU/Linux-Computer aus eine Verbindung zum Internet herstellen können.


Installation

Bis jetzt (22.05.2017) sind keine Ubuntu-Pakete verfügbar. Sie müssen es aus dem Quellcode erstellen.

Diese Installationsanleitung basiert auf Informationen derDouane Wikiund auf Ubuntu 16.04.2 64-Bit getestet.

Öffnen Sie ein Terminal ( Ctrl+ Alt+ T), um die Befehle auszuführen.

Vorbereitung

Aktualisieren Sie Ihr System:

sudo apt update
sudo apt full-upgrade

Wenn Sie eine Benachrichtigung mit der Aufforderung zum Neustart Ihres Computers erhalten, starten Sie ihn neu.

Installieren der Abhängigkeiten

sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Erstellen Sie ein Verzeichnis für die Kompilierung

cd
mkdir Douane
cd Douane

Erstellen Sie das Kernelmodul

git clone https://github.com/Douane/douane-dkms
cd douane-dkms
sudo make dkms

Überprüfen Sie, ob das Modul korrekt erstellt und installiert wurde:

lsmod | grep douane

Sie sollten etwa Folgendes sehen:

douane                 20480  0

Erstellen des Daemons

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-daemon
cd douane-daemon
make
sudo make install

Erstellen des Dialogprozesses

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-dialog
cd douane-dialog
make
sudo make install

Starten Sie den Dialogprozess:

/opt/douane/bin/douane-dialog &

Überprüfen Sie dann, ob es ausgeführt wird:

pgrep -a douane-dialog

Sie sollten etwa Folgendes sehen:

21621 /opt/douane/bin/douane-dialog

Erstellen Sie den Konfigurator

cd ~/Douane
git clone https://github.com/Douane/douane-configurator
cd douane-configurator
sudo python3 setup.py install

Starten Sie den Daemon und richten Sie den automatischen Start ein

/etc/init.d/douaneUm den automatischen Start des Daemons zu ermöglichen, musste ich folgenden Text in die Datei einfügen :

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

Öffnen Sie die Datei zum Bearbeiten:

sudo nano /etc/init.d/douane

Fügen Sie dann den obigen Text nach der Programmbeschreibung ein. Drücken Sie Ctrl+ O, Enterum zu speichern, dann Ctrl+ , Xum den Editor zu verlassen.

Dies sind die ersten 21 Zeilen der Datei, nachdem ich den Text eingefügt habe:

#!/bin/bash
#
# douane      This shell script takes care of starting and stopping
#             douane daemon (A modern firewall at application layer)
#
# Author: Guillaume Hain [email protected]
#
# description: douane is the daemon process of the Douane firewall application. \
# This firewall is limiting access to the internet on application bases.

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

# Source function library.
. /lib/lsb/init-functions

Nun können Sie den Autostart einrichten und den Daemon starten:

sudo systemctl daemon-reload
sudo systemctl enable douane
sudo systemctl start douane

Filter aktivieren und Dialog automatisch starten

Starten Sie den Konfigurator:

douane-configurator

Stellen Sie dann sicher, dass die SchalterDouane verwenden, um meinen Netzwerkverkehr zu filternUndDouane beim Booten automatisch startensind beide eingeschaltet.

Sie können die Filterregeln imRegelnWenn Sie mit der rechten Maustaste auf eine Regel klicken, erhalten Sie die Option, diese zu löschen.

Prüfen

Wenn alles in Ordnung ist, sollte beim Öffnen von Anwendungen, die Netzwerkverbindungen verwenden, das Douane-Fenster mit der Bitte um Berechtigung angezeigt werden.

Antwort2

Es gibt ein neues Projekt namens OpenSnitch, beschrieben unter

https://www.cyberciti.biz/python-tutorials/opensnitch-der-kleine-schnüffler-als-anwendungsähnliches-firewalltool-für-linux/

Die Projektseite isthttps://www.opensnitch.io/

An diesem Punkt wird es als Alpha-Software angesehen und seltsamerweise ist es in Python geschrieben, aber zumindest ist es ein neuer Versuch, während Douane ein sehr altes Programm ist, das (glaube ich) viel schwieriger zu installieren ist.

Haftungsausschluss: Ich habe keines der Programme persönlich getestet. Ich wollte nur herausfinden, ob es andere Optionen gibt, und habe festgestellt, dass hier bisher noch niemand OpenSnitch erwähnt hat.

Antwort3

Das ist eine wirklich gute Frage, aber ich hasse solche Fragen, weil sie wirklich schwer zu beantworten sind, ohne den Eindruck zu erwecken, dass Sicherheit nicht wichtig sei.

Lassen Sie mich zunächst sagen, dass Sicherheit wichtig ist, Linux damit aber ganz anders umgeht als Windows.

Lassen Sie uns also Ihre Frage angehen.

Erstens wird es keine ausgehende Firewall geben, die auf dieselbe Weise funktioniert wie Zone Alarm. Linux hat einfach keinen großen Bedarf dafür. Viele Anwendungen arbeiten in einer Client/Server-Architektur, obwohl Sie sie auf derselben Maschine verwenden. Xorg ist ein gutes Beispiel. Zuerst haben Sie einen Server (in diesem Fall den Teil, der auf dem Bildschirm zeichnet) und einen Client (gedit). gedit kommuniziert mit dem Server über das Zeichnen seiner Schaltflächen, das Platzieren seines Textes und so weiter. Sogar etwas so Einfaches wie eine Maus hat dieselbe Architektur (oder könnte sie haben). Ein Programm fungiert als Server, der auf Informationen wartet und Daten sendet, wenn er sie erhält. Dann „verbindet“ sich ein Client mit diesem „Mausserver“ und wartet auf Informationen.

Dies ist unter Linux so weit verbreitet, dass Sie eine „Firewall“, die für jede Netzwerkverbindung um Erlaubnis fragt, wahrscheinlich nicht konfigurieren könnten, weil sie keine Verbindung zu ihrem eigenen Server herstellen könnte.

Dies alles sind sehr grobe Beispiele. Manches davon ist irreführend, weil es so hochrangig ist. Aber es ist trotzdem sehr wahr.

Um uns Linux-Benutzer davor zu schützen, verfügen wir über zwei sehr grundlegende Regeln, die einen sehr guten „Grundjob“ erledigen.

1. Kein Benutzer außer Root kann einen Port unter 1024 öffnen. (auch hier wieder ein sehr hohes Level). Das bedeutet, dass Sie Root-Zugriff benötigen, um überhaupt einen FTP-Server (auf einem Standardport) zu betreiben. Sie als Benutzer können normalerweise „hohe Ports“ (über 1024) öffnen. Aber siehe Regel zwei.

2. Kein Prozess kann auf eine Datei zugreifen, auf die der Benutzer, der den Prozess gestartet hat, nicht zugreifen konnte. (auch hier wieder auf sehr hohem Niveau) Wenn also „coteyr“ einen FTP-Server starten würde, dann hätte dieser FTP-Server im schlimmsten Fall (auf hohem Niveau) nur genau dieselben Zugriffsrechte wie der Benutzer coteyr, der ihn gestartet hat.

Aufgrund der Kombination dieser beiden Regeln ist eine „Software“, die bei jedem Verbindungsversuch mit der Firewall nachfragt, nur ein Hindernis und es besteht keine große Nachfrage danach.

Sie können jedoch jederzeit eine Firewall-Regel für ausgehende Verbindungen erstellen, und in vielen Fällen ist dies wahrscheinlich keine schlechte Idee. Viele Dienste können (und werden standardmäßig) so konfiguriert, dass sie dateibasierte (oder speicherbasierte) und keine netzwerkbasierten Sockets verwenden.

Eine Inbound-Firewall-Regel schließt normalerweise alle Lücken, die durch Regel 1 oder 2 übrig bleiben.

Mein Punkt ist folgender: Sicherheit ist wichtig und ich versuche nicht zu sagen, dass sie es nicht ist. Aber hier im Linux-Land haben wir andere Tools und Ziele. Ich würde Ihnen empfehlen, sich die Benutzer- und Gruppenberechtigungen von Linux anzusehen und dann ein Tool wie gfw und IPTABLES zu verwenden, um etwaige Lücken zu schließen.

Antwort4

OpenSnitch, das in einer Antwort hier erwähnt wurde,wird nicht mehr aktiv weiterentwickelt. Es gibteine GabelAllerdings wird dadurch die Entwicklung fortgesetzt, die in vielen Bereichen gegenüber dem jetzt nicht mehr gepflegten OpenSnitch Verbesserungen aufweist.

Wie das Originalprojekt ist der OpenSnitch-Fork eine kostenlose Open-Source-Firewall auf Anwendungsebene für Linux, die aus einem Daemon (geschrieben in Go) und einer GUI (PyQt5) besteht. Wie das Originalprojekt ist auch dieser Fork in Arbeit, und auf seiner Projektseite heißt es: „Erwarten Sie nicht, dass er fehlerfrei ist, und verlassen Sie sich in Bezug auf Sicherheit nicht darauf.“

Die Anwendung überwacht ausgehende Verbindungen, die Ihre Anwendungen herzustellen versuchen, und verhindert oder erlaubt deren Verbindung basierend auf einer Reihe von Regeln (der Benutzer wird aufgefordert, den Zugriff zuzulassen oder zu verweigern, wenn keine vorhandenen Regeln gefunden werden). Die Anwendung ist von Little Snitch inspiriert, einer kommerziellen hostbasierten Anwendungs-Firewall für macOS.

Für Ubuntu stehen auf dem Projekt DEB-Pakete zum Download bereitGitHub.

Quelle.

verwandte Informationen