BenBE's humble thoughts Thoughts the world doesn't need yet …

09.11.2012

Kaputte Krypto beim Indianer

Filed under: Server — Schlagwörter: , , , , , , , — BenBE @ 01:36:57

Eigentlich wollte ich einzig mal das SSL-Deployment auf meinem Server etwas aufräumen und in diesem Zuge auch den Blog mal vernünftig auf SSL ziehen, aber aus der einfachen Aufgabe, 19 Zertifikate auf die passenden Subdomains zu heften wurde dann doch eine etwas umfangreicher Aufgabe. Nicht etwa wegen der Vielzahl an Subdomains (jede Subdomain musste für sowohl IPv4 als auch IPv6 konfiguriert werden), sondern wegen einem kleinen nervigen Bug in der kaputten Krypto. Ursache war dabei aber nicht etwa, dass er nicht verschlüsselt hätte, oder das falsche Zertifikat gezeigt hätte – nunja, damit rechnet man ja noch. Der Fehler war viel subtiler: Beim Aufruf von sub.domain.tld lieferte der Server das richtige Zertifikat, aber antwortete mit der Website für domain.tld. Also: Happy debugging! (more…)

Flattr this!

01.08.2012

Absender-Adressen erzwingen

Filed under: Server — Schlagwörter: , — BenBE @ 22:46:49

Hat man einen Server mit mehreren IP-Adressen, gibt es gewisse Situationen, in denen man ausgehende Verbindungen gezielt routen möchte. Hat man da nämlich einen Mail-Server am Laufen, der auf allen Adressen annehmen, aber nur unter einer bestimmten Adresse versenden soll, artet es leicht in Gefrickel aus. Aber es geht einfacher. (more…)

Flattr this!

28.03.2012

DKIM und die Leere aus veralteter Software

Filed under: Server — Schlagwörter: , , , , , , — BenBE @ 00:06:42

Nein, die Überschrift hat keinen Tippfehler; zumindest, wenn es um die Leere in den Postfächern auf dem Server geht. Ungefähr seit etwa 3 Monaten wollten nämlich sporadisch einige Mails nicht mehr ankommen. Dies war insbesondere auffällig bei Mails, die von GoogleMail aus gesendet wurden: Diese wollten nämlich einfach nicht ankommen. (more…)

Flattr this!

18.02.2012

Lautstärkenbegrenzung für DNS-Queries

Filed under: Server — Schlagwörter: , , , — BenBE @ 15:27:06

Nachdem seit einiger Zeit versucht wurde, meinen Server mittels gefälschter DNS-Queries als Teil eines DNS-Amplification-DDoS zu missbrauchen, gab es bereits vor einigen Wochen ein paar kleine Änderungen in meiner Firewall, um die Bandbreite, die mit solchen Angriffen erreicht werden kann, stark zu reduzieren. Und während wie man im DNS-Graphen sehen kann, auch bereits gut wirkte, so war dennoch dieses unnötige Grundrauschen da. Um auch dieses zu entfernen, gab es eine weitere Ergänzung in der Firewall. (more…)

Flattr this!

29.01.2012

Zu faul zum Suchen

Filed under: Server — Schlagwörter: , , , , , , , — BenBE @ 02:07:54

Hätte ich nicht schon wieder zwei Abende damit zugebracht, die Ursache für einen Fehler bei einem Joomla-Update zu suchen, würde ich es ja unter der Kategorie „Running Gag“ verbuchen, dass die Joomla-Entwickler jedes Mal auf’s Neue sich in der Kreativität ihrer Bugs übertreffen. War es beim einem Komponenten-Update noch das Unvermögen konsistente Datenstände zu halten, so ist es in Sachen Software-Update die Abwärtskompatibilität zu seinen eigenen, früheren Versionen. (more…)

Flattr this!

03.09.2011

IMAP und das virtuelle Dateisystem

Filed under: Server — Schlagwörter: , , , , , , , , , — BenBE @ 15:44:55

Bereits seit einiger Zeit wollten sich mein Courier-IMAP(S)-Server und die Kunden-Mailclients nicht so recht vertragen. Und auch die Fehlermeldung der Mailclients war nicht so recht schlüssig, denn der Fehler trat zuerst bei einem Update von Courier 4.4 auf 4.8 auf, war dort aber im Wesentlichen durch einen Programmierfehler bedingt. Da dieser aber eigentlich in der 4.9 bereits lang behoben sein sollte, nun ja. Blieb also als einfachster Workaround ein Hold des Paketes in der alten Software-Version. (more…)

Flattr this!

Technische Notwendigkeit

Filed under: Server — Schlagwörter: , , , , , — BenBE @ 02:50:29

Ich habe mir da einen neuen Server geholt und eine der Sachen war nun, dass abzusehen war, dass mehrere der zu installierenden Dienste sich ins Gehege kommen würden. Also grob gesagt: Es gab 3 Dienste, die liebend gerne auf Port 53 laufen wollen. Nun sind IPv4-Adressen knapp und der neue Hoster achtet etwas strenger drauf, wofür man die haben möchte. Da ich aber wenig Lust auf irgendwelche Sonderkonfigurationen hatte, um jeden Service auf einem andere Port zu betreiben und am Ende alles irgendwie zu verdrahten, habe ich mir also überlegt:

  • Auf der Haupt-IP des Servers wird der gesamte Web-Krams, sowie Public-Services laufen. Hier läuft auch der erste der konfliktierenden Services: Ein offener DNS-Recursor, den jedermann als DNS-Server in seinem Router eintragen kann. Soweit unspannend also.
  • Die erste spannende Geschichte läuft nun auf der ersten Zusatz-IP. Diese beherbergt (zur Zeit) einen autoritiven DNS-Server, der auf eine Reihe von meinen eigenen Zonen autoritiv antwortet, was u.a. meine Blacklist für Client-IPs betrifft, die über meinen Mailserver relayn wollten.
  • Und bei der zweiten zusätzlichen IP schließlich laufen eine Reihe von VPN-Dienste, die in Kooperation mit dem Freifunk Chemnitz bereitgestellt werden.

Man geht also beim Provider in das Webinterface und bestellt über das verfügbare Interface die IPs. Als Teil dieser Prozedur wird dann auch bereits nach einer Begründung gefragt. Was aber noch nicht verraten wird, ist die Angabe, um welches der zahlreichen RIPE-Dokumente es sich bei den erwähnten Vergabe-Richtlinien handelt, anhand derer die Vergabe entschieden wird. (more…)

Flattr this!

24.03.2011

Spielen mit IPv6

Filed under: Server — Schlagwörter: , , — BenBE @ 13:49:37

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/benny-baumann.de/blog/htdocs/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/benny-baumann.de/blog/htdocs/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Möchte man gerne wissen, welche Rechner es in seinem lokalen Netz gibt, musste man hierfür früher noch einen Portscanner einsetzen und aufwändig danach suchen lassen. Dank IPv6 geht das aber inzwischen sehr einfach, indem man die Rechner einfach fragt:

ping6 -c 2 -I eth0 ff02::1 | grep 64 | cut '-d ' -f 4 | sort -g | uniq | sed -e 's/:$//g'

Der erste Teil ist hierbei der wichtigste, da er die ganze Arbeit macht. Alles andere ist lediglich, damit’s schön aussieht. Also schauen wir einmal im Detail auf den Befehl:

Wie zu vermuten, sendet ping6 genau zwei Pings in das Netzwerk. Da wir – und hier liegt der Trick – aber auf einer Multicast-Adresse pingen, müssen wir explizit angeben, auf welchem Interface wir diesen senden möchten. Soweit noch recht einfach. Nun könnte man aber meinen, warum steht da -c 2, wenn doch ein Ping auch ausreicht? Nunja: ping6 würde dann nach dem ersten empfangenen Host bereits aufhören und uns die weiteren nicht mehr liefern. Also einfach noch nen zweiten senden und die Duplikate mit einsammeln; die gehören nämlich auch zur Antwort …

Ungünstigerweise enthält die Ausgabe des Ping-Befehls an verschiedenen Stellen die IP-Adresse, u.a. auch da, wo wir sie nicht brauchen. Also mit grep uns alle unnötigen Fundstellen wegschneiden. Enthält die IPv6-Link-Local-Adresse zufällig auch die Zeichenfolge „64“ kann man im grep auch einfach nach ttl= suchen.

Nun ein wenig Magie: Wir wollen in unserer Liste nur die eigentlichen IPs stehen haben. Da diese Doppelpunkte auch selber enthalten, wäre es zu aufwändig nach diesen zu teilen; stattdessen teilen wir nach Leerzeichen, da deren Anzahl konstant ist. Dies hat jedoch den Nachteil, dass wir den abschließenden Doppelpunkt hinter der IP noch filtern müssen. Dazu aber gleich mehr.

Denn erstmal sortieren wir unsere so erhaltene Liste alphabetisch und numerisch,, was mit sort recht einfach gemacht ist. Anschließend filtern wir jegliche Duplikate und erhalten schon eine recht ansehnliche Liste, die wir im letzten Schritt nur noch von den Doppelpunkten befreien müssen.

Und hier kommt uns der Stream-Editor sed ganz gelegen, da dies mit Hilfe eines kurzen regulären Ausdrucks erledigt werden kann. Hierzu brauch man einfach nur nach Doppelpunkten am Zeilenende suchen und diese entfernen. Global angewendet und unsere Liste von Computern im Netzwerk ist fertig.

Flattr this!

25.01.2011

SVN und seine Eimer-Brigaden

Filed under: Server — Schlagwörter: , , , , , — BenBE @ 22:06:29

Die wohl mysteriöseste Fehlermeldung, die mir beim Apache bisher untergekommen ist (abgesehen von nichtssagenden SegFault-Meldungen, wenn plötzlicher Kindstot auftritt, liefert das SVN-Modul, in Verbindung mit WebDAV. Glaubt ihr nicht? (more…)

Flattr this!

22.01.2011

Primär- und Sekundär-IPs unter Linux setzen

Filed under: Server — Schlagwörter: , , , , — BenBE @ 06:24:22

Wenn man unter Linux einen Server mit mehren IP-Adressen hat, ist es wichtig, dass man für bestimmte Anwendungen, wie etwa den Mailserver die korrekte, primäre IP einstellt, um sicherzustellen, dass Mechanismen wie SPF korrekt funktionieren und der Server nicht aus Versehen als Spamschleuder gebrandmarkt wird. (more…)

Flattr this!

« Newer PostsOlder Posts »

Powered by WordPress