[Markdown] 

Hubzilla in der Dose (HiD): 1 – Erste Schritte

1 – Erste Schritte

Um einen Hubzilla-Hub auf einem Raspberry Pi zu installieren, braucht man zunächst einmal einen… … … genau, einen Raspberry Pi (Raspi). Es gibt inzwischen einige Modelle mit unterschiedlichen Spezifikationen und Features. Aktuell sind die Modelle 3 A+, 3 B, 3 B+ und Zero.

Modellwahl

Die 3er-Modelle unterscheiden sich zunächst durch Prozessortakt und Hauptspeicher. 3 A+ und 3 B+ sind mit 1.400 MHz getaktet, 3 B mit 1.200 MHz. Sie laufen mit einem ARM Cortex-A53 64-Bit-Prozessor mit 4 Prozessorkernen. Das A-Modell verfügt über 512 MB Hauptspeicher, die B-Modelle über 1 GB. Der Zero wird mit einem ARM11Prozessor, 1.000 MHz und nur einem Prozessorkern betrieben. Der Hauptspeicher liegt bei 512 MB.

Das Zero-Modell funktioniert sicherlich, denn das war ja der Typ, mit dem Marlon seine erfolgreichen Versuche durchgeführt hat. Allerdings sind Hauptspeicher und Prozessorleistung wichtige Faktoren für die Leistungsfähigkeit, weshalb ich die Modelle 3 A und 3 B für geeigneter halte.

Die Taktfrequenz von 1.200 MHz des Modells B sollte ausreichend sein. Gegen das Modell A+ spricht für mich der Hauptspeicher, der mit 1/2 GB ein wenig knapp bemessen ist… und die Tatsache, dass es über keine Ethernet-Schnittstelle verfügt. Klar… WLAN haben sie alle und man kann das auch für einen Hub nutzen… ich persönlich bevorzuge aber ein Kabel (WLAN nutze ich nur, wenn es auf Ortsunabhängigkeit ankommt… ist meine persönliche Macke). Modell A bietet außerdem nur eine USB 2.0 Schnittstelle, wogegen die B-Modelle mit vier daherkommen (das ist praktisch für die Installation Tastatur und Maus brauchen schon zwei USB… so kann man sich einen externen HUB sparen).

Für mich fiel der 3 A+ damit raus… Ich habe mich deshalb für das Modell 3 B entschieden, weil es für mich sofort verfügbar war und mich die „fehlenden“ 200 MHz nicht gejuckt haben. Grundsätzlich sollte es aber mit allen angesprochenen Systemen klappen, einen Hub aufzusetzen. Meine Beschreibungen sollten auch unabhängig vom Modell funktionieren (bei Modellen ohne Ethernet-Schnittstelle muss man aber noch das WLAN konfigurieren).

„Verpackung“ und Zubehör (die Dooose)

Wenn man den Raspi nicht irgendwo speziell einbauen möchte, dann sollte auch ein Gehäuse her. Ich habe das Standard-Gehäuse 3B+ in schwarz gewählt. Ein passendes Netzteil muss auch sein… und eine SD-Speicherkarte… 8 GB sollten es schon sein… 16 GB sind besser. Für die Installation benötigt man dann noch ein HDMI-Kabel für den Anschluss eines Monitors, eine Tastatur und eine Maus. Für den Ethernet-Anschluss muss man natürlich auch noch ein passendes Kabel haben.

Ich habe mir ein komplettes Set bestellt, bei dem außerdem noch Kühlkörper für die Chips das Raspi dabei waren. Über die Notwendigkeit von Kühlkörpern scheiden sich die Geister… eigentlich sollen sie gar nicht nötig sein… aber ehrlich… die kosten auch einzeln nicht viel und Kühlung schadet echt nicht.

Der mechanische Zusammenbau ist keine Kunst. Die Kühlkörper sind schnell aufgeklebt und die Platine findet selbsterklärend Platz im Gehäuse… zu schrauben braucht man nichts.

Ein Betriebssystem installieren

Raspbian

Auf einem Raspi kann man etliche Betriebssysteme installieren. Für einen Hub und weil es der Standard ist, habe ich mich für Raspbian entschieden, eine Debian Linux Version für den Raspi. Man kann Raspbian z.B. hier herunterladen: Raspbian. Wer Windows nutzt kann nun das entpackte Image z.B. mit Win32DiskImager auf die SD-Karte bringen, MacOS- und Linux-Benutzer erledigen das mit dd. Das beschreibe ich hier jetzt aber auch nicht ausführlich. Das sollte man schon hinbekommen (ggf. im Netz danach suchen).

Man verkabelt nun den Raspi (Monitor an HDMI, Maus und Tastatur an USB), setzt die SD-Karte in den Slot und stöpselt schließlich das Netzteil an (damit startet der Raspi, der keinen extra Netzschalter hat).

