PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows 2003 Server soll (muss) Mailserver runterfahren.



[WCM]Manx
16.11.05, 18:39
Hi @all!

Mein Mailserver läuft nun schon einige Zeit, nun soll er noch an die USV.
Die APC Back-UPS (Pro 1000) hat nur einen seriellen Anschluss und der hängt am Windows 2003 Server, der mich nix angeht (Gott sei Dank).

Jetzt bleibt mir nur noch die Möglichkeit den Mailserver per Batch-Script runterzufahren.

Nur wie macht man das ganze und noch dazu sicher?

Die Geschichte mit "Shutdown Benutzer" und "plink" gefällt mir wenig, da das Passwort des "Shutdown Benutzers" ja auch im Klartext im Batch-file steht.
(und wie sicher bzw. irreversibel bat2exe arbeitet, weiß ich nicht)

Key-Authentifizierung fällt auch irgendwie aus, da ich dem private-key ja kein Passwort verpassen kann.

Vielleicht noch am ehesten (sichersten) mit einem ssh-chroot?

Freu mich auf Vorschläge ;)

Grüße

Manx

ThorstenHirsch
16.11.05, 19:21
Da Dein Linuxrechner eh schon der Mailserver ist: wie wär's mit ner Mail? Du richtest einen shutdown-user auf dem Mailserver ein, dem Du per sudo die Rechte gibst, den Rechner herunterzufahren. Wenn dieser User ne Mail bekommt (z.B. 1x die Minute per cronjob abfragen), wird der shutdown ausgelöst.

Mit etwas Aufwand kannst Du die Mail auch authentifizieren lassen:
(1) win ---- los geht's ----> linux
(2) win <-- bist du überhaupt der win-server? --- linux
(3) win ---- ja, bin ich, jetzt mach hin -----> linux

Der Win-Rechner hat nen priv. Key, der Linux den dazugehörigen pub-Key und verschlüsselt damit einen zufällig generierten String und sendet ihn an den Win-Rechner (2). Dieser entschlüsselt ihn und sendet den String zurück (3). Dein Skript prüft dann, ob's mit dem generierten String übereinstimmt und wenn ja: runterfahren.

mwichern
16.11.05, 19:30
Oder einfach einen zweiten Seriellen btw. USB-Anschluss nachruesten. ;)

MfG

[WCM]Manx
16.11.05, 19:50
Hi & Danke!

@mwichern

Wäre sicher die optimale Lösung, bzw. gibt's ja auch so network-shutdown Lösungen (PCI-Karten) von APC.
Da das ganze in einer Schule stattfindet, darf's (soll's) so gut wie nichts kosten. (Ich mach das ganze auch fast für ein Gulasch und ein Bier ;) )

@ThorstenHirsch

Gute Ansätze, es sollte nur im Bedarfsfall (Alarm von der UPS) schnell gehen und muss mit einem Batchfile zu lösen sein.

Danke schon mal,

Manx

stefaan
16.11.05, 20:10
Servus!

Bei meinem Home-Server hab ich das so gelöst:
Bei einem Connect auf Port 182 wird er heruntergefahren. Das geht selbst mit einem WinPC mit Verknüpfung am Desktop auf telnet server 182.
Wenn du das noch auf die IP des Win2k3-Servers einschränkst, könnte es sogar halbwegs sicher sein ;)

xinetd.conf


service halt
{
port = 182
socket_type = stream
protocol = tcp
user = root
server = /sbin/halt
type = UNLISTED
wait = no
}


Ist halt noch nicht ganz ausgereift, aber funktioniert.

Grüße, Stefan

mwichern
16.11.05, 20:45
Was kostet denn so eine APC-Erweiterungskarte fuer die Serielle Schnittstelle? Sicherlicht nicht viel oder? Und so viel Geld sollte dann noch doch drinne sein, fuer die Sicherheit der Daten.

MfG

[WCM]Manx
16.11.05, 20:53
Hi!

@stefaan

