Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Systemdienst "unkillbar" (https://www.delphipraxis.net/69261-systemdienst-unkillbar.html)

heinotto 12. Mai 2006 15:15


Systemdienst "unkillbar"
 
Hallo,
ich habe ein Programm (als Systemdienst) geschrieben, das in einer Dömanenumgebung mit ca. 140 Clients den Internetzugang für jeden Rechner blocken oder freischalten kann. Die Freigabe bzw. Sperrung erfolgt über ein externes Programm. Auf jedem Rechner läuft nur der Systemdienst; nennen wir ihn i-aus.
Wie kann ich verhindern, dass der Task i-aus abgeschossen wird? In den Benutzerrichtlinien ist der Taskmanager natürlich ausgeschaltet. "Leider" gibt es aber Programme, die ohne Installation (auch dieses ist unterbunden) Tasks "killen" können. Mein Systemdienst muss also "unkillbar" sein. Ich habe bisher noch keine Lösung gefunden. Habt ihr eine?

Aenogym 12. Mai 2006 15:18

Re: Systemdienst "unkillbar"
 
hi und herzlich willkommen in der DP :hi:

sofern du WindowsXP einsetzt, kannst du doch einfach einen Dienst ausführen, den man als normaler benutzer nicht beenden darf.
solche dienste erscheinen noch nichtmal im taskmanager.

aenogym

DGL-luke 12. Mai 2006 15:28

Re: Systemdienst "unkillbar"
 
außerdem gibt es noch die möglichkeit von "watchdog"-prozessen, die sich gegenseitig checken und wenn einer abgeschossen wird ihn wieder starten.

heinotto 12. Mai 2006 15:35

Re: Systemdienst "unkillbar"
 
[quote="Aenogym"]hi und herzlich willkommen in der DP :hi:
danke

hmm, alle Rechner arbeiten mit XP, die Domäne mit Server2003. Kenne aber keine Möglichkeit (in Delphi) ein Programm vor speziellen Programmen (z.b. Security Task Manager) zu verstecken und damit vor dem "killen" zu bewahren.

Mein Programm läuft als Systemdienst auf den Client-Rechnern und wird in Abhängigkeit vom jeweiligen User gestartet. Es holt sich dann vom Server die Information zur Sperrung oder Freischaltung und kann dann je nach Einstellung a) den Browser beenden, b) die Proxy-Information in der Registry verändern oder c) Ports schliessen.

Natürlich überwachen sich zwei Systemdienste und starten sich gegenseitig. Leider kann amn auch zwei Prozesse markieren und gleichzeitig abschiessen. Und da liegt das Problem.

DGL-luke 12. Mai 2006 15:42

Re: Systemdienst "unkillbar"
 
wie wärs, wenn du deinen watchdog als shell extension in den Explorer integrierst? der typische DAU wird den nicht so schnell finden. natürlich ist das "security by obscurity" und mit vorsicht zu genießen, aber wenns hilft...

Und du kannst wirklich nicht die benutzer entsprechend einschränken? Tja, Windows halt....

franktron 12. Mai 2006 15:54

Re: Systemdienst "unkillbar"
 
[quote="heinotto"]
Zitat:

Zitat von Aenogym
hi und herzlich willkommen in der DP :hi:
danke

hmm, alle Rechner arbeiten mit XP, die Domäne mit Server2003. Kenne aber keine Möglichkeit (in Delphi) ein Programm vor speziellen Programmen (z.b. Security Task Manager) zu verstecken und damit vor dem "killen" zu bewahren.

Mein Programm läuft als Systemdienst auf den Client-Rechnern und wird in Abhängigkeit vom jeweiligen User gestartet. Es holt sich dann vom Server die Information zur Sperrung oder Freischaltung und kann dann je nach Einstellung a) den Browser beenden, b) die Proxy-Information in der Registry verändern oder c) Ports schliessen.

Natürlich überwachen sich zwei Systemdienste und starten sich gegenseitig. Leider kann amn auch zwei Prozesse markieren und gleichzeitig abschiessen. Und da liegt das Problem.

Eigentlich ist das der Falsche weg man Blockiert den Inet zugriff auf der Hauptfirewall einfach für die entsprechenden PC's ist doch viel einfacher als das einzelnt auf jedem PC zu macehn und sogarfür gibts fertige lösungen.

markusj 12. Mai 2006 15:59

Re: Systemdienst "unkillbar"
 
So kann man aber einzelnen Usern das I-Net freischalten^^
Und das ist meines Erachtens deutlich flexibler, wenn noch mehr PCs über die selbe Firewall gehen, blockst du trotzdem alle.

mfG

Markus

Daniel G 12. Mai 2006 16:28

Re: Systemdienst "unkillbar"
 
Der Anhang in diesem Beitrag sollte dir helfen. Dort ist ein Beispielprogramm, das sich, zumindestens mit den typischen Windows - Bordmitteln, nicht abschießen lässt...

Florian H 12. Mai 2006 18:05

Re: Systemdienst "unkillbar"
 
Zitat:

Zitat von markusj
So kann man aber einzelnen Usern das I-Net freischalten^^
Und das ist meines Erachtens deutlich flexibler, wenn noch mehr PCs über die selbe Firewall gehen, blockst du trotzdem alle.

mfG

Markus

Mit einer guten Firewall bzw entsprechender Software die auf dem Server läuft ist auch das einzelnde Blockieren von Internetzugriffen spezieller Rechner kein Problem.. ;)

heinotto 13. Mai 2006 11:58

Re: Systemdienst "unkillbar"
 
ich denke, ich muss etwas weiter ausholen. natürlich kann ich als administrator auf dem server alles und einzeln blockieren, aber...

nehmen wir mal an, wir sind eine schule mit ca. 900 accounts, diese als lehrer und schüler differenziert. es sind 9 pc-räume verfügbar. lehrer bekommen (egal auf welchem rechner sie sich einloggen) ein programm, mit denen sie (in abhängigkeit vom jeweiligen Raum) die angemeldeten user blockieren oder freischalten können und dies ohne zugriff auf administratorenerechte bzw. das active directory. dieses und natürlich noch einiges mehr leistet das programm und... es ist so einfach gestrickt, das ALLE DA-LEHRER keine Fehler machen können.

sein einziger makel ist, dass es "gekillt" werden kann. Und dafür suche ich eine lösung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz