Posts mit dem Label Linux werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Linux werden angezeigt. Alle Posts anzeigen

Dienstag, 8. Februar 2022

HAProxy liefert Let'sEncrypt Challenge ohne zusätzlichen Webserver

Leider bieten noch nicht alle Hoster eine DNS API, so dass für Let's Encrypt nur die http-01 Challenge in Frage kommt.

Ich nutze häufig HAProxy als Load-Balancer vor einem Setup mit verschiedenen Web-Server Containern. Um auf die Let's Encrypt Challenge Anfrage zu reagieren, bedarf es allerdings eines Web-Servers, der die URL /.well-known/acme-challenge/<Zufallszeichen> ausliefert.

Da die Zertifikate nur alle 2-3 Monate erneuert werden, ist das durchaus eine Aufgabe, die der HAProxy übernehmen könnte - auch wenn Content-Delivery definitiv nicht seine Aufgabe ist.

Mittwoch, 2. Februar 2022

Debian on WD My Cloud Home single-bay (MCH) - part 4 (wrapping things up)

The recent GPL source release by WD brought some improvement to the RTC and Watchdog driver. (The updated part 2 shows how to compile and install the new kernel.)

Initially I was hoping for the RTC to be able to wakeup the device from suspend to RAM. But after looking at the board more closely, there's no backup battery to be found. So even if the device sports a RTC it's useless if it doesn't keep counting when there is no power.

In fact it turns out that the RTC driver is simply writing the current time to some flash, very similar to the FakeHWclock package in most Linux distros.

Together with the "working" RTC driver there comes a now fixed watchdog kernel driver. It turns out, once RTC is working the watchdog loads automatically (even if compiled as module) and starts doing what it's supposed to do. In this case it reboots the box after 120 seconds :D

From reading the source code this is what I came to understand how the watchdog works:

  • Instead of creating a /dev/watchdog device a /proc/watchdog entry is created.
  • As soon as the module loads the initial timer of 120s starts.
 You can issue the following commands to control the watchdog
  • echo disable > /proc/watchdog # disable watchdog
  • echo enable > /proc/watchdog # enable watchdog
  • echo kick > /proc/watchdog # keep watchdog alive - trigger time will be set to 20s!!!
  • echo <msec number> > /proc/watchdog # keep watchdog alive and set trigger time to <msec number>

Obviously this does not conform to any existing watchdog daemons. So one would have to write a script like:

#!/bin/bash
while [ true ] ; do
    echo kick > /proc/watchdog
    sleep 10
done

If  you really want to use a watchdog enabled kernel you can use this .config file.

Apart from the watchdog oddities RAH-66 mentioned an important sysctl setting to mute all syscalls not implemented in the kernel. You would be getting a lagging system otherwise. (the C-library takes care of the syscalls and redirects them appropriately. Especially systemd tries to use the latest kernel syscalls :D )

echo "debug.exception-trace=0" > /etc/sysctl.d/99-disable-syscall-traces.conf

I also finally found out how to access the uBoot arguments. They are written as a tar directly onto the mtd0 partition.

cd /
dd if=/dev/mtd0 bs=1 count=9216 skip=98304 | tar x
cat /tmp/factory/env.txt

In theory we might be able to dd a modified env.txt back onto mtd0 - great potential to mess up the boot ;)

Mittwoch, 7. Juli 2021

Debian on WD My Cloud Home single-bay (MCH) - part 3 (controlling the LED)

 In part 1 Debian Buster was installed via debootstrap. Part 2 discussed how a suitable kernel can be compiled.

Getting the LED to work

Having looked at the wrong places, I finally got the LED control to work. The DTB configures all internal devices and exposes them at /proc/devices/platform.

Aparrently there ar four PWM devices, of which only #3 is enabled. By adjusting the duty cycle one can actually control the LED:

echo 0 > /sys/devices/platform/980070d0.pwm/dutyRate3   # LED off
echo 100 > /sys/devices/platform/980070d0.pwm/dutyRate3 # LED 100% brightness

Samstag, 24. April 2021

ActiveDirectory SSO mit Apache

Sollen Benutzer für Intranet Anwenungen per SSO authentifiziert werden, muss es nicht immer der IIS sein. Dank Kerberos und der flexiblen Authentifizierungsmodule im Apache, klappt auch hier die Anbindung. Häufig ist die Authentifizierung per Kerberos aber nur ein Teil der Anmeldung, Weitere Benutzerinformationen müssen im Fall der Anbindung ans Active Directory zusätzlich per LDAP(S) abgefragt werden. Für beide Zwecke muss im AD ein Proxy-Benutzer eingerichtet sein.

