Linux-Tagebuch #12 – Sicherheit, Firewall und Virenscanner

In dieser mehrteiligen Beitragsreihe versuche ich mich aus Sicht eines Windows PC-Nutzers dem Linux-Desktop als Betriebssystem zu nähern. Dabei möchte ich dieses als Linux-Anfänger selbst besser kennen lernen und zu verstehen versuchen.  Zu Teil 1…

In diesem Beitrag möchte ich meine Gedanken festhalten, die ich mir zum Thema „Sicherheit“ bei der Benutzung von Ubuntu 20.04 LTS als Betriebssystem gemacht habe. Ich bin sicherlich kein Experte auf dem Fachgebiet, aber der ein oder andere Kniff lässt sich als Normal-Nutzer meiner Meinung nach dennoch leicht umsetzen.

Das Sicherheits-ABC

Wie auch bei Windows gelten unter Ubuntu die gleichen Grundregeln für die Sicherheit im Umgang mit dem Computer. Man sollte stehts…

  • das System aktuell halten,
  • sichere und unterschiedliche Passwörter wählen,
  • möglichst auf ungeprüfte Fremdquellen (wie PPAs) verzichten,
  • vorsichtig mit Mail-Anhängen sein,
  • Programme nicht mit mehr Rechten starten, als für en Anwendungszweck notwendig,
  • Downloads und Skripte nicht gedankenlos ausführen,
  • Sensible Daten getrennt speichern oder verschlüsseln

Die Liste ließe sich bestimmt beliebig ergänzen, das soll auch gar nicht der Schwerpunkt dieses Beitrags sein. Hier findet ihr übrigens eine interessante Sammlung aus dem ubuntuusers Wiki dazu. Ich möchte an dieser Stelle noch einmal anmerken, dass ihr während der Installation von Ubuntu die Möglichkeit habt, euren Datenträger zu verschlüsseln, dies kann insbesondere bei Notebooks, die häufig unterwegs sind, sinnvoll sein. An einfachsten ist es, diese Entscheidung bereits bei der Installation von Ubuntu / bei der Partitionierung der Festplatte zu treffen.

Ein für mich besonderes Risiko stellen die Programme dar, die eine Schnittstelle zum Internet sind, wie zum Beispiel der Browser. Da bietet es sich doch an, gleich ein paar sicherheitsrelevante Add-Ons zu installieren. Ich nutze dafür gerne uBlock Origin, Privacy Badger und HTTPS Everywhere. Die gibt es sowohl für Firefox als auch für Chrome(ium). Für Mails benutze ich unter Ubuntu Mozilla Thunderbird, hier habe ich den Junk-Filter entsprechend eingerichtet. Dieser kann auch „trainiert“ werden, in dem man selber Spam markiert. [2] Außerdem ist es empfehlenswert, HTML für Mails zu deaktivieren, wenn man nicht darauf angewiesen ist. Das erhöht den Datenschutz und die Sicherheit. [3]

Firewall einrichten

Euer Rechner befindet sich höchstwahrscheinlich hinter einem Router, der eingehende Verbindungen nicht ohne weiteres an euren PC durchlässt. Ihr habt also schon eine einfache Hardware-Firewall. [4] Welche Programme wie mit dem Internet kommunizieren dürfen und welche Ausnahmen gelten, lässt sich noch besser mit einer Software-Firewall regeln. Die kann außerdem von Vorteil sein, wenn man mal in einem fremden Netzwerk (wie einem öffentlichen Hotspot) unterwegs ist.

Unter Ubuntu 20.04 ist bereits die Software-Firewall ufw (uncomplicated firewall) vorinstalliert, aber standardmäßig nicht aktiv. Diese könnt ihr mit wenigen Schritten starten und einrichten.

sudo ufw enable (oder ... disable, um wieder auszuschalten!)
sudo ufw default deny incoming
sudo ufw default allow outgoing

Damit startet ihr ufw und die Vorgabe für unbekannte Verbindungen soll sein, diese nach außen (ins Internet) zuzulassen, aber eingehende Verbindungen erst einmal zu blockieren. Ufw startet damit auch automatisch beim nächsten Systemstart. Danach könnt ihr den Status der Firewall mit

sudo ufw status

