Monthly Archive for Juli, 2006

Trainingsverwaltung für alle!

Es gibt sicher dutzende Anbieter von Online-Trainingsverwaltungen. Wir haben uns trotzdem entschlossen, eine eigene Trainingsverwaltung für unsere Benutzer zu veröffentlichen. Vorteil: Mit dem selben Benutzeraccount wie im Forum kann die Trainingsverwaltung sofort benutzt werden. Selbstredend, dass die Trainingsverwaltung kostenlos für alle ist.

Die Trainingsverwaltung wird in den nächsten Tagen als Preview-Version auf Rennrad-News.de online gehen.

Die Features:

  • Eingabe aller Trainingseinheiten mit folgenden Details
    • Sportart )Rad, Laufen, Kraftsport usw.)
    • Trainingsart (GA, Wettkampf, zum Spaß usw.)
    • Dauer, Strecke, Höhenmeter, Maximalgeschwindigkeit
    • Puls (Durchschnitt, Maximum), Gewicht, Trittfrequenz (Durchschnitt)
    • Benutztes Fahrrad (beliebig viele Fahrräder können verwaltet werden)
    • Stimmung (gut, mittelmäßig, schlecht usw.)
    • Freies Feld für Notizen (z. B. gefahrene Strecke, Mitfahrer, Vorkommnisse usw.)
  • Abruf aller Einheiten
  • Auswertung, jährlich, monatlich und gesamt
  • grafische Darstellung der Trainingsumfänge (Jahres- und Monatsgrafiken)
  • Tagebuch: es können für jeden Tag Gewicht, Ruhepuls, Stimmung und beliebige Notizen hinterlegt werden
  • Öffentliche Einträge: Einträge können nach Belieben öffentlich gemacht werden, so dass andere sehen können, wieviel du trainierst

Es sind viele weitere Features geplant, unter anderem ein ausführlicher Statistikteil, Export der Daten nach Excel, weitere Auswertungen, Vergleich von Zeiträumen uvm.

Wir hoffen da auch auf viele Vorschläge von den Benutzern!

Das Preview der Trainingsverwaltung wird voraussichtlich am Montag auf Rennrad-News.de gestartet. Die Ausgabe für MTB-News.de wird sicher bald folgen.

Ich habs doch gleich gesagt…

aufgrund der aktuellen Lage im Nahen Osten bitten
wir Sie, unsere Pressemitteilung von letzter Woche
“Israel mit dem Bike” eventuell für einen späteren
Zeitpunkt auf die Seite zu legen.

Der Zeitpunkt zum Versand dieser Pressemitteilung
war denkbar schlecht gewählt. Wir bitten um
Entschuldigung.

Die ursprüngliche Mitteilung gibt es hier

Perfektes Timing – Bikeurlaub in Israel!

Ende der Woche habe ich eine Pressmittelung mit der Bitte um Veröffentlichung erhalten:

Anbei erhalten Sie die Pressemitteilung zum Thema “Israel mit dem Bike”. Eine Faszinierende Tour für alle, die ein Abenteuer suchen.

Abenteuer? Da bin ich mir sicher! Aber zum Biken nach Israel – ist das aktuell nicht irgendwie gefährlich?

Der in Israel geborene Tour-Guide spricht übrigens neben Englisch sogar etwas Deutsch und kann darüber hinaus auf mehr als 15 Jahre MTB-Erfahrung im nahen Osten zurückblicken. Dies lässt auf eine professionelle Organisation schließen und ist zudem ein echtes Sicherheitsargument. Denn unsichere Gebiete werden ortskundig umfahren.

Na dann Happy Biking!

SSH Brute Force Attacke: Schreck am Morgen

Vorgestern früh lag eine Benachrichtigungsmail im Postfach: Bei unserem Hoster in Dallas hatte man festgestellt, dass von einer unserer Maschinen eventuell unerlaubter Traffic in großen Mengen ausgeht. Es handelte sich dabei vermutlich um sogenannte SSH-Brute-Force-Attacken.

Mit einer SSH-Brute-Force-Attacke versucht man Zugang zu fremden Rechnern zu erhalten. Auf fast allen Unix-ähnlichen Betriebssystemen kann man sich per SSH (Secure Shell) über das Netzwerk anmelden – vorausgesetzt, man

  1. hat einen Benutzeraccount und kennt das dazugehörige Password oder
  2. hat einen Benutzeraccount und hat einen Private-/Public-Keypaar und den Public-Key auf der entsprechenden Maschine hinterlegt.