Anlegen eines Active Directory Proxy Benutzers

Sonntag, 17. Januar 2021

Debian on WD My Cloud Home single-bay (MCH) - part 2 (updated to match latest GPL sources 7.15.0)

 In part 1 Debian Buster was installed on the Western Digital My Cloud Home. Unfortunately the default Kernel lacks quite a bit of features. Compiling our own kernel is desirable. Before we getting started to compile away, some base understanding of the device's boot process is required.

Sonntag, 6. September 2020

Debian on WD My Cloud Home single-bay (MCH) - part 1

 It's been almost ten years that I've been using a (few) WD MyBookLive (MBL) as my home server. In the end I used it for pure NAS tasks (Samba) only. The original 3TB became too small a couple of months ago, and I started looking for a larger harddisk.

 At that time the price for an 8TB NAS drive would be about 220€. Hence my surprise when I found an offer of a new WD NAS called My Cloud Home with an 8TB (WD RED CMR drive) for just 199€. Even if I would only use the disk it would still be cheaper - I guess that's the benefit of WD, being a harddrive manufacturer...

Samstag, 14. Oktober 2017

Unbound DNS mit Fritz!Box Hosts füttern (TR-064)

Der Fritz!Box DNS für lokale Clients hat sich ja zugegebenermaßen deutlich verbessert. Früher musste man noch auf Feetz einen dnsmasq laufen haben um lokale Clients auflösen zu können.

Allerdings klappen gelegentlich einge Clients trotzdem nicht, so dass die Aktion im HomeAutomation schonmal ins Leere greift.
Außerdem ist die Filterliste in der Fritzbox auf ca. 500 Einträge beschränkt, was keinen automatisierten AdBlock erlaubt - die Listen sind z.T. deutlich länger.

Schließlich gibt es mit Unbound auch einen schönen kleinen (im Vergleich zu BIND) DNS Cache/Forwarder/Resolver/mini-Server, der innovative Mechanismen wie DNSSEC und QName-Minimization mitbringt.

Dieser Beitrag beschreibt, wie man mit ein bisschen Perl die Host-Liste eienr Fritz!Box abfragt und für Unbound speichert.

Dienstag, 19. September 2017

IPSec VPN mit StrongSwan auf Debian Stretch (auch für Android 6+)

Nachdem ich Jahrelang Racoon aus den IPSec-Tools als IPSec VPN verwendet habe, musste ich mir für die Debian Stretch Installation etwas Neues suchen.

Seit Racoon 0.8.x funktionierte die PrivilegeSeparation nicht unter Linux - d.h. der Prozess kann nicht als non-root Benutzer laufen (Versuche enden immer in einem Segfault).
Daher hatte ich immer ein altes Lenny-Racoon  Paket im Einsatz; unter Sicherheitsaspekten ebenfalls ein Alptraum...

StrongSwan ist einer der Nachfolger des FreeS/WAN-Projekts, wird mit Debian Stretch geliefert und soll Racoon nun ersetzen.

Andriod VPN Dialog

Apache /tmp Ordnerzugriff unter Debian Stretch (Systemd Service Override)

Nach dem Upgrade von Debian Jessie auf Stretch funktionierte plötzkich eine Webanwendung nicht mehr, die sich eine SQLite-Datenbank mit anderen Prozessen im /tmp-Verzeichnis teilt.

PHP gab mir immer nur den nichtsagenden Fehler (conferences lautet der Tabellename, auf den zugegriffen werden soll):

no such table "conferences"


Mittwoch, 28. September 2016

OpenMediaVault 3.0 auf WD MyBook Live

Nachdem ich Debian Jessie auf meinem WD MyBook Live installiert habe, wollte ich das nackte System für etwas sinnvolles einsetzen. Ich hatte schon viel Gutes von OpenMediaVault gehört, da trifft es sich, dass an einer neuen 3er Release auf Debian Jessie Basis gearbeitet wird.

Das System macht einen Schlüsselfertigen Eindruck, es gibt diverse Images zum herunterladen.
Bei der Installation in ein bestehendes Debian muss lediglich eine APT-Sources Datei ergänzt werden:

#/etc/apt/sources.list.d/openmediavault.list
deb http://packages.openmediavault.org/public erasmus main

Leider wurden für die MBL Plattform (PowerPC) noch nicht alle aktuellen Pakete gebaut, so dass ich das kurz nachholen musste.

Debian Jessie auf WD MyBook Live (MBL) - Teil 3: Anpassungen