überprüfen, bereits angelegte Ausnahmen (z.B. für P2P oder ssh) werden hier angezeigt. Wenn man keine besonderen Anforderungen hat, war’s das eigentlich schon. Ufw lässt sich über das Terminal umfangreich konfigurieren. Wie das geht und wie ihr anwendungs- oder portspezifische Ausnahmen hinzufügt, lest ihr hier bei heise.

Etwas praktischer und – naja – hübscher ist die grafische Frontend gufw für ufw. Damit lassen sich der Status und die Regeln wesentlich komfortabler verwalten. Der Funktionsumfang entspricht ungefähr dem, wie man es von der Windows-Firewall kennt.

Insofern ufw bereits installiert ist, holt ihr euch gufw einfach dazu

sudo apt install gufw

Virenscanner einrichten

Wenn man sich mit dem Thema auseinandersetzt, liest man früher oder später, das „Computerviren“ unter Linux keine große Rolle spielen. Das liegt unter anderem an der geringen Verbreitung [auf dem Desktop], aber bestimmt auch an der strengeren Benutzerrechte-Architektur. [1] Wahrscheinlich ist es eher meiner jahrelangen Windows-Nutzung geschuldet (Luke Filewalker hat mich damals unter Windows ME vor dem ein oder anderen Schädlich bewahrt), aber auch unter Linux wollte ich gerne einen Virenschutz parat haben, mit dem ich zumindest on demand die wichtigsten Daten (Home-Verzeichnis, Downloads etc.) scannen kann. Das populärste Beispiel dafür ist das quelloffene ClamAV. Vielleicht habt ihr schon einmal davon gehört, auch unter Windows ist der Virenscanner zu haben, wie ich 2014 schon einmal berichtete.

ClamAV lässt sich recht einfach installieren

sudo apt-get install clamav clamav-freshclam

und auch umfangreich konfigurieren, was beispielsweise das Updateverhalten, die Aktion bei Erkennung und das Logging angeht. Darauf möchte ich aber in diesem Beitrag nicht eingehen. Das könnt ihr z.B. hier nachlesen. Scans auf eine Datei oder ein Verzeichnis können im Terminal mit dem Befehl clamscan ausgeführt werden. Auch eine grafische Benutzeroberfläche gibt es (clamtk), die man sich dazuinstallieren kann, aber ich konnte damit nicht viel anfangen.

inoffizielle Signaturen

Ich möchte euch an dieser Stelle gerne noch etwas anderes zeigen: ClamAV kann um „inoffizielle“ Malware-Signaturen ergänzt werden, um die Erkennungsrate zu verbessern. Hier am Beispiel der SaneSecurity Signatures. [5] Das erhöht zwar potentiell die Chance für Falschmeldungen (false positives), das war bei mir aber bisher nur unter Windows der Fall.

Die Einrichtung dieser Signaturen besteht aus mehreren Installationsschritten, die ich hier aufgrund des Beitragsumfangs nicht einzeln durchgehen werden, aber auf der offiziellen github Seite ist eine ausführliche Schritt-für-Schritt Installationsanleitung für Ubuntu (auch für andere Distributionen).

Skript für manuelle Überprüfung

In meinem Anwendungsszenario, also einer Dual-Boot Installation mit Ubuntu als Produktivsystem und Windows 10 als Backup, wollte ich in unregelmäßigen Abständen Dateien überprüfen, die ich mit Windows-Rechnern gemeinsam bearbeite oder versende. Es ist bei mir also nicht notwendig, dass sich die Virensignaturen mehrmals am Tag selbstständig aktualisieren, das erhöht nur unnötig die Serverlast des Anbieters und verursacht Betriebskosten.

Um das Aktualisierungsintervall der Signaturen zu ändern, könnte ich die Konfigurationsdatei unter

/etc/clamav/freshclam.conf

anpassen (z.B. mit nano im Terminal!). Ich habe mich aber einfach dazu entschieden, den Dienst freshclam nicht beim Systemstart zu laden, weil er sowieso bei einem manuellen Aufruf zuerst beendet werden müsste. [6]

sudo update-rc.d clamav-freshclam disable

Die SaneSecurity Signaturen werden nicht automisch aktualisiert, sondern nur über den Aufruf des gerade installierten Skripts clamav-unofficial-sigs.sh.

