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 ~