Nach erfolgter, sauberer Debian Jessie Intallation auf dem WD MyBook Live braucht es noch ein paar Handgriffe zum perfekten Heimserver.

Man sollte sich in jedem Fall im Klaren sein, dass mit 256MB Ram heute kein Blumentopf mehr zu gewinnen ist, aber eine bedachte Paketauswahl macht das System zu einem schnellen und leisen Server. (Ich habe z.B. mini-httpd statt Apache installiert, PHP ist bei mir der größte Speicherfresser, daher nutze ich es sehr sparsam. Eine Datenbank kommt nicht zum Einsatz - die Festplatte soll schließlich die meiste Zeit schlafen.)


Debian Jessie auf WD MyBook Live (MBL) - Teil 2: Bootstrap

Mein Anfangspost zu Jessie auf dem MyBook Live ist deutlich umfangreicher geworden als zunächst gedacht. Daher folgen nun die Schritte für die eigentliche Installation analog zu Wheezy Installation auf dem MBL.

(Ausgehend von einer frischen Installation aus dem Western Digital Original Image.)

Debian Jessie auf WD MyBook Live (MBL) - Teil 1: 4.x Kernel bauen

Nachdem ich nun schon einige Jahre Debian Wheezy auf meinem MyBookLive einsetze, bin ich neulich mal wieder über den Aktualitätsstand der Pakete gestolpert - so dass ich dem Leidensdruck nachgeben musste und auf Debian Jessie updaten musste.

Da uDev und Systemd nicht mit dem 2.6er Kernel zusammenarbeiten, musste ich zuerst einen aktuellen 4er Kernel kompilieren. Es gibt verschiedene Portierungen der 2.6er Patches auf die aktuellen Kernel, ausgehend von der Kernel 4.0 Portierung bis Kernel 4.1 Anpassungen.

Gestern habe ich gesehen, das das LEDE-Projekt (quasi Nachfolger von OpenWRT) ebenfalls seit einigen Monaten die Platform unterstützt. Ursprünglich fanden sich die Patches im GitHub von Christian Lamparter, inzwischen sind sie aber auch im offiziellen LEDE Repository.


Dienstag, 17. Februar 2015

Bridged IPv6/Routed IPv4 an KabelBW/UnityMedia TC7200 (Update 1)

Nicht genug, dass mein Kabel-Internetanbieter mir nur DualStack-Lite anbietet (d.h. keine öffentliche IPv4 Adresse), es ist mir auch nicht erlaubt das beigesteuerte Kabelmodem TC7200 als solches zu verwenden.
Nach jedem Start des Gerätes gibt es eine Remote-Config Datei, die es in einen extrem kastrierten Router-Modus versetzt. Für IPv4 ist der Router ist der Endpunkt des DS-Lite Tunnels. Das NAT findet am anderen Ende des Tunnels im CGN Gateway statt. Somit sind sämtliche Port-Weiterleitungsfunktionen nicht zu gebrauchen.

Nun könnte man die IPv6 Firewall ausschalten und jedes Gerät im LAN mit seiner IPv6 Adresse ansprechen, aber das könnten dann auch die bösen Buben...
Ein zwischengeschalteter Router würde eine fein abstimmbare Firewall mit sich bringen, aber dieser Ansatz schlägt fehl, weil der TC7200 keine Prefix-Delegation beherrscht.

Nun möchte ich mich hier nicht über die Unzulänglichkeiten des TC7200 aufregen (grrrrrrr!!!!), sondern einen Weg aufzeigen, wie mit einem zusätzlichen OpenWRT Router doch noch eine zufriedenstellende Lösung gebastelt werden kann.

Donnerstag, 2. Oktober 2014

Debian Wheezy auf WD MyBook Live (MBL)

Update: Ich habe inzwischen Debian Jessie auf dem MBL am laufen.

Ich nutze seit über drei Jahren ein MyBook Live 3TB von Western Digital. Im Gegensatz zu anderen NAS Systemen mit (alten) ARM Prozessoren und schwacher S-ATA Anbindung schaffte das MBL als eines der ersten nicht-Atom Plattformen fast 100MBit/s (siehe Review).
Es basiert auf einer PowerPC Architektur (APM82181), läuft mit 800MHz und besitzt 256MB Speicher und ist damit ein wenig schwächer als mein alter AppleTV1. Leider fehlt ein USB-Port, so dass direkte Erweiterungen nicht möglich sind.