Dann habe ich mir folgendes bash-Skript zusammenbastelt, das ich bei Bedarf ausführe. Ich möchte es hier mit euch teilen! 🙂 Es aktualisiert zunächst manuell und „still“ die Virendatenbank, führt dann einen Scan des Benutzerverzeichnisses durch und gibt ggf. Funde aus (es wird nichts unternommen!). Ihr könnt es euch als *.sh Skript speichern. Nach dem Anpassen eurer Dateipfade müsst ihr die Datei dann noch mit chmod als ausführbar markieren und ihr könnt die Datei wie eine Anwendung per Mausklick starten. Allerdings als root, da sonst das Aktualisieren der Signaturen nicht funktioniert.

#!/bin/bash
echo "Cedric's ClamAV Scanner-Skript 1.0"
if (( $EUID != 0 )); then
    echo "Bitte mit erhöhten Rechten starten!"
    exit
fi
echo -n "Aktualisiere ofizielle Signaturen... "
#sudo killall freshclam
freshclam --quiet --no-warnings
echo "OK"
echo -n "Aktualisiere inoffizielle SaneSec Signaturen... "
/usr/local/sbin/clamav-unofficial-sigs.sh -s
echo "OK"
#echo "EINGABE, um Scan zu starten"
#read
echo -n "Startzeit: "; date +"%T"
echo "Überprüfe /home ... "
clamscan --infected --recursive ~

Datenträgerbereinigung: 9 Tools im Vergleich

Jeder kennt sie, viele nutzen sie: Tools zur Beseitigung von überflüssigen Dateien auf dem Computer, auch Junk-Files oder liebevoll Datenmüll genannt. Die klassische „Datenträgerbereinigung“ gibt es ja schon seit Windows 95. Seitdem hat es viele Programme gegeben, welche dem Nutzer eine Beschleunigung des PCs durch das Löschen dieser Daten versprochen haben. Auch wenn durch die zunehmende Rechenleistung, die Verbreitung von größeren Datenträgern und schnellen SSD-Speichern in Heim-PCs diese Programme etwas an Bedeutung verloren haben, sind sie noch immer präsent und können auch bei einem modernen PC noch für einen zügigeren Systemstart und mehr Speicherplatz sorgen.

Lange Zeit habe ich den bewährten Klassiker CCleaner verwendet, bis dieser aufgrund des Verhaltens seines Entwicklers Piriform etwas in Verruf geraten ist. [1] [2] Alternativen scheint es offenbar ja wie Sand am Meer zu geben, so dass ich in letzter Zeit oft zwischen Programmen hin- und hergependelt bin.

Jetzt wollte ich einfach mal wissen, wo die Unterschiede liegen und welches Programm bei mir den meisten Speicherplatz freiräumt!

Nach etwas Recherche im Netz habe ich mir die populärsten kostenlosen Tools heruntergeladen und ausprobiert. Während die Grundfunktion der Programme – das Löschen von Junkdateien – überwiegend identisch ist, gibt es größere Unterschiede beim weiteren Funktionsumfang, der Bedienung und den Konfigurationsmöglichkeiten. cleanmgr+ ist eine relativ neue Software, welche sich als Erweiterung der in Windows integrierten Datenträgerbereinigung (cleanmgr) sieht, die wohl nicht mehr weiterentwickelt wird. [3] Sowohl für den CCleaner (als CCEnhancer) als auch für BleachBit gibt es Community-basierte Regeln in Form einer quelloffenen winapp2.ini [4], mit der 1000+ weitere Programme bereinigt werden können. Hier die Links zu der entsprechenden Software…

In einer Tabelle habe ich den für mich interessanten Funktionsumfang zwischen den verschiedenen Programmen verglichen. Die Spalte System bezeichnet hier die Basisfunktion: Löschen von temporären Dateien, Papierkorb, Thumbnails usw., Browserspuren bezieht sich auf das Löschen von Cache, Verlauf usw. verschiedener Browser (außer IE). Außerdem habe ich berücksichtigt, ob das Tool überflüssige Dateien weiterer Programme erkennt, fehlerhafte oder verwaiste Registry-Einträge findet* und das sichere Löschen von Dateien oder freiem Speicherplatz unterstützt.

*Der Nutzen von Registry Cleanern ist umstritten. [5] **benutzt habe ich den integrierten Drive Cleaner u. Internet Cleaner von Ashampoo UnInstaller 8, welches ich besitze. Die Funktion scheint identisch zu sein mit der aus dem kostenlosen Ashampoo WinOptimizer FREE.

