Beiträge zu “debian”

Installation Docker auf Debian 9

Ziel war es einen Docker Dienst auf einem öffentlichen Server zu installieren um zukünftig über den Mechanismus der Container einfacher verschiedene Dienste zu fahren die sich mit Ihren Abhängigkeiten nicht in die Quere kommen sollen.

Die bisherigen Beschreibungen sahen allesamt recht einfach aus. Zusätzlich wollte ich noch vorhandene Sicherheitsempfehlungen nachgehen und bin auf Docker Bench gestoßen das wohl die gängigen Empfehlungen im System prüft.

Eigentlich lief alles nach Doku. Dies sind meine Notizen ohne Anspruch auf Korrektheit.

Die Basisbeschreibung stammt von hier

   sudo apt-get update
   sudo apt-get install apt-transport-https ca-certificates  curl gnupg2 software-properties-common
   curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
   sudo apt-key fingerprint 0EBFCD88
       pub   rsa4096 2017-02-22 [SCEA]
             9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
       uid        [ unbekannt ] Docker Release (CE deb) <docker@docker.com>
       sub   rsa4096 2017-02-22 [S]
   sudo add-apt-repository \
      "deb [arch=amd64] https://download.docker.com/linux/debian \
      $(lsb_release -cs) \
      stable"
   sudo apt-get update
   sudo apt-get install docker-ce
   sudo systemctl status docker
   sudo usermod -aG docker meinuser
   id -nG
      meinuser docker ..
   docker run hello-world
       Hello from Docker!
       This message shows that your installation appears to be working correctly.
  sudo systemctl enable docker
     Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
     Executing: /lib/systemd/systemd-sysv-install enable docker

Damit war Docker installiert, das Hello World Beispiel erfolgreich gestartet und der Dienst sollte sich automatisch starten.

Jetzt der Sicherheitsscheck auf Basis dieser Beschreibung

git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security/
./docker-bench-security.sh

Der Check selbst brachte das gleiche Ergebnis wie in dem Dokument und bis auf die separate Partition konnte ich allen Empfehlungen folgen

Die Überwachung der Dockerverzeichnisse

   sudo apt-get install auditd
   vi /etc/audit/rules.d/audit.rules
      -w /usr/bin/docker -p wa
      -w /var/lib/docker -p wa
      -w /etc/docker -p wa
      -w /lib/systemd/system/docker.service -p wa
      -w /lib/systemd/system/docker.socket -p wa
      -w /etc/default/docker -p wa
      -w /etc/docker/daemon.json -p wa
      -w /usr/bin/docker-containerd -p wa
      -w /usr/bin/docker-runc -p wa
   sudo systemctl restart auditd

Die Beschränkungen des Docker Daemons

   sudo vi /etc/docker/daemon.json

   {
       "icc": false,
       "userns-remap": "default",
       "log-driver": "syslog",
       "disable-legacy-registry": true,
       "live-restore": true,
       "userland-proxy": false,
       "no-new-privileges": true
   }

Docker Trust

  echo "DOCKER_CONTENT_TRUST=1" | sudo tee -a /etc/environment

Dann blieben noch zwei Warnungen übrig.

  ./docker-bench-security.sh  |  grep WARN
  [WARN] 1.1  - Ensure a separate partition for containers has been created
  [WARN] 2.11 - Ensure that authorization for Docker client commands is enabled

Die Partition kann ich aktuell nicht separieren und die andere Warnung kann man wohl erst mal ignorieren kann da man keinen externen Zugriff erlaubt.

  The audit will continue to flag this test as a WARN, though access to the default local-only Docker socket is protected by requiring membership in the docker group so this can be safely ignored.
5.9.18
Weitere Beiträge zu: debian   docker  

Wake on Lan über VLANs hinweg

Ich wollte einen Backup Server der in einem separaten VLAN steht über den Wake on LAN Mechanismus wecken. WOL an sich geht den darüber wird der Server jede Nach von der pfSense Firewall geweckt.