Lange  schon schwebt mir vor, das System als Home Server zu verwenden, da ein vollwertiges Debian darauf läuft. Leider ist ein Update der installierten Lenny Version nicht möglich, da es im Upgrade Package keinen angepassten Kernel gibt und das neuere udev nicht mit dem installierten Kernel funktioniert. Nachdem ich mich so bereits aus meinem System ausgesperrt habe, half mir nur die un-Brick Prozedur die hier beschrieben ist. Den ganzen DLNA Kram benötige ich auf dem System nicht, da mein XBMC da allemal besser ist ;). Wichtig ist mir ein stromsparendes, leises System.

Aufgrund der hervorragenden Arbeit von Alex Ryzhov ist es mir gelungen, "mal eben" ein aktuelles Debian Wheezy zu installieren.


Freitag, 26. September 2014

ShellShock Hype und was man dagegen tun kann

Leider ist die Berichterstattung über ShellShock nicht mehr sachlich, sondern wird immer reißerischer. Insbesondere der Vergleich mit Heartbleed ist wohl unangebracht. Schließlich handelt es sich hierbei mehr oder weniger um ein Feature von BASH.

Mittwoch, 14. Mai 2014

Email Archivierung - Teil 2 (Updated: BCC bleiben unsichtbar)

Der erste Teil meines Beitrags bezieht sich auf die Herausforderung, jede Mail zwecks Archivierung möglichst originalgetreu aus dem Mailverkehr auszuschleusen. Mittels dovecot und dessen sieve-Plugin gelingt auch eine halbwegs strukturierte Ablage der Mails.

Nachdem ich eine Weile auf diese Art und Weise Mails gesammelt habe, wurde jedoch schnell klar, dass von einer gesetzlich geforderten Archivierung keine Rede sein kann. Mindestens eine Verschlüsselung bzw. Signierung wäre noch erforderlich - und natürlich eine vernünftige Suche.

Beim Thema Email-Archivierung arbeiten viele Anbieter mit einem teils unpräzisen Bedrohungspotenzial, von dem sich ein Geschäftsführer oder Teilbereichverantwortlicher freizukaufen hofft. Während durchaus gesetzliche Vorgaben zu erfüllen sind, soll ein Archiv aber nicht nur eine Last sein, sondern vorrangig den Benutzern auch eine Hilfe!

Da ich grundsätzlich den Marketingaussagen über Software misstraue und wissen möchte, wie etwas funktioniert, habe ich mich im OpenSource Bereich nach einer passenden Lösung umgeschaut.
Ein wichtiges Hilfsmittel dazu war das Linux Magazin, insbesondere dessen Ausgabe 01/2013, die inzwischen auch Online einsehbar ist.

Bereits seit ein paar Jahren verfolge ich die Entwicklung von (Open)Benno Mailarchiv und MailArchiva. Neben der zunehmend kommerziellen Ausrichtung missfällt mir die Komplexität, die diese Lösungen mit sich bringen.

Ich habe mich schließlich für piler entschieden und möchte im folgenden ein wenig meine Begeisterung teilen.

Sonntag, 11. Mai 2014

Email Archivierung - Teil 1

Eigentlich gehört Email Archivierung zur Pflicht jedes Unternehmens, sofern Umsatzsteuer-relevante Geschäftsanbahnungen auf diesem Wege stattfinden. Bisher habe ich immer für die relevanten Mailkonten ein entsprechendes Outlook Archiv-PST als Ausrede für Konformität benutzt.

Eine vernünftige Lösung wäre schon schön...

Sonntag, 7. April 2013

pimp my AppleTV (1st Gen)

Seit ziemlich genau fünf Jahren versieht ein AppleTV der ersten Generation bei mir im Wohnzimmer seinen Dienst als Heimserver. Im Vergleich zu einem NAS ermöglicht mir die potentere (inzwischen nicht mehr zeitgemäße) CPU, Filmmitschnitte zu encoden. Wie ich finde, durchaus eine Alternative zu den NetTops - nur der Speicher ist mit 256MB unzeitgemäß winzig.

Auch preislich ist der aTV1 attraktiv, mein Gerät war ein USA Eigenimport für umgerechnet 160EUR. Inwischen sind Gebrauchtgeräte bei eBay deutlich unter diesem Preis zu bekommen.

Die initiale Installation von Linux ist inzwischen dank dem aTV-USB-Creator kein Hexenwerk mehr. Anfang 2013 habe ich aus thermischen und akustischen (Laufgeräusch) Gründen die Festplatte gegen ein eine IDE-SSD augetauscht und dazu das perfekte RecoveryTool v1.0 von der ursprünglichen Entwicklerseite des aTV-Bootloader genutzt. Hier gibt es auch noch einige wertvolle Tipps, die den aTV1 betreffen.

Samstag, 16. Februar 2013