Ich hatte ein „komisches“ Problem nach dem Aufbau einer IPsec Verbindung. Die Verbindung klappt, ping (ICMP) ging, SSH Login zum Server auch.
Continue reading IPsec Verbindung bricht periodisch abbind: refused notify from non-master
Auf einem bind9 SLAVE Server erscheint nach eienm restart des anmed Daemons die Meldung:
general: info: zone example.com/IN/external-zone: refused notify from non-master: 1.2.3.4
Nur: Die Angegebene IP ist die IP des SLAVE Servers selbst und dieser ist halt nun Mal kein MASTER. 😉
Continue reading bind: refused notify from non-masterrobots.txt im HTTP Header
Da in der robots.txt häufig Applikationsinterne Pfade stehen, die der Webmaster vor den Suchmaschinen „verstecken“ möchte, kann das teils von security auditoren bemängelt werden.
In diesem Fall hat man die Möglichkeit mittels dem X-Robots-Tag die ensprechenden Anweisungen für die Crawler der Suchmaschinen auch im HTTP Header der betreffenden URLs auszugeben.
Continue reading robots.txt im HTTP HeaderSMTP-Sinkhole mit postfix smtp-sink
Beim Testen von Applikationen oder beispielsweise Lasttests will man verhindern, dass irgendwelche Mails an Benutzer raus gehen.
Um das zu erreichen bietet postfix das kleine Tool smtp-sink an. Hier werden E-Mails vom MTA normal angenommen, aber statt tatsächlich verschickt, dann einfach in eine Datei geschrieben.
Continue reading SMTP-Sinkhole mit postfix smtp-sinkHTTP Header mit tcpdump anzeigen
Wenn man den Web-Traffic zwischen einem Reverse Proxy (z.B. HAProxy) und einem Web Server (z.B. apache) zwecks Problemdiagnose analysieren will geht das nur mit tcpdump auf dem Web Server, da im Browser die HTTP Header, welche vom Reverse Proxy kommen nicht angezeigt werden.
Continue reading HTTP Header mit tcpdump anzeigentomcat systemd service
Einen Java Applikationsserver wie tomcat, so scheint es, ist nicht einfach in eine systemd Service Unit zu packen.
Der Grund dafür ist, dass es in den meisten Tutorials und HowTos falsch gemacht wird.
Hier ein stabil funktionierendes template für einen tomcat systemd Service.
nginx reverse-proxy per source IP
Es gibt Situationen da möchte man in einem nginx reverse-proxy die Requests je nach Client IP zu einem anderen Server umleiten. Nützlich ist das beispielsweise bei einer Server Migration, wo man nur eine handvoll interner IPs zuerst auf den neuen Server proxy-en kann und wenn alles läuft dann alle.
Die Option mit „if Statements“ sollte man dabei möglichst nicht verwenden. Und es gibt auch eine viel elegantere Option.
Continue reading nginx reverse-proxy per source IPJSON output in ansible verwenden
Hat man in einem Task JSON als Ausgabe (etwa bei einer REST-API Abfrage) könnte man auf die Werte gleich in ansible Zugreifen, welches ebenfalls JSON für die Variablen verwendet.
Zuvor muss die Ausgabe aber in JSON umgewandelt werden. Ansible stellt dazu den Filter to_json
zur Verfügung.
Ansible: Globale Variablen
Normalerweise kann man in ansible nur auf die Variablen des gerade ausführenden hosts zugreifen. Ein Konzept von „Globalen Variablen“, welche im ganzen Playbook gültig sind gibt es nicht.
Man kann sich jedoch behelfen, in dem man einfach die Variablen eines bestimmten Hosts zugreift.
Umgebungsvariablen eines Benutzers in systemd unit übernehmen
Hat man ein systemd unit/service file, welches Bestimmte Umgebungs Variablen des Benutzers übernehmen soll, kann man das entweder mit Environment="[…]"
direktiven machen, oder mit EnvironmentFile=/pfad/zur/datei
auf eine Datei referenzieren.
Noch einfacher ist es hingegen automatisch die Umgebungsvariablen des Benutzers (die etwa von .bash_profile oder .bashrc kommen) einzulesen.
Continue reading Umgebungsvariablen eines Benutzers in systemd unit übernehmen