Heute ein Beitrag zur Transparenz. Es geht um die Sicherheit für meine Arbeitsumgebung.
Ziel: Transparenz meiner Arbeit
Zielgruppe: Meine Kunden
Motivation: Ein gutes Gefühl bei meinen Kunden
Inhaltsverzeichnis
Betriebssystem
Meine Betriebssysteme sind Open-Source-Software. Dieses Merkmal ist das wichtigste um Sicherheit in einer IT-Landschaft zu erreichen.
Außerdem bietet Open-Source-Software den professionellen Standard, den ich erwarte.
Start des Betriebssystems
Egal welche Linux-Distribution und welcher Paketmanager installiert ist, werden folgende Aufgaben beim Start erledigt:
- Bereinigung des Systems
- Update und Upgrade des Systems
- Eventuell Neustart
- Bereinigung des Systems
Sicherheit des Betriebssystems
Bei der Installation des Betriebssystems stelle ich es so ein, dass der aktuelle und der letzte LTS-Kernel installiert werden. Somit habe ich drei Fallback-Möglichkeiten bei einem Fehlstart des Systems.
Selbstverständlich habe ich ein komplexes User-Passwort, eine Firewall und weitere Sicherheitsstandards.
Installation des Betriebssystem
Etwa alle 6 Monate installiere ich auf meinen Arbeitscomputern das Betriebssystem mit allen Partition neu, also EFI, GPT, root und so weiter. Dabei werden die Partitionen gelöscht, neu angelegt, mit etwas geänderter Größe, und formatiert. Somit schließe ich aus, dass eventuelle Überbleibsel sich fest beißen können.
Die Installation von einer aktuelle ISO-Datei des Betriebssystems dauert etwa 15 Minuten. Danach installiere ich alle Anwendungsprogramme über ein Script neu, ebenfalls in etwa 15 Minuten. Nun habe in 30 Minuten ein komplettes und nagelneues System.
Fetch
Hier eine neofetch-Ausgabe einer meiner Arbeitscomputer.
- OS: EndeavourOS Linux x86_64
- Host: MS-7A38 2.0
- Kernel: 5.18.3-arch1-1
- Uptime: 1 hour, 30 mins
- Packages: 970 (pacman)
- Shell: bash 5.1.16
- Resolution: 3840×1600
- DE: Xfce 4.16
- WM: Xfwm4
- WM Theme: Default
- Theme: Adwaita [GTK2/3]
- Icons: Adwaita [GTK2/3]
- Terminal: xfce4-terminal
- Terminal Font: Monospace 15
- CPU: AMD Ryzen 7 2700X (16) @ 3.700GHz [16.6°C]
- GPU: NVIDIA GeForce GTX 1050 Ti
- Memory: 1340MiB / 15950MiB
- GPU Driver: NVIDIA 515.48.07
- CPU Usage: 0%
- Disk (/): 11G / 43G (25%)
- Font: Open Sans 12 [GTK2/3]
- Locale: de_DE.UTF-8
Fetch-Anmerkung 1
An diesem Beispiel sieht man sehr deutlich den geringen Stromverbrauch von Linux, denn eine CPU nach 1,5 Stunden auf 16,6 °C ohne Wasserkühlung bei einer Umgebungstemperatur von 21 °C, ist sehr bemerkenswert!
Ebenso der Festplattenspeicherverbrauch von 11 GB mit allen Anwendungsprogrammen, siehe Programmliste unten!
Und genauso erstaunlich, bei 9 Programmen im Autostart, Gesamtverbrauch nur 1.340 MB Arbeitsspeicher! Einige Autostartprogramme sind für ein grafisches System-Monitoring, also ständig aktiv!!!
Fetch-Anmerkung 2
Leider gab es zum Zeitpunkt des notwendigen Kauf dieses AMD-PC’s nur welche mit Nvidia-Grafikkarte. Gern hätte ich darauf verzichtet. Es ist allgemein bekannt und tatsächlich auch mir passiert, dass durch die Treiberpolitik von Nvidia mitunter unnötige Schwierigkeiten im täglichen Betrieb entstehen.
Auch wenn Nvidia jetzt, im Jahre 2022, eine Open-Source-Software für serverseitige Computer zur Verfügung stellt, sind Desktop-PC’s immer noch außen vor. Deswegen halt ich es mit Linus Torvalds: „Nvidia f… you!“.
Programme
Hier meine Programmliste für die ausdrücklich installierten Packete, die aber nicht von anderen als Abhängigkeit benötigt werden. Die Begrifflichkeit „ausdrücklich installiert“ bedeutet, dass die selbstverständliche und notwendige GNU-Umgebung natürlich auch installiert ist, also dd, df, head, tail, env, hostname, time
und so weiter. Ebenso sind gimp
und weitere grafische GNU-Programme installiert.
Liste
- adobe-source-han-sans-cn-fonts 2.004-1
- adobe-source-han-sans-jp-fonts 2.004-1
- adobe-source-han-sans-kr-fonts 2.004-1
- alsa-firmware 1.2.4-2
- alsa-plugins 1:1.2.6-3
- alsa-utils 1.2.7-1
- amd-ucode 20220509.b19cbdc-1
- anydesk-bin 6.1.1-5
- aspell-de 20161207-3
- autoconf 2.71-1
- automake 1.16.5-1
- b43-fwcutter 019-3
- base 2-2
- bison 3.8.2-4
- bleachbit 4.4.2-3
- catfish 4.16.3-2
- cherrytree 0.99.47-1
- chromium 102.0.5005.115-1
- conky 1.12.2-2
- cups-pdf 3.0.1-6
- downgrade 11.2.1-1
- duf 0.8.1-2
- efitools 1.9.2-4
- endeavouros-keyring 20220614-1
- endeavouros-mirrorlist 4.5-1
- eos-apps-info 1.2.5-3
- eos-hooks 1.5-1
- eos-log-tool 1.4.15-1
- eos-packagelist 1.5.2-1
- eos-rankmirrors 2.2.7-1
- eos-update-notifier 1.17-1
- ethtool 1:5.17-1
- exfatprogs 1.1.3-1
- f2fs-tools 1.15.0-1
- firefox-i18n-de 101.0.1-1
- flatpak 1:1.12.7-1
- flex 2.6.4-3
- fsarchiver 0.8.6-1
- galculator 2.1.4-7
- glances 3.2.5-1
- gnu-netcat 0.7.1-8
- gpick 0.2.6-5
- grub-tools 1.6.9-2
- grub2-theme-endeavouros 20220602-1
- gst-plugins-ugly 1.20.2-2
- gthumb 3.12.2-1
- haveged 1.9.18-1
- hdparm 9.63-2
- hplip 1:3.22.4-2
- hwdetect 2022.04-2
- hwinfo 21.81-1
- inetutils 2.2-1
- inkscape-appimage 1.2-1
- ipw2100-fw 1.3-10
- ipw2200-fw 3.1-8
- jfsutils 1.1.15-8
- libreoffice-still 7.2.7-3
- lightdm-slick-greeter 1.5.7-1
- lsscsi 0.32-1
- man-db 2.10.2-1
- man-pages 5.13-1
- mkinitcpio-openswap 0.1.0-3
- nano-syntax-highlighting 2020.10.10-1
- nbd 3.24-1
- ndisc6 1.0.5-1
- netctl 1.28-1
- network-manager-applet 1.28.0-1
- networkmanager-openvpn 1.8.18-2
- nfs-utils 2.6.1-1
- nilfs-utils 2.2.8-2
- nmap 7.92-1
- ntp 4.2.8.p15-1
- nvidia-dkms 515.48.07-2
- nvidia-installer-dkms 3.5-1
- obs-studio 27.2.4-1
- openconnect 1:9.01-1
- pkgconf 1.8.0-1
- pkgfile 21-2
- power-profiles-daemon 0.11.1-1
- pptpclient 1.10.0-2
- pv 1.6.20-2
- rebuild-detector 4.4.1-2
- rp-pppoe 3.15-2
- sg3_utils 1.47-1
- signal-desktop 5.45.1-2
- smartmontools 7.3-1
- sof-firmware 2.1.1-1
- sshfs 3.7.3-1
- thunderbird 91.10.0-1
- tldr 3.1.0-1
- transmission-gtk 3.00-4
- ttf-opensans 1.101-2
- vi 1:070224-5
- virtualbox 6.1.34-4
- vlc 3.0.17.4-5
- webp-thumbnailer r4.d6f4d89-1
- welcome 3.30-1
- xdg-user-dirs-gtk 0.10+9+g5b7efc6-3
- xed 3.2.2-1
- xfce4-appfinder 4.16.1-2
- xfce4-datetime-plugin 0.8.1-1
- xfce4-mount-plugin 1.1.5-1
- xfce4-netload-plugin 1.4.0-1
- xfce4-power-manager 4.16.0-3
- xfce4-pulseaudio-plugin 0.4.3-2
- xfce4-screenshooter 1.9.10-2
- xfce4-session 4.16.0-2
- xfce4-settings 4.16.2-2
- xfce4-taskmanager 1.5.4-1
- xfce4-wavelan-plugin 0.6.3-1
- xfce4-whiskermenu-plugin 2.7.1-1
- xfce4-xkb-plugin 0.8.2-1
- xfdesktop 4.16.0-2
- xfwm4-themes 4.10.0-4
- xl2tpd 1.3.17-1
- xorg-xinput 1.6.3-3
- xorg-xkill 1.0.5-3
Programmliste-Anmerkung 1
Als Quelle für meine Software nutze ich vorzugsweise die regulären Repositorien.
Ganz selten nutze ich leider anderweitige Quellen. Am Beispiel von Inkscape bin ich auf das Appimage angewiesen, da das reguläre Paket nicht alle Funktionen die ich benötige, zur Verfügung stellt. Auch bei Anydesk muss ich auf ein Community-Repositorium, das AUR, zugreifen.
Programmliste-Anmerkung 2
Da die meisten Linux-Anwender nach Distrowatch möglicherweise Debian basierende Distros nutzen, also mit den Paketmanager dpkg
und apt
, hier eine Bemerkung. Für eine Software-Auswahl unter Debian basierenden Distros hilft dazu teilweise tasksel
und Metapackages.
Datensicherung
Die inkrementelle Datensicherung wird mit rsync
auf mindestens drei verschiedenen M.2-Medien geschrieben, alles externe Festplatten, die auch lokal auf mehreren Orten gelagert sind.
Die Sicherung erfolgt jede Woche händisch über den USB3.x-Anschluss und die Medien werden nur für diese eine Minute angeschlossen und gemountet.
Eine andere Vorgehensweise wäre unsicherer, denn
- Externe Sicherungs-Laufwerke sollten nie ständig angeschlossen sein
- Externe Sicherungs-Laufwerke sollten nach der Sicherung komplett vom System getrennt werden
- Externe Sicherungs-Laufwerke sollten nach der Sicherung örtlich entfernt und jeweils seperat aufbewahrt werden
- Ein weiteres externes Laufwerk ist nur alle drei Monate mit zur Sicherung eingebunden
- Zusätzlich wird noch eine NAS, die ebenfalls nur zum Zeitpunkt der Sicherung aktiv und im Netz angebunden ist, alle 6 Monate genutzt
- Selten erstelle ich eine weitere Sicherung, zum Beispiel eine Jahres-Sicherung
Nun könnte man meinen, dass die NAS doch zur täglichen Nutzung da ist, doch mit meiner Methode spare ich Energie und habe trotzdem genug Sicherungen parat.
Alle Sicherungen gehen über individuelle Scripts, so dass wirklich nur das gesichert wird, was für mich wesentlich ist. Außerdem werden die Medien automatisch ins System eingebunden, gereinigt, genauso wird zusätzlich das komplette System gereinigt und nach dem Sichern wieder mit einem deutlichem akustischen Signal ausgeworfen bis power off
. Daher kosten die wöchentlichen Sicherungen je Medium weniger als eine Minute.
Hinweis
Die genannten Konfigurationen sind aber nur für mich und in meiner Situation sinnvoll. Zum Beispiel sind für Firmen mit mehreren Mitarbeitern und PC-Arbeitsplätzen, andere Konfigurationen notwendig.