So öffentliches Brainstorming hat eben doch was für sich ;) , interessante Sache. Werd mal nach port-knocking googlen (interessiert mich sowieso schon länger)

@mwichern

Werd mich mal erkundigen, Du hast ja eigentlich recht.

Grüße & Danke

Manx

PS: Werd noch schauen, was sich mit einer Nullmodemverbindung so alles anstellen läßt

RichieX
17.11.05, 18:12
Den apcupsd (http://prdownloads.sourceforge.net/apcupsd/winapcupsd-3.10.18.tar.gz) gibts doch auch für Windows und der ist auch netzwerkfähig. Warum also so kompliziert, wenns auch einfacher geht?

atomical
17.11.05, 18:47
Der kleine Bruder von PuTTY - Plink - könnte evt. auch helfen.

[WCM]Manx
17.11.05, 22:16
Den apcupsd (http://prdownloads.sourceforge.net/apcupsd/winapcupsd-3.10.18.tar.gz) gibts doch auch für Windows und der ist auch netzwerkfähig. Warum also so kompliziert, wenns auch einfacher geht?
Ja, allerdings ist mir das etwas zu heikel, in der Doku steht eben nichts vom Windows 2003 Server, nichtmal was von XP.

@atomical

plink war ja mein erster Gedanke, allerdings brauch ich da zumindest einen shutdown-user und das Passwort im Klartext in der batch-Datei.
Oder ich brauch einen private-key ohne Passwort.

@all

Ich bin grad am testen und werd's, wenn ich nichts anderes find vielleicht so lösen:

Einen tcpwrapper auf einem Port lauschen lassen, connects führen /sbin/halt aus.
Entweder wie stefaan es vorgeschlagen hat über den xinetd, da ich aber qmail am laufen hab, wird eher der tcpserver herhalten müssen.
Eine Zugriffsbeschränkung auf die IP des Win2k3.
Der Port ist durch iptables zu, über den knockd läßt sich ein Portknocking leicht realisieren.
Connects z.B auf die Ports 2000:tcp, 2500:udp und 3000:tcp innerhalb von 5 Sekunden schalten eine Regel in iptables, die den besagten Port für z.B 3 Sekunden öffnet. In diesem Fenster führt eine Verbindung auf besagten Port zum shutdown.

Aber mal schauen ;)

Danke,

Manx

stefaan
18.11.05, 00:16
Servus!

Cool :D Knockd kannte ich noch nicht...

Grüße, Stefan

[WCM]Manx
18.11.05, 08:29
Hi!

(Ich Trottel)
Einfach beim knockd als Kommando bei korrektem knocking /sbin/halt eingeben, und schon klappt's mit dem Nachbarn ;)

Grüße

Manx

RichieX
18.11.05, 13:43
Manx']Ja, allerdings ist mir das etwas zu heikel, in der Doku steht eben nichts vom Windows 2003 Server, nichtmal was von XP.

Auch wenn ich merke, dass du ihn nicht favorisierst: Er läuft auch unter W2K3 Server, hab ich selbst getestet. XP hab ich nicht getestet, sollte aber eigentlich auch laufen.

[WCM]Manx
18.11.05, 13:51
Auch wenn ich merke, dass du ihn nicht favorisierst: Er läuft auch unter W2K3 Server, hab ich selbst getestet. XP hab ich nicht getestet, sollte aber eigentlich auch laufen.
Hi RichieX!

Ich würd folgendes favorisieren:
Mein Mailserver bekommt die serielle Verbindung zur UPS, auch den apcupsd und ist Master, der Win2k3 bekommt winapcupsd und ist Slave.
Denn dass der Windows Server bei meinem Mailserver "auf Knöperl drückt" schmeckt mir nicht so wirklich ;).

Es ist eigentlich verwunderlich, dass es von APC nichts Vernünftiges gibt.

Werd mal mit dem lokalen Admin (und eventuell noch mit APC) sprechen.

Grüße

Manx