Die zweite Möglichkeit ist eine ziemlich geniale und auch sichere Sache – hierüber dürfte es so gut wie unmöglich sein, Zugang zu einer Maschine zu erhalten, wenn man nicht im Besitz des Private-Keys ist.

Bei der ersten Variante kann man durch Probieren eventuell Zugang erlangen. Die Wahrscheinlichkeit ist bei gut gewählten Passwörtern sehr gering aber eben nicht null. Außerdem gibt es tausende Maschinen im Netz, welche Accounts mit entweder schlechten oder gar keinen Passwörtern haben.

Genau hier setzt SSH-Brute-Force an: Man baut sich ein Tool, welches automatisiert Maschinen mit vielen Anmeldeversuchen in kurzen Zeiträumen überzieht. Hierbei werden meist weit verbreitete Benutzernamen (“admin”, “root”, amerikanische Vornamen o. ä.) in Verbindung mit Wörterbucheinträgen als Passwörter verwendet. Wenn diese Attacken erfolgreich sein sollen, muss man auf schiere Masse setzen: Soviele Versuche an vielen verschiedenen Maschinen in kürzestmöglicher Zeit wie nur möglich.

Also versucht man, die angesprochenen Tools vorzugsweise auf gut angebundenen Server zu platzieren. Webserver in einem Datacenter zum Beispiel.

Man hatte also die Vermutung, dass von einer unserer Maschinen in großem Stil SSH-Brute-Force-Attacken gefahren werden – das Tool könnte eventuell über eine Sicherheitslücke in alten PHP-Skripten auf die Maschine gekommen sein.

Ich war etwas verwundert – meiner Meinung nach hätte ich so etwas durchaus mitbekommen. Nach weiteren Nachfragen nannte man uns eine IP-Adresse eines vermutlich angegriffenen Rechners. Plötzlich fiel es wie Schuppen von den Augen: Es handelte sich dabei um einen von unseren Servern, welcher allerdings in einem anderen Rechenzentrum steht.

Der vermeintlich unerlaubte SSH-Traffic war eins der nächtlichen Backups. Diese werden mit rsync durch einen SSH-Tunnel übertragen. Offenbar gingen im gleichen Zeitraum tatsächlich SSH-Brute-Force-Attacken von irgendwelchen Rechnern in unserem Datacenter aus. Durch die zeitliche Überlagerung kam man zu dem Schluss, dass auch unser Backup Bestandteil der Angriffswelle sein könnte, da sich ja auch das verwendete Protokoll (SSH) gleicht …

Zum Glück sind die Jungs im Datacenter recht kompetent und nach ein, zwei Mails war die Sache geklärt. Trotzdem fährt einem erst mal der Schreck durch die Glieder, wenn einem gesagt wird, dass einer der Server vermutlich gehackt wurde und für irgendwelchen Schnickschnack missbraucht wird.

MTB-News.de für ein paar Minuten offline

Wir erstellen gerade (19. Juli 2006, ~ 8:00 Uhr) ein außerplanmäßiges Backup der Datenbank, dadurch kommt es zu einem kurzen Ausfall von einigen Minuten.

Der MTB-News.de Serverpark

Vor gut einem Jahr habe ich in meinem Blog schon mal eine kurze Zusammenfassung der bei MTB-News.de im Einsatz befindlichen Hardware geschrieben.

Seit dem hat sich ein kleines bisschen was verändert, Zeit also für eine aktuelle Zusammenfassung.

Die wichtigen Server stehen allesamt in den Vereinigten Staaten, genauer in Dallas (Texas). Alle Maschinen basieren auf der gleichen Hardware und unterscheiden sich nur in Dingen wie z. B. Hauptspeicherausstattung. Dadurch ist die Pflege und Wartung der Server um einiges leichter, verglichen mit einer Reihe Server verschiedenster Bauart. Unsere Maschinen haben auch softwareseitig alle das gleiche Grundsetup. Basis ist das aktuelle Debian Stable (Sarge). Je nach Einsatz der Maschine wird dann die entsprechende Serversoftware installiert – Webserver oder Datenbankserver.

Hier sind wir auch schon beim Thema: Grundsätzlich unterscheiden wir Web- und Datenbankserver. Insgesamt haben wir drei Webserver im Einsatz und zwei Datenbankserver. Wobei eine Maschine zur Zeit beides gleichzeitig macht.

