Haproxy static build from source zum Absichern alter Server

Haproxy ist ein schönes Stück Software, wenn man einen Web Dienst absichern möchte.
Als Admin habe ich gelegentlich die Aufgabe, uralte Sachen am Leben zu halten.
Neulich gab es die Situation, dass ein http Server auf einem System hinter SSL gestellt werden sollte, auf dem eine zu alte openssl Version installiert ist, um die normalen public builds von haproxy zu verwenden.
haproxy
Die Lösung heißt static build, d.h. das binary bringt seine libraries komplett fest einkompiliert mit. Haproxy unterstützt das glücklicherweise sehr schön. Dennoch ist es eine Aufgabe, die libraries zusammenzusuchen und zu bauen. Eine Recherche im Netz fand dieses https://gist.github.com/rampageX/690a45b23c08bc2b6d267b79a406acb4 und darin verlinkt dieses https://github.com/askholme/static-haproxy - es ist ein paar Jahre alt und funktionierte nicht mehr as-is, aber gab mir einen guten Start.
Um einen funktionierenden build zu erhalten, musste ich die mirror-URLs der libs anpassen, Versionen aktualisieren, build target name ändern usw.
Noch mehr Zeit hätte ich mir sparen können, hätte ich mir die vier existierenden Forks davon angeschaut, einer ist gut und hat erledigt, was ich selbst gemacht hatte.

Am Ende hatte ich dann ein haproxy binary, das anstandslos auf dem alten Zielsystem startete und einen alten nginx vor der Welt abschottete - sslabs gibt dem Setup ein A und listet keine vulnerabilities. Die alte Maschine wird natürlich trotzdem asap durch ein supported modernes Linux System ersetzt.

H2
H3
H4
3 columns
2 columns
1 column
8 Comments