Bootet man den Raspi, landet man nach einiger Zeit bei dem Programm raspi-config, wo man die erforderlichen ersten Einstellungen vornehmen kann. Sinnvoll ist es, den Menüpunkt „Expand Filesystem“ zu wählen, damit die Partition auf die gesamte SD-Karte ausgedehnt wird (wirksam erst nach Reboot). Das Konfigurationsprogramm ermöglicht es auch, Tastatur und Systemsprache (locale) auf die eigene Sprache (vermutlich Deutsch) umzustellen. Dann folgt ein Reboot. Man kann dann auch noch die Auslagerungsdatei (swap) auf 1024 MB erweitern und sollte anschließend die Software aktualisieren. Dazu gibt man im Terminal

sudo apt-get update
sudo apt-get dist-upgrade
sudo rpi-update

ein.

Ggf. ist ein weiterer Reboot erforderlich.

Raspbian mit Noobs installieren – kinderleicht

Noch einfacher ist die Installation mit Noobs (New out of box software). Noobs kann man sich hier herunterladen: Noobs (am besten NOOBS LITE Network install only wählen).

Die SD-Karte wird FAT/FAT32 formatiert und die Daten des Noobs-Zipfiles werden auf die SD-Karte entpackt. Bootet man mit der solchermaßen vorbereiteten SD-Karte landet man bei einem grafischen Installationsprogramm, mit dem man z.B. Raspbian ganz einfach auf die Karte bringt (Netzwerkverbindung erforderlich, weil das Betriebssystem aus dem Netz heruntergeladen wird). Einfacher geht nicht.

Auch hier wieder nach der Installation aktualisieren:

sudo apt-get update
sudo apt-get dist-upgrade
sudo rpi-update

Grundlegende Absicherung

Nach der Installation ist der Standard-Benutzer „pi“ und das Standard-Passwort „raspberry“. Weil der Rechner ja irgendwann im Internet hängt und auch von außerhalb erreichbar sein wird, MUSS das Passwort geändert werden. Hier sollte man auch nicht kleckern, sondern klotzen und ein Passwort wählen, das komplex und lang genug ist (Tipps dafür gibt es ausreichend im Netz… Diceware wäre eine gute Idee, damit man es sich merken kann). Der Benutzer „pi“ kann nämlich per „sudo“ ohne weitere Passwortabfrage Root-Rechte bekommen… ein Angreifer hat damit das System faktisch übernommen.

Es wird verschiedentlich auch empfohlen, einen neuen Benutzer (mit anderem Benutzernamen) und den gleichen Rechten wie „pi“ anzulegen und den Benutzer „pi“ anschließend zu löschen. Halte ich bei einer wirklich guten Passwortwahl für überflüssig.

Wichtig für die Sicherheit ist außerdem, das System regelmäßig mit Updates zu versorgen. Das kann man automatisieren. Ich nutze aus Bequemlichkeit „unattended-upgrades“.

Dazu gibt man im Terminal

sudo apt-get install unattended-upgrades update-notifier-common

ein, um die notwendige Software zu installieren. Die Konfiguration startet man mit

sudo dpkg-reconfigure -plow unattended-upgrades

und bestätigt mit „YES“.

Für die automatischen Updates editiert man nun die Datei „/etc/apt/apt.conf.d/10periodic“ mit

sudo nano /etc/apt/apt.conf.d/10periodic

Ich möchte eine tägliche Überprüfung auf Updates. Damit man sich die SD-Karte nicht mit veralteten Paketen zumüllt, sollen alte Pakete einmal wöchentlich gelöscht werden. Dazu ändert man die Datei wie folgt:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

(Speichern und beenden bei Nano immer mit Strg-O und Strg-X)

Um Bruteforce-Angriffe zu verhindern, empfiehlt sich außerdem fail2ban zu installieren:

sudo apt-get install fail2ban

In der Standard-Konfiguration werden IP-Adressen nach sechs fehlerhaften Anmeldungen für 10 Minuten gesperrt. Ändern könnt Ihr das in der Datei „/etc/fail2ban/jail.conf “.

Schließlich kann man auch noch eine Firewall mit Iptables einrichten. Das spare ich mir hier aber für später auf, weil man damit auch viel „verzerkonfigurieren“ kann und sich evtl. Fehler aufhalst, die man als unerfahrener Benutzer nur schwer findet.

Das System ist soweit auch erst einmal ausreichend abgesichert.

Im nächsten Teil geht es weiter mit der Einrichtung von SSH, damit man Monitor, Tastatur und Maus abklemmen kann und den Rechner von seinem „normalen“ Rechner aus bedienen kann. Außerdem wird ein FTP-Server eingerichtet, damit man Daten auf den Raspi schaufeln kann.