PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sicheres Synchronisieren zwischen zwei Servern



derJan
04.03.05, 12:28
Hallo Forum,

wir haben hier auf der Arbeit einen Email-Server der als MX-Server von vielen Kundendomains dient. Aus Gründen der Ausfallsicherheit wollen wir das Kundendaten, Kundenemails etc mit einem Backupserver regelmäßig synchronisieren.
Wie hier im Forum bereits oft erwähnt wurde, tut dies Rsync ganz gut und da man diesen auch über SSH "betreiben kann" ist diese Methode auf recht sicher.
Nun kommt das Problem: Da die Synchronisation in regelmäßigen abständen erfolgen soll und automatisch ablaufen soll, könnte man eine SSH-Publickey audentifizierung einsetzen. Das Problem ist nur: wenn der Server mit dem privatem SSH-Schlüssel geknackt wird (warum auch immer) - so hat der Angreifer (wenn er einigermaßen clever ist) auch sofort vollen Root-Zugriff zum Hauptserver.
Es gibt die Möglichkeit mit scponly (http://www.sublimation.org/scponly/) einem Backupbenutzer (der UID=0 hat) auf dem Hauptserver eine beschränkte Shell zuzuweisen (die nur rsync erlaubt). Allerdings überprüft scponly die UID und will nicht mit UID=0 (also root) laufen.
Zwar könnte man diese Überprüfung recht einfach aus dem scponly-Code herausnehmen aber der Entwickler wird ja schon einen Grund gehabt haben diese einzubauen. Außerdem wäre dann das Einspielen von Updates schwieriger.

Meine Frage ist nun: fallen euch noch andere Backuplösungen ein? Wie regelt ihr die Backups zwischen Servern? Haltet ihr meine Methode vielleicht für garnicht mal so unsicher?

Wäre nett wenn ihr mir da helfen könntet!
Jan

sirmoloch
04.03.05, 12:34
Irgendwas wundert mich: Lasst ihr euren MTA unter der UID 0 laufen? Zur Synchronisation per rsync ist es nur nötig, dass der Benutzer, unter dem die Synchronisation läuft, die richtigen Rechte auf das entsprechende Verzeichnis / die entsprechende Datei hat. Der Benutzer für die Synchronisation muss nicht root sein.

derJan
04.03.05, 13:22
Hallo sirmoloch,

Unser MTA läuft nicht unter UID 0.
Die Synchronisierung muss aber mit UID 0 laufen, da wir auch die Home-Verzeichnisse der Benutzer mit Synchronisieren und ein unprivilegierter Benuzter alle Home-Verzeichnisse lesen müsste. Außerdem sind die Mail-Spool Dateien so anlegt das sie nicht World-Readable sind.
Und den Backup-Benutzer in jede Benutzergruppe mit reinzubringen wäre (meiner meinung nach) auch nicht die beste Lösung, oder?

Polarizer
04.03.05, 14:01
Ist zwar ein bißchen off topic, vermeidet aber das Problem im Ansatz:

Da Du sowieso einen 2. Rechner mitlaufen läßt, syncronisiere ihn doch
online mit drbd [1]. Nimmst Du nun noch heartbeat, hast Du einen redundanten Mailserver!

[1] http://www.drbd.org/
[2] http://www.linux-ha.org/

derJan
04.03.05, 15:59
mh hört sich interessant an, aber irgendwie hab ich da bedenken wegen dem Traffic und es scheint auch etwas "Overhead" zu sein...

Dellerium
04.03.05, 16:06
Stehen die beiden Server nebeneinander, über verteilt auf 2 Standorte.. dann ist Heartbeat eh nix ... würde die Verbindung abreissne würden sonst beide Server laufen :ugly:

Wie ist der zweite Server angesichert?

Eine Möglichkeit wöre sonst evtl. den Datenbastand schon auf dem Server zu spiegeln, und dann nur den gespiegelten Bereich zugänglich zu machen ...