Bei einigen der Programme geht der Funktionsumfang weit über den für mich interessanten Teil der Datenträgerbereinigung hinaus. So bieten die Programme Wise Disk Cleaner, Clean Master, Glary Utilities und IOBit Advanced SystemCare noch weitere Features zum Thema Betriebssystem-Tuning, welche mir aber zu tief ins System eingreifen und mich hier auch nicht interessieren. Einige der Programme – darunter auch der CCleaner – besitzen (zumindest in der kostenpflichtigen Version) einen Hintergrund-Dienst, der auch automatisch und regelmäßig Aufgaben erledigen soll. Die Benutzeroberflächen unterscheiden sich zum Teil stark von einander, am besten verschafft ihr euch selbst einen Einblick…

Kommen wir nun zum interessantesten Teil, wie viel Speicherplatz räumen die oben aufgeführten Programme denn nun frei? Mein Windows hat inzwischen einige Updates hinter sich und ich habe es bewusst seit einiger Zeit nicht mehr „aufgeräumt“. Ich habe die aufgeführten Programme mein System analysieren lassen unter der Maxime „alles außer Formulardaten, Passwörter und sonstige Anwendung- und Benutzereinstellungen“. Die unterschiedlichen Ergebnisse habe ich in einem Balkendiagramm festgehalten. Vorweg: An der Spitze steht BleachBit mit aktivierten Community-Regeln (winapp2.ini) mit insgesamt 33,4 Gb Datenmüll. Das ist mehr als doppelt so viel, wie die Windows Datenträgerbereinigung im erweiterten Suchmodus finden kann! Bei IOBit Advanced System Care Free und Kcleaner Free konnte ich aus der Programmoberfläche nicht eindeutig nachvollziehen, wie sich die Daten zusammenstellen.

***Laut Clean Master Free hätte mein PC dank dem Papierkorb ein Reinigungspotential von 903,4 Gb (!), was einfach nicht stimmt, bzw. sich auch nicht mit den anderen Programmen deckt. Dies würde die Grafik verfälschen, deswegen habe ich dem Clean Master für den Papierkorb die gleiche Datenmenge wie bei den anderen Programmen angezeigt angerechnet.

Fazit

Natürlich ist es mein subjektiver Eindruck. Ich habe meine eigenen Erwartungen an ein solches Programm und auch die Ergebnisse im Diagramm oben sind in Abhängigkeit meines Rechners entstanden, aber: BleachBit sticht für mich als klarer Favorit heraus. Zwar kommt der etwas bekanntere CCleaner mit aktiviertem CCEnhancer bei der Datenmenge fast auf das gleiche Ergebnis, BleachBit hat allerdings drei wesentliche Vorteile: Erstens reagiert die Benutzeroberfläche deutlich flotter (mit aktivieren CCEnhancer hängt die UI von CCleaner deutlich nach), zweitens spart man sich den Shareware-Kram mit dem Hintergrunddienst und zu guter Letzt ist BleachBit quelloffen [6] und frei von sonstigen Telemetrie- und Werbebestandteilen. Allerdings sollte man sich auch bewusst sein, dass man mit solchen Programmen, besonders mit den aktivierten Community-Regeln (winapp2.ini), unter Umständen mehr löscht als einem lieb ist. Zum einen mag die große Anzahl an Reinigungsoptionen für einen Einsteiger verwirrend sein, zum anderen sind diese auch z.T. schlecht dokumentiert und so kann es schnell vorkommen, dass ungewollt Programmeinstellungen und Passwörter gelöscht werden.

Wer also weniger Ahnung hat und einfach nur „etwas mehr“ Speicherplatz freiräumen will, ist vielleicht mit dem WiseCleaner (von mir als zweite Empfehlung) besser beraten. Das Programm bildet einen guten Kompromiss zwischen Reinigungsleistung und Usability. Es erkennt deutlich mehr als die klassische Datenträgerbereinigung und stellt das Ergebnis übersichtlich und nachvollziehbar dar. Gleichzeitig wirkt das Programm nicht mit unnötigen Funktionen überladen sondern beschränkt sich aufs Wesentliche.

Was ist eure Erfahrung mit solchen Programmen? Nutzt ihr ein ganz anderes? Hinterlasst doch einen Kommentar unter diesem Beitrag!