Antivirus

Frühjahrsputz: Ubuntu Server gesäubert, performant & sicher

17. März 2015 von Larissa Weigand

Ubuntu-titel
© Alen-D - Fotolia.com

1
(1)

Die Ubuntu Server Edition nutzt anstelle einer grafischen Oberfläche, wie sie es Windows-User gewohnt sind, eine Zusammenstellung mehrerer Serverdienste. Wie Sie Ubuntu Server installieren, können Sie im Ubuntu-Users-Wiki nachlesen; dort erfahren Sie auch Details zur Partitionierung oder zum Anlegen von Benutzern. Im Folgenden schauen wir uns an, wie Sie Ubuntu Server aufräumen, Leistungsbremsen finden und verhindern und wie Sie Ihren Server absichern.

Ubuntu Server aufräumen

Bevor Sie zur Tat schreiten und sich munter durch Verzeichnisse wühlen, um nicht benötigte Daten zu löschen, denken Sie bitte wie immer an die Datensicherung. Tipps zur Datensicherung sowie eine Anleitung zum Aufräumen von Ubuntu in der Desktop-Variante haben wir im Ubuntu-Hauptartikel der Desktop-Serie bereits gegeben. Da die Grundarchitektur der Ubuntu Server- und Ubuntu Desktop-Edition gleich ist und das Ergebnis einer Minimalinstallation beider Editionen zum selben Ergebnis führen würde, sehen Sie die folgenden Tipps bitte als Ergänzung.

Ubuntu Server: Informationen zum Speicherplatz

Um zunächst in Erfahrung zu bringen, wie es um den Speicherplatz überhaupt steht, wenden Sie das Kommando .df an: user$ df -h

Sie können einen Pfad als Verzeichnis angeben. Verzichten Sie darauf, erfahren Sie den gesamten Plattenplatz aller Dateisysteme. Mit dem Parameter „h“ geben Sie Ihrem System die Information, dass Sie die Ausgabe in einer für Menschen lesbaren Form ausgegeben haben möchten. „h“ steht für „human“ und sorgt für die Ausgabe in MB oder GB. Sie erhalten nach Eingabe des Kommandos eine Tabelle, deren erste Spalte das Dateisystem darstellt. In der zweiten sehen Sie die Größe der Partition, in der dritten den bereits benutzten Speicherplatz und in der vierten Spalte finden Sie die Angabe, wie viel Platz noch verfügbar ist. Spalte 5 zeigt die Benutzung in Prozent und die letzte Spalte verrät Ihnen den Mount-Point im Dateisystem.

Möchten Sie ausschließlich den noch verfügbaren Speicherplatz anzeigen lassen, hilft der Befehl free weiter. Der verfügbare Speicher beinhaltet dann sowohl RAM (Arbeitsspeicher) als auch Swap-Speicher (Auslagerungsspeicher).

Um den Inhalt von einem Verzeichnis auf dem Dateisystem anzeigen zu lassen, nutzen Sie ls. Ihnen werden auch versteckte Dateien angezeigt: user$ ls -lah <Verzeichnisname>

Festplatten partitionieren unter Ubuntu Server

Zum Aufräumen gehört es auch, sich über die Partitionierung der Festplatten Gedanken zu machen. Um formatierte Platten in unterschiedliche Partitionen einzuteilen, verwenden Sie den Befehl cfdisk. Damit können Sie auch bestehende Partitionen löschen oder eine vorhandene Partition anpassen, indem Sie ihr etwa eine andere Systemkennung zuweisen. Neben einzelnen Partitionen können Sie mit cfdisk auch komplette Festplatten bearbeiten. Die Gerätedateien lauten dann:

  • /dev/hda für Ihre erste IDE-Festplatte, /dev/hdb für die zweite, etc.
  • /dev/sda für Ihre erste SCSI-/SATA-Platte, /dev/sdb für die zweite, etc.

