Serversicherheit auf zwei knappen Seiten – geht das? Ja, weil wir uns hier auf lokale Heimserver ohne Webfreigabe und mit nur wenigen Benutzern fokussieren. Das reduziert die Sicherheitspflichten erheblich. Ein paar Regeln verbleiben trotzdem.
Dieser Artikel geht davon aus, dass Sie in Ihrem lokalen Netz den einen oder anderen Serverdienst laufen haben – etwa einen NAS-ähnlichen Samba-Server, ein Mediencenter, ein Webserver-Angebot mit einer Nextcloud oder einer Wiki- oder WordPress-Dokumentenzentrale. Wenn alles ohne Router-Portfreigabe in den eigenen vier Wänden bleibt, sind die Sicherheitsanforderungen unkritisch. Der Admin muss hauptsächlich dafür sorgen, dass er allein den Zugang zu den Konfigurations-Back-Ends der Serverdienste behält und dass Dateifreigaben restriktiv genug sind, um wichtige Daten vor Verlust zu schützen.
Authentifizierte Admin-Log-ins
Die Netzteilnehmer sollen die Serverdienste nutzen, aber nicht deren Konfiguration ändern – sei es versehentlich oder absichtlich. Daher darf der Zugriff als Admin bei Webservern nicht einfach offenstehen: Das beginnt mit Konfigurationsoberflächen von Routern, Access Points, Wi-Fi-Adaptern und Smart-Home-Geräten, die allesamt eine saubere Authentifizierung mit Konto und Kennwort fordern sollten (und dies dann nicht als „admin“ mit Kennwort „admin“). Bei Webserver-Anwendungen wie Nextcloud, WordPress, Open Media Vault oder Wikis ist die Anlage mehrerer Zugangskonten üblich, aber es sollte nur ein Konto „Administrator“ geben, das die Konfiguration ändern darf.
Im privaten Umfeld, wo eventuell Geräte von mehreren Personen genutzt werden, sollte man sensible Admin-Zugangsdaten nicht vom Browser speichern lassen. Hier ist ein einfacher Kontoname mit simplem Kennwort sicherer als ein komplexes Kennwort, das der Browser per Klick auf ein Lesezeichen übergibt. Dieses Sicherheitsproblem ist auch bei unbeaufsichtigten PCs von Firmen-Admins nicht selten.
Der Spezialfall SSH
Ohne zusätzlichen SSH-Server wird man keinen Linux-Server betreiben wollen, was immer der sonst noch anbietet. Das führt in Kombination mit Samba-Freigaben zu einem immanenten Sicherheitsproblem: Jeder Benutzer mit Samba-Konto hat ein gleichnamiges Systemkonto. In aller Regel sind auch die Kennwörter gleichlautend. Es handelt sich im Prinzip um zwei unabhängige Kennwortzentralen, aber zwecks Übersicht und Vereinfachung werden System- und Samba-Kennwort meistens identisch angelegt.
Somit hat jeder Samba-Teilnehmer mit seinem Samba-Konto und Samba-Kennwort auch SSH-Zutritt. Der kann dann wesentlich mehr erlauben, als man dem Samba-Teilnehmer einräumen will. Wieviel mehr, daüber entscheiden die Dateirechte auf dem Linux-Server. In Systemordnern haben auch ein normale Userkonten meistens Lesezugriff, in Datenverzeichnissen je nach Rechtemasken eventuell auch Schreibzugriff. Dieses Problem kann man durch saubere Rechtevergabe vermeiden, viel einfacher aber durch restriktiven SSH-Zugriff:
Die zusätzliche Zeile
AllowUsers sepp
an beliebiger Stelle der Datei „/etc/ssh/sshd_config“ und Neustart des SSH-Dienstes mit
sudo systemctl restart sshd
erlaubt nur noch genau einem Systemkonto die SSH-Anmeldung. Das angegebene Konto muss unbedingt existieren, andernfalls wäre der SSH-Zugang versperrt und dieser Fehler nur noch am lokalen System zu korrigieren. Das einzige SSH-berechtigte Konto sollte (als einziges Konto) sudo-berechtigt sein, um Konfigurationsänderungen erledigen zu dürfen.
Samba-Freigaben: Sichere Varianten
Voraussetzungen: Wie schon angesprochen, brauchen Samba-Konten ein Systemkonto auf dem Server (für die Dateirechte auf dem Serversystem)
sudo adduser anna
und außerdem das Samba-Konto:
sudo smbpasswd -a anna
Üblicherweise vergibt man in beiden Fällen dasselbe Kennwort.
Die Definition der Samba-Freigaben erfolgt in der Datei „/etc/samba/smb.conf“. Hier gibt es unterschiedliche Strategien, deren einfachste Varianten wir nachfolgend beschreiben. Beachten Sie, dass Samba Änderungen an der Konfigurationsdatei erst realisiert, wenn der Dienst mit
sudo systemctl restart smbd
neu gestartet wird.
Samba-Homes für alle: Wenn die oben genannten Voraussetzungen erfüllt sind, bietet Samba eine sehr einfache Freigabevariante, die sich für viele Heim- und Firmennetzwerke eignet. An später Stelle finden Sie in der Datei „smb.conf“ unter „Share Definitions“ einen auskommentierten Abschnitt, der mit „;[homes]“ beginnt. Wenn Sie in diesem Abschnitt alle Semikolon-Kommentarzeichen entfernen („#“), gibt der Samba-Server die Home-Verzeichnisse aller Konten frei. Abweichend zur Vorgabe ist Schreibzugriff notwendig („read only = no“), damit die Benutzer ihre Dateien dort ablegen und ändern dürfen.

Die Optionen „browseable = no“ und „valid users = %S“ sind nicht notwendig, aber sinnvoll, wenn der Server nur bei gültigen Konto-Angaben antworten soll: Adressangaben wie „smb://[IP]“ unter Linux oder „\\[IP]“ unter Windows führen dann einfach zu einem leeren Dateimanagerfenster. Es ist eine Angabe wie „smb://[IP]/sepp“ erforderlich, die dann zur Authentifizierung aufruft. Der Abschnitt lautet insgesamt etwa so:
[homes]
browseable = no
read only = no
create mask = 770
directory mask = 770
valid users = %S
Die Zugriffsrechte von neu erstellten Dateien werden so gesetzt, dass der Home-Benutzer Vollzugriff erhält. Solche Freigabe der „Homes“ ist sinnvoll und einfach, wenn mehrere Familienmitglieder oder Mitarbeiter ihr je eigenes Home-Verzeichnis für Arbeiten und Backups erhalten sollen. Alle Benutzer sehen nur ihr eigenes Home.
Samba-Archiv für alle: Eine sichere Samba-Freigabe für mehrere oder viele Benutzer ist prinzipiell nur möglich, wenn diese auf Lesezugriff beschränkt bleibt. Dazu muss unter „Share- Definitions“ der Datei „/etc/samba/smb.conf“ ein zusätzlicher Abschnitt eingetragen werden. Die folgenden fünf Zeilen sind ausreichend:
[Archiv]
path = /srv/boss/Archiv
read only = yes
browseable = yes
valid users = anna,berta,claus,
[…],zenta
Falls es sich um viele zugriffsberechtigte Systemkonten handelt, ist es übersichtlicher, eine Gruppe zu definieren (groupadd archiv) und mit „valid users = %archiv“ die Gruppe anzugeben. Die gewünschten Konten müssen dann der Gruppe zugewiesen werden (usermod -aG archiv anna).
Hinweis: Home-Freigaben und zusätzliche allgemeine Freigaben sind natürlich kombinierbar.

„Unsichere“ Samba-Freigabe
Mit einer Text- und Mediensammlung, die via Samba mehrere Benutzer befüllen und ändern dürfen, verlassen Sie den Pfad der Dokumentsicherheit. Prüfen Sie sorgfältig, ob es praktikabel ist, die Datensammlung nur schreibgeschützt freizugeben und alle Änderungen am Datenbestand als Admin etwa per SSH-Zugriff zu erledigen. Ist dies zu aufwendig oder unnötig restriktiv, können Sie sich unsichere Freigabe immerhin mit einem Trick vereinfachen: Die Freigabe lässt sich im einfachsten Fall mit einem zusätzlichen System- und Sambakonto realisieren:
sudo adduser archivuser
sudo smbpasswd -a archivuser
In der Konfigurationsdatei „smb.conf“ genügt dann am Ende unter „Share Definitions“ folgender Block (Beispiel):
[Archiv]
path = /srv/archiv
browseable = yes
valid users = archivuser
write list = archivuser
Nun muss im Freigabepfad (hier „/srv/archiv“) noch sichergestellt sein, dass das Pseudo-Konto den Dateibesitz hat:
sudo chown -R archivuser:archivuser /srv/archiv
Alle Teilnehmer greifen dann mit einem einzigen Konto zu (hier „archivuser“), womit Rechteprobleme auf Dateiebene ausgeschlossen sind.