Als Datenbank setzen wir momentan MySQL 4.0 ein. MySQL hat sich seit Jahren als sehr performant und stabil erwiesen. Wir nutzen ausschließlich MyISAM-Tabellen – mit Ausnahme von ein paar HEAP-Tabellen (für z. B. Sessions). Für alle Applikationen von MTB-News.de reicht uns eine Maschine als Datenbankserver vollkommen aus. Trotzdem replizieren sich alle Datenbanken auf einen zweiten Server (“Slave”) – aus zwei Gründen:

  1. haben wir so permanent eine exakte Kopie aller Datenbanken, was im Falle eines Ausfalls des Hauptdatenbankservers (“Master”) ein schnelles Umschalten auf die replizierten Daten ermöglicht.
  2. können wir bestimmte Anfragen (Volltextsuchen in etwa) auf den Slave-Server schicken, so dass der Master sich nicht mit u. U. recht aufwändigen Abfragen aufhalten muss.

Wie bereits angedeutet, haben wir drei Webserver im Einsatz. Diese teilen sich die Arbeit wie folgt:

  1. Hauptwebserver und Load-Balancer: Hier kommen alle Anfragen für MTB-News.de (mit Ausnahme des Fotoalbums) herein und werden durch einen Loadbalancer (pound) entweder direkt an den lokalen Webserver oder an den Forum-Slave weiter geleitet. Alle Webdienste (außer dem Fotoalbum) von MTB-News.de kommen von dieser Maschine.
  2. Webserver für das Fotoalbum: diese Maschine ist ausschließlich dazu da, die Seiten des Fotoalbums auszuliefern.
  3. Der Forum-Slave generiert ausschließlich performancehungrige Seiten des Forums, die Startseite, Foren- oder Themenansichten zum Beispiel. Der überwiegende Teil der Seiten des Forums kommt von hier.

Zwei der Webserver basieren auf dem Duo Apache 1.3 und PHP 4. Auf dem anderen Webserver ist schon Apache 2.0 im Einsatz, da sich diese Version mittlerweile als sehr stabil und unanfällig für Fehler erwiesen hat. Die anderen Maschinen werden sicher mittelfristig auch auf Apache 2.0 umgestellt werden. PHP 5 ist momentan auf einem Testsystem im Einsatz und wird wohl auch bald auf allen Webservern zum Einsatz kommen. Apache 2.0 und PHP 5 durchgängig auf allen Maschinen ist also das Ziel.

Zum Thema Load-Balancing bei Webanwendungen im Allgemeinen und den Einsatz von pound im Speziellen habe ich vor einer Weile mal eine vierteilige Artikelserie geschrieben, zu finden ist sie hier: High Volume Load-Balancing – HTTP-Traffic verteilen.

Es gibt dann noch einen etwas kleineren Server, welcher für die Einblendung der Werbebanner auf den Seiten zuständig ist. Diese Maschine ist nicht Bestandteil des Clusters und steht auch nicht in Dallas, sondern im fränkischen Erlangen.

Demnächst werde ich mal ein paar Statistiken zum Besten geben – es fragen ja immer wieder Leute nach der Anzahl Seitenabrufen und Visits usw. Ihr werdet sehen, dass es durchaus eine beeindruckende Datenmenge ist, die unsere Maschinen so durch das Netzwerk pressen.

Cerberus: der Hund, der unsere Mails sortiert…

Wir bekommen jeden Tag viele Mails zu MTB-News.de – Benutzer melden sich mit Loginproblemen, beschwerden über Beiträge gehen ein, vergessene Passwörter machen Probleme etc. Früher sind diese Mails auf einen normalen Email-Account von mir gegangen – das hat sich auf Dauer negativ auf den Prozentsatz der beantworteten Mails ausgewirkt – einzelne sind versandet oder blieben unbeantwortet liegen.

Als erste Lösung haben wir einen speziellen Mail-Account eingerichtet, auf den wir (rikman und ich) dann gemeinsam per Weboberfläche (Squirrelmail) zugegriffen haben. Auf Dauer hat sich das als schlechte Lösung erwiesen (Kein Threading, doppelt beantwortete Mails, übersehene Mails…) – etwas Neues musste her. In 2004 sind wir dann sozusagen auf den Hund gekommen. Genauer gesagt auf Cerberus: Cerberus ist ist in der griechischen Mythologie der Höllenhund und Torhüter, der den Eingang zur Unterwelt bewacht. Cerberus Helpdesk ist ein Online-Ticketsystem, es besteht aus zwei Komponenten: ein Programm in C, das auf dem Server läuft und regelmässig die Mails auf einem bestimmten Account abruft und in eine SQL-Datenbank schreibt und einer Oberfläche (PHP/Smarty), mit der man auf die Tickets zugreifen und diese abarbeiten und beantworten kann.

Die Installation der Software ist gut dokumentiert und gestaltet sich damit recht einfach – danach kann es losgehen: die Benutzung der Oberfläche ist sehr leicht und schnell möglich – man kann ohne Blick in die Doku direkt loslegen.

Alle Mails, die aus irgendwelchen Formularen auf MTB-News resultieren und die, die beispielsweise an hilfe@… gehen landen im Cerberus – dort werden sie gegen eine Liste unserer Regeln gefiltert (Spam und selbst eingerichtete). Wenn also eine Mail “Autoreply” im Betreff enthält fliegt sie im Cerberus direkt in den Müll :)

Die Regeln sind flexibel und sehr einfach aufzusetzen – der Spam Filter ist selbstlernend (Bayesscher Filter).

Die Cerberus Oberfläche hat eine Listenübersicht – dort sieht man auf einen Blick offene oder wiedereröffnete Tickets – nichts kann verlorengehen. Zusätzlich gibt es eine gute Suchfunktion, dass man auch alte Tickets leicht wiederfinden kann. Darüber landet man in der Ticket-Ansicht.

Die Nachrichten selbst haben eine volle Historie, man sieht, wer wann was geschrieben hat und ob es schon andere Tickets von dieser Mail Adresse gibt. Es kann so nicht mehr vorkommen, dass Anfragen von mehreren Helpdesk-Usern doppelt beantwortet werden.

Zur Arbeitserleichterung verwenden wir Email-Templates – Beispiel:

Hallo ##username##,

du kannst deinen Benutzernamen hier selbst ändern:

http://www.mtb-news.de/forum/profile.php?do=editpassword

Viele Grüße, ##agent_username##

Jedes Ticket hat einen Status (offen, geschlossen, Kundenantwort etc.) – wenn man ein Ticket beantwortet hat wird es normalerweise geschlossen und ist so aus den Übersichten verschwunden.

Zusätzlich gibt es auch noch Statistikfunktionen – man kann beispielsweise sehen, wie lange es durchschnittlich dauert, bis es die erste Antwort auf eine Anfrage gibt.

Da ich an anderer Stelle Gutes über OTRS gelesen hatte, sind wir irgendwann auf OTRS umgestiegen und haben es für ein paar Monate genutzt – nach einiger Zeit wurde die Oberfläche aber langsamer und langsamer (es hat beim Beantworten von Tickets enorm genervt …). Ein Update auf die neueste Version hat keine Besserung gebracht – wir sind wieder zu Cerberus zurückgewechselt.

Andere Helpdesksoftware:

Empfehlung: Wer regelmässig mit Anfragen von Kunden zu tun hat und diese durch mehr als eine Person webbasiert abarbeiten lassen will, sollte sich unbedingt im Bereich der Helpdesk-Softwarepakete umsehen – wir setzen dabei auf Cerberus Helpdesk und sind sehr zufrieden.

Downtime: Hardware Upgrade

Wegen eines Hardware-Upgrades (wir packen mehr RAM in einen Datenbankserver) wird MTB-News.de heute am 4. Juli 2006 gegen 22.00 Uhr für eine Weile offline sein.

Da aber zu diesem Zeitpunkt sowieso Deutschland gegen Italien spielt, dürfte das weniger Leute stören als sonst. In diesem Sinne, viel Spaß beim Spiel!

Unser Master-Datenbankserver ist neben dem Hauptwebserver das Arbeitstier überhaupt. Trotz teilweise hoher Last, ackert er seit über einem Jahr (seit seiner Inbetriebnahme) ohne Neustart vor sich hin:

mj@srv09:~ % uptime
 19:48:53 up 374 days,  9:38,  1 user,  load average: 0.84, 0.75, 0.73

srv09-mtb-news-de-uptime-year.png

Das RAM-Upgrade ist notwendig geworden, um den steigenden Besucherzahlen bei MTB-News.de gerecht zu werden.

Update, 22:25: Alles geklappt, wir sind wieder da.

Das Schaltwerk

Es war immer unser Wunsch, den Mitgliedern unserer Communities hin und wieder ein paar Hintergründe über unsere Arbeit an MTB-News.de und Rennrad-News.de zukommen zu lassen.

Ich habe bereits gelegentlich etwas zu solchen Themen in meinem persönlichen Blog geschrieben, aber das ist auch nicht unbedingt der geeigneteste Platz. So haben wir uns jetzt entschlossen, ein Admin-Blog zu erstellen.

Ab jetzt werdet ihr hier in unregelmäßigen Abständen Hintergrundinfos zu MTB-News.de und Rennrad-News.de lesen können, Planungen zu neuen Features werden wir hier veröffentlichen und vieles mehr.

Ihr könnt und sollt natürlich auch alle Einträge kommentieren und diskutieren!