Der Befehl cfdisk zeigt Ihnen sämtliche gefundenen Partitionen inklusive ihrer Größen an. Sie können sich mit den Pfeiltasten nach oben und unten durch die Liste navigieren und Partitionen auswählen, mit denen nach rechts und links wählen Sie ein Kommando aus und mit q schließen Sie cfdisk. Wichtig: Sichern Sie idealerweise eine Partitionstabelle, sodass Sie im Falle eines Missgeschicks diese Partitionstabelle wiederherstellen können und Ihre Daten nicht verlorengehen.

Eine nicht ganz so komfortable Alternative zu cfdisk ist fdisk. Sie navigieren jedoch nicht mit Ihren Pfeiltasten, sondern nutzen Tastenkürzel. Fdisk hat gegenüber cfdisk trotz dieser Komfort-Einschränkung diverse Vorteile, auf die wir nach der Vorstellung der wichtigsten Tastenkürzel kommen:

  • D = Partition löschen
  • B = „bsd disklabel“ bearbeiten
  • L = bekannte Dateisystemtypen anzeigen, wofür Sie die Nummer des Dateisystems benötigen
  • M = Menü inklusive aller Befehle anzeigen
  • N = anlegen einer neuen Partition
  • P = anzeigen der Partitionstabelle
  • Q = beenden ohne speichern
  • S = leeren „Sun disklabel“ neu anlegen
  • T = ändern des Dateisystemtyps einer Partitionen
  • U = Anzeige-/Eingabe-Einheit ändern
  • V = prüfen der Partitionstabelle
  • W = Partitionstabelle auf die Platte schreiben und Programm beenden

Einer der größten Vorteile von fdisk ist die Option, mehrere Festplatten automatisch formatieren zu können. Dafür schreiben Sie ein kleines Skript; Vorlagen für solche Skripte können Sie im Internet finden. Um mit fdisk zu partitionieren, starten Sie mit Angabe der Gerätedatei: user$ sudo fdisk /dev/hda

 

Die Leistung unter Ubuntu Server optimieren

Auch zum Optimieren der Leistung empfehlen wir Ihnen, relevante Schritte aus unserem Ubuntu-Desktop-Beitrag auszuführen. Beachten Sie hierbei insbesondere die Absätze ab „Performance-Schrauben an der Festplatte drehen“; die Tipps darüber sind für Ubuntu Server irrelevant.

Leistungsinformationen einsehen

konfiguration_ubuntuDamit Sie die Performance optimieren können, macht es Sinn, sich zunächst einen Überblick über laufende Prozesse zu verschaffen. Um Prozesse anzuzeigen, die im Hintergrund laufen, verwenden Sie den Befehl jobs. Sie erhalten eine Liste mit sämtlichen aktuell laufenden Hintergrundprozessen, bestehend aus der Jobbezeichnung, einer Jobnummer, dem Kommandonamen, dem Status und einer Markierung. Das Plus steht dabei für einen aktuellen Job, das Minus für den vorhergehenden Job.

Um tiefer zu gehen, ist ps der richtige Befehl: Dies ist eines der wichtigsten Kommandos für Systemadministratoren, denn es zeigt Informationen über aktive Prozesse. Verzichten Sie auf die Eingabe weiterer Argumente, wird Ihnen eine Liste mit den im Terminal gestarteten Prozessen ausgegeben. PID zeigt Ihnen die Prozessnummer, TTY den Terminal-Namen, TIME die verbrauchte Rechenzeit und COMMAND den Kommandonamen. Mithilfe weiterer Optionen können Sie noch mehr Informationen beschaffen: Mit „-e“ gewinnen Sie Informationen zu sämtlichen Prozessen, nicht nur zu denen des jeweiligen Terminals. Mit -f vervollständigen Sie den Informationsgehalt.

