Raspberry Colocation bei EDIS

Aus LOMSO
Zur Navigation springen Zur Suche springen
Du bist hier : Wiki home -> LUG Projekte -> Raspberry Colocation bei EDIS



Hintergrund und Motivation

Der österreichische Provider EDIS bietet wieder an, kostenlos Raspberry Pi's in seinem Rechenzentrum zu unterbringen (sog. colocation). Man muss dazu nur seinen Raspberry Pi einsenden, er wird dann an's Internet angeschlossen (statische IP), 100GB Traffic sind monatlich inklusive, was für die meisten Fälle ausreichen sollte.

Von der LUG beteiligen sich MichaelWe, JoelH, Matthias, ChristianP, KlausB, JoergE am Projekt und senden ihre Pi's ein.

Wir wollen hier dokumentieren wie wir unsere Pi's konfiguriert haben, welche besondere Maßnahmen wir getroffen haben, und welche Anwendungen wir uns dafür ausgedacht haben.

Kurze Intro und Tipps verlinkt Edis selber (wohl Erfahrungsberichte aus der 1. Runde an Colocation) : Linux Journal sowie Dean Barroy's Blog

Von der Beschaffung bis zum ersten Boot

Diesen Schritten kann man der Reihenfolge entsprechend vorgehen, um eine Grundinstallation für einen Raspberry Pi Debian Server zu bekommen:

Hardware vorbereiten

Debian für Raspberry Pi

Partitionen und Images

Erster Boot und Update

Netzwerkkonfiguration

  • Eindeutige SSH host keys
  • Statische Netzwerkschnittstelle
  • DNS einstellen
  • IPv6 Setup

Damit haben wir ein generisches, schlankes, up-to-date System.

Zwischenstand

Noch nicht enthalten aber teilweise unbedingt erforderlich für sicheren Betrieb ist:

  • sichere Einstellungen für Serverbetrieb
  • spezifische Software
  • weitergehende Partitionierung je nach Anwendung

In den folgenden Kapiteln werden entsprechende Maßnahmen beschrieben. Diese kann man je nach Bedarf kombinieren.

Weitere Maßnahmen und Vorgehensweisen

Google Docs Sheet mit Notizen von KlausB

Automatisches Update

Staging Umgebung

Firewall und Hardening

  • iptables oder ufw oder shorewall
  • fail2ban
  • logwatch
  • unnötige Pakete entfernen

LVM

  • weitere Partitionen
  • dmcrypt Verschlüsselung
  • LVM für Rootpartition ? Möglichkeit von Snapshots als Backup-Lösung

Mail Service

  • ssmtp
  • mailx
  • postfix
  • fetchmail

Nginx und Wordpress

Notfallplan

Performance Tests

  • hdparm
  • nginx compile

upstart

Diverses

fstrim

  • unklar ob von Vorteil?
  • /etc/cron.daily/fstrim macht ein tägliches fstrim auf "/"
  • fstrim auf SD Card funktioniert, aber bei Stick gibts "fstrim: /media/stick: FITRIM ioctl failed: Operation not supported"

Checkliste vor dem Einschicken

  1. kein Overclocking, "grep arm_freq /boot/config.txt" muss "arm_freq=700" ergeben
  2. ssh konfiguriert, nicht-Standard Port verwendet, Port ist in Firewall freigeschaltet, evtl. sftpd enabled
  3. ssh root login gesperrt, root Passwort nicht-trivial
  4. user pi gelöscht
  5. anderer non-root user Account definiert, mit nicht-trivialem Passwort, für sudo freigeschaltet, für ssh login freigeschaltet
  6. alle notwendigen Partitionen auf SD Karte und Stick angelegt, mount Verzeichnisse angelegt, /etc/fstab enthält entsprechende UUID Einträge
  7. Stick Partition mit Option noauto in /etc/fstab, mount Befehl in /etc/rc.local
  8. eindeutige SSH host keys verwendet
  9. /etc/resolv.conf mit gültigen/optimalen Nameservern
  10. /etc/network/interfaces enthält statische IP Konfiguration für eth0
  11. /etc/rc.local enthält EDIS IPv6 Konfiguration
  12. DHCP ist abgeschaltet und deinstalliert
  13. bind deinstalliert
  14. exim deinstalliert
  15. Firewall installiert und getestet
  16. /etc/udev/rules.d/70-persistent-net.rules kontrolliert auf genau einen einzigen Eintrag
  17. optional: upstart statt sysv Init System installiert und getestet
  18. optional: sftpd konfiguriert, geprüft ob nur /home/<sftp user> zugreifbar ist und sonst nichts
  19. optional: postfix installiert, pi in aliases entfernt
  20. optional: automatische System Updates
  21. optional: Ändern der Stunde der daily cron jobs in /etc/crontab
  22. optional: Sprache und Zeitzone eingestellt
  23. (bevor IP Adresse auf EDIS umgestellt wird) . nochmal booten und prüfen dass alles hochkommt (keine Änderungen, die noch nicht übernommen wurden)
  24. RPi korrekt beschriftet (email + IP Adresse), vgl Bestätigungsmail von EDIS

Was kann man damit anfangen?