Nur leider klappte es nicht von einem Debian Rechner in einem anderen VLAN.

Eigentlich sollte das gehen

  wakeonlan -i 192.168.xx.255 00:xx:yy:zz:0c

Auch etherwake ging leider nicht durch

  etherwake -i eth1 00:xx:yy:zz:0c -b 192.168.xx.255

Erst mit einem statischen ARP Eintrag in der DHCO Konfiguratin der pfsense firewall ging es dann mit diesem Befehl

  wakeonlan -i 192.168.xx.4 00:xx:yy:zz:0c

Ich habe die Logik dafür nur teilweise verstanden also: Use At Your Own asterisk

30.5.18
Weitere Beiträge zu: pfSense   debian   WOL  

Einen Freeradius Server auf Debian aufsetzen

Einen Radius Server kann man auf Debian/Raspian recht einfach aufsetzen. Warum man das macht?

Ich möchte zukünftig einige Dienste (WLAN/OpenVPN) nicht mehr mit einem sogenannten Pre Shared Key (PSK) absichern sondern durch persönliche Kennwörter.

Wir haben hier jetzt demnächst vier Personen im Haushalt und da wäre mir etwas mehr “personalisierte” Sicherheit lieber. Dazu aber mehr wenn es so weit ist.

Ich wollte das schon länger angehen aber die Beschreibungen waren mir immer zu aufwendig (mysql, ldap, AD). In diesem Video habe ich gesehen das es auch ganz einfach geht und das man die Benutzer auch in einer einfachen Textdatei speichern kann. Bei vier Personen ist das ok.

Hier die Schritte:

apt-get update
apt-get install freeradius -y
vi /etc/freeradius/clients.conf

     client 0.0.0.0/0 {
     secret = schluesselfuerberechtigteclients
     shortname = any
     }

und etwas weiter unten den Eintrag für localhost löschen

Der Schlüssel ist der Schlüssel mit dem sich zukünftig Geräte die einen Login prüfen wollen (AP, Switch) beim Radius Server anmelden. Ich bin da recht “freizügig”.

Die Nutzer kommen in eine Textdatei:

vi /etc/freeradius/users
    hbauer Cleartext-password :="geheimeskennwort"

Ja ich weiß Klartext Kennwörter sind doof und das geht anders aber wenn jemand auf diesem Rechner toben kann habe ich ein anderes Problem.

Zum debuggen startet man am Anfang den Server am besten freeradius -X um die Fehlermeldungen schön zu sehen.

 freeradius -X

Testen kann man dann schön mit

radtest hbauer geheimeskennwort dein.radius.server 0 schluesselfuerberechtigteclients
Sending Access-Request of id 65 to 127.0.0.1 port 1812
User-Name = "hbauer"
User-Password = "geheimeskennwort"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=65, length=20

Danach kann man der Server “richtig starten”

service freeradius restart
18.7.17
Weitere Beiträge zu: raspbian   debian   radius  

Grub 2 Bootreihenfolge ändern

Bei Linux wird im allgemeinen der Grub Bootmanager verwendet um nach dem Start zu entscheiden welches der vorhandenen Betriebssysteme gebootet wird.

Dabei darf man nicht in der Konfigurationsdatei selbst Änderungen durchführen sondern man editiert eine Vorlage und diese wird von einem Programm (update-grub) genommen und darauf mit anderen Informationen die eigentliche Bootinformationen erstellt.

Seit einiger Zeit ist es nicht mehr ganz so einfach. Früher zählte man einfach die Einträge von 0 hoch und trug dann diese Zahl als Default ein. Heute gibt es Untermenüs und dann muss man zuerst den Eintrag des Untermenüs und dann die Zahl des Eintrages in dem Untermenü angeben.

vi /etc/default/grub
 GRUB_DEFAULT="1>3"

Wenn die Einträge so aussehen:

10.11.15
Weitere Beiträge zu: debian   grub  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License