Um Systembremsen schnell ausfindig zu machen, ist es sinnvoll, Prozesse nach der CPU-Auslastung anzeigen zu lassen. Das erreichen Sie mit dem Befehl top. Standardmäßig aktualisiert sich die Liste alle fünf Sekunden, mit q können Sie top wie gewohnt beenden. Mit top haben Sie noch viel mehr Möglichkeiten: Klicken Sie auf „K“ (= kill), senden Sie einem Prozess ein Signal, mit R (= renice) verändern Sie die Priorität von einem laufenden Prozess. Werfen Sie einen Blick auf die man-Seite von top, um die ganze Palette der vielseitigen Kommandos kennenzulernen.

Um Prozesse in den Schlafmodus zu versetzen, verwenden Sie sleep. Standardmäßig sind Sekunden als Ruhephase voreingestellt, Sie können jedoch in den Optionen umstellen auf Minuten, Stunden oder auch Tage.

 

Sicherheit unter Ubuntu Server

Server auf Linux-Basis finden sehr weitreichenden Einsatz: Unter anderem setzt der Suchmaschinenriese Google für seine Serverfarmen auf Linux. So ist es kaum verwunderlich, dass Ubuntu Server angreifbar sind. Letztes Jahr sorgte beispielsweise die Schwachstelle ShellShock für Verunsicherung und dieses Jahr ging Linux auf Geisterfahrt – zwei Beispiele von diversen. Wir schauen uns im Folgenden an, wie Sie Ihren Ubuntu Server sinnvoll absichern. Lesen Sie hierzu ebenfalls in unserem Ubuntu-Desktop-Beitrag, um die folgenden Ausführungen zu ergänzen.

Server-Zugriffe

Grundsätzlich existieren mehrere Zugriffsarten: Der Fernzugriff auf einen (Root-)Server oder auch das Aufbauen einer sicheren Verbindung, sowohl im heimischen Netzwerk als auch via Remote-Desktop. Um Usern das Einloggen aus der Ferne (= remote) zu gestatten, setzen Sie einen SSH-Server auf dem betreffenden Rechner auf. Die einstige Standardvariante Telnet wurde aufgrund der unzureichenden Sicherheit durch SSH (= Secure Shell) abgelöst. Mittels SSH übertragen Sie Login-Informationen inklusive dazugehörigem Passwort verschlüsselt. Um den SSH-Server aufzusetzen, installieren Sie auf diesem Rechner zunächst das openssh-server-Paket: sudo apt-get install openssh-server

Ist das Paket installiert, startet auf dem jeweiligen Rechner der SSH-Server. Per Default ist das Paket openssh-client, das Sie benötigen, bereits vorinstalliert. Es existiert auch ein Meta-Paket namens ssh, das Client und Server mit einem Mal installiert.

Nach der Installation können Sie probieren, sich via Client, der sich im selben Netz befindet, auf dem SSH-Server einzuloggen. Geben Sie dafür das Kommando ssh <Name des Rechners/IPY ein. Beim ersten Versuch bestätigen Sie die Verbindungsaufnahme bitte explizit mit yes. Schließlich wird das Account-Passwort abgefragt. Dazu seien Sie bitte auf dem Rechner eingeloggt; weiter muss ein passender Account auf dem Server eingerichtet sein. Möchten Sie sich unter einem anderen Namen einloggen, ersetzen Sie im Befehl ssh <Benutzername>@<Host> bitte die Platzhalter entsprechend.

Bisher mussten Sie sich zunächst am entfernten Rechner anmelden, da der andere Sie nicht automatisch erkennt. Das kann nicht nur Zeit kosten, sondern auch die Sicherheit beeinflussen, denn jeder, der Ihr Passwort kennt, kann sich anmelden. Mit einer eindeutigen Identifikation verhindern Sie diese Nachteile. Legen Sie sich einen öffentlichen und einen privaten Schlüssel an, haben Sie Ihre Identifikation. Packen Sie den öffentlichen Schlüssel in die Zielrechner-Datei ~/.ssh/authorized_keys. Existiert diese Datei noch nicht, erstellen Sie sie. Diesen öffentlichen Schlüssel benötigen Sie auf jedem einzelnen Rechner, der mit dem Zielrechner verbunden sein soll. Zum Kopieren des Schlüssels eignet sich scp am besten. Erstellen Sie die Schlüssel mit diesem Befehl: ssh-keygen -t rsa

Ihr privater Schlüssel (id_rsa) und Ihr öffentlicher Schlüssel (id_rsa.pub) befinden sich im /home-Verzeichnis des versteckten Ordners./ssh. Erstellen Sie den privaten Schlüssel, werden Sie nach einer Passphrase gefragt. Zwar reicht dem System ein Wort, jedoch empfehlen wir Ihnen unbedingt das Verwenden einer sicheren Passphrase, das idealerweise aus mehreren Wörtern besteht. Ihr privater Schlüssel schützt sämtliche Inhalte vor unbefugten Blicken. Lassen Sie diesen privaten Schlüssel unter keinen Umständen in fremde Hände gelangen und schützen Sie ihn gut! Möchten Sie den Schlüssel zu Sicherungszwecken in Ihrem Backup aufbewahren, verschlüsseln Sie dieses idealerweise noch einmal. Da Ihr Rechner und der Zielrechner nun Schlüsselinformationen austauschen, benötigen Sie Ihre üblichen Login-Daten nicht. Ihre gesetzte Passphrase müssen Sie jedoch bei jedem Zugriff eingeben, womit Sie an Sicherheit zwar gewinnen, aber Komfort und Geschwindigkeit einbüßen.

VPN unter Ubuntu Server

Um vertrauliche Daten abgesichert über ein Netzwerk zu transportieren, das per se unsicher sein kann, können Sie auf das Virtual Private Networking, kurz: VPN zurückgreifen. Mithilfe eines VPN-Tunnels tauschen Sie Daten abhörsicher von einem Sender zu einem Empfänger und wieder zurück. Als Bestandteil der Ubuntu-Paketquellen ist openvpn unter Ubuntu das Mittel der Wahl, das seit Version 2.0 auch für Server infrage kommt. Privatanwender greifen in aller Regel in unzureichend gesicherten WLAN-Netzen zu VPN. VPN folgt dem Konzept des privaten und öffentlichen Schlüssels, sodass Sie auch hier wieder ein Schlüsselpaar erzeugen. In privaten Netzen ist zu beachten, dass es am leichtesten ist, wenn Server und Client denselben Schlüssel verwenden. Details zu OpenVPN bzw. zur Konfiguration für Server finden Sie im Ubuntu-Users-Wiki.

Zugriffsrechte und Eigentümer ändern

Insbesondere bei Servern zählt das Risiko Mensch besonders: Mitarbeiter haben im Idealfall lediglich auf die Informationen Zugriff, die Sie zur Arbeit benötigen. Das dient zum einen dem Datenschutz, zum anderen jedoch auch der „inneren Sicherheit“: Es macht einfach keinen Sinn, Mitarbeiter auf Daten zugreifen zu lassen, die für sie nicht relevant sind. Führt dieser Zugriff aus Unwissenheit dann noch zu einem Datenverlust, ist die Katastrophe perfekt. Aus diesem Grund betrachten Sie bitte die Zugriffsrechte und die Eigentumsverhältnisse der Daten:

Um Zugriffsrechte auf Dateien und Verzeichnisse zu setzen oder zu ändern, verwenden Sie chmod. Nur der Dateieigentümer sowie der Superuser können chmod anwenden. Das Kommando ist äußerst flexibel und lässt sich beispielsweise mit numerischen Werten verwenden. Es kann erforderlich sein, dem Befehl das sudo voran zu stellen; für Änderungen von Rechten an Systemdateien müssen Sie als Admin operieren. Um einem User (u, File-Eigentümer) für eine Datei (file) ein Ausführrecht zu erteilen (+x) geben Sie diesen Befehl an:
user$ chmode u+x file

Um einer Gruppe (g) das Ausführrecht zu entziehen (-x) oder zu erteilen (+x) nutzen Sie diesen Befehl:
user$ chmod g-x file
user$ chmod g+x file

Allen Teilnehmern (a) erteilen Sie ein Ausführrecht (+x) wie folgt.
user$ chmod a+x file

Auch die Option -R ist eine Erwähnung wert: Sie durchlaufen Verzeichnisse rekursiv und ändern sämtliche in diesem Verzeichnis liegende Dateien mit entsprechend definierten Ausführrechten.

Um den Eigentümer von Dateien und Verzeichnissen zu ändern, verwenden Sie den Befehl chown. Den neuen Eigentümer definieren Sie entweder über seinen Login-Namen oder aber über seine User-ID. Bedenken Sie, dass die Datei „/etc/passwd“ den Namen bzw. die ID natürlich enthalten muss. Dieses Kommando kann neben dem Eigentümer selbst nur der Superuser auf Dateien und Verzeichnisse anwenden. File1 und File2 gehen mit dem folgenden Befehl an einen neuen Eigentümer über:
user$ chown <Login-Name/User-ID> file1 file2

Mit der Option -R erfassen Sie komplette Verzeichnisse inklusive aller Unterverzeichnisse. Um neben einem Eigentümer auch die Gruppe von einer Datei zu wechseln, eignet sich folgende Syntax:
user$ chown <Login-Name/User-ID>:user file1 file2

Angenommen, der Login-Name wäre Heutger, sähe das so aus:
user$ chown Heutger:user file1 file2

Antivirus für Ubuntu Server

Antivirus_ubuntuLernen Sie in einer Bilderserie auf networkworld.com die Historie der Linux-Malware kennen. Die dort stehende Headline „Nobody’s immune“ ist maßgeblich: Kein System der Welt ist gegen Malware immun. In der Einleitung zur Sicherheit unter Ubuntu Server haben wir bereits auf ShellShock und Ghost aufmerksam gemacht; auch Heartbleed war ein großes Thema im vergangenen Jahr. Aufgrund der grundsätzlichen Systemarchitektur haben Sie unter Ubuntu deutlich weniger Probleme – Ihr System ist sinnvoll und sicher aufgebaut, jedoch nicht unverwundbar. Lesen Sie dazu bitte ab dem Absatz „Sind Virenscanner und/ oder Firewall unter Ubuntu notwendig?“ im Desktop-Beitrag über Ubuntu Linux. Sie erfahren hier, wie Sie eine sinnvolle Security-Suite auswählen, warum Linux bereits relativ sicher bei Ihnen ankommt und warum das größte Sicherheitsrisiko das vor dem Rechner ist. Was eine Security-Suite für Server haben sollte, erklären wir Ihnen im Absatz „Antivirus für Windows Server 2012 R2“ im Frühjahrsputz-Beitrag für Windows Server.

 

Fazit Ubuntu Server

An Ubuntu machen mehrere Punkte einfach Spaß: Die Tatsache, dass Sie Ihren Server ähnlich säubern und sichern wie Ihr Desktop-System, was mit der baugleichen Architektur zu begründen ist, sowie der grundlegend sicherere Aufbau des Server-Betriebssystems sind hierbei besonders zu benennen. „Grundlegend sicherer“ – das meint jedoch keinesfalls absolut sicher! Gehen Sie die Schritte zum Absichern Ihres Ubuntu Servers unbedingt durch, ergänzen Sie das Wissen, das Sie im Ubuntu-Desktop-Artikel erhalten, und wählen Sie sinnvoll eine gute Security-Suite aus, die neben Malware auch Spyware abwehrt. Setzen Sie die Ubuntu-Bordmittel geschickt ein und machen Sie sich gerne auch mit der äußerst hilfreichen Community hinter ubuntuusers.de vertraut. Dort finden Sie zahlreiche Anleitungen, aber auch Ansprechpartner, die Ihnen bei Fragen behilflich sind.

Wie hat Ihnen dieser Artikel gefallen?

Average rating 1 / 5. Vote count: 1



0 Kommentar(e)

Schreibe einen Kommentar

* Die DSGVO-Checkbox ist ein Pflichtfeld

*

Ich stimme zu