yan2021
Goto Top

Programm ohne Login gegen Zugriff absichern

Hallo liebe Admin-User,

heute habe ich mal eine Frage zu einem Programm, welches wir schon seit ein paar Jahren nutzen.
Dieses wurde von einem Dienstleister (den es mittlerweile nicht mehr gibt) speziell für uns programmiert.
Es gibt kein spezielles Login, mit dem dieses Programm geöffnet wird. Es nutzt quasi das Windows-Login, da automatisch die in Windows angemeldete Person das Programm einfach durch einen Doppelklick öffnen kann.

Das Programm verfügt über eine SQL-Datenbank, in der die Daten sicher liegen. Diese Datenbank liegt auf einem kennwortgeschützten Server.

Die einzelnen Installationen auf den Rechnern der Mitarbeiter*innen liegen jedoch auf "C:\BlaBla" ("Bla Bla" ersetzt hier den Namen des Programms).

Über das Programm kommt man auch an sensible Daten ran.

Zunächst dachte ich einfach an eine Umprogrammierung, sodass man sich dann im Programm mit einem eigenen Login einloggen muss. Aber das würde extrem hohe Kosten verursachen.

Vielleicht gäbe es ja eine andere Möglichkeit.
Spontan dachte ich an ein kennwortgeschütztes Verzeichnis, in dem dann erst das Programmverzeichnis liegen würde

...also z.B. so:

"C:\SicheresVerzeichnis\BlaBla"

Aber ich weiß nicht, ob sowas überhaupt möglich ist.
Es gibt im Programmordner (hier: "BlaBla") eine Datei mit dem Namen "blabla.config.properties", die u.a. auch den Pfad zur SQL-Datei enthält sowie alle möglichen anderen Pfade... jedoch nicht den Pfad, wo das Programm lokal liegt (hier: "C:\BlaBla").

Daher wäre jetzt meine Frage, welche Möglichkeit es nach Eurer Meinung gibt, um das Programm besser gegen unbefugten Zugriff zu sichern?

Grüße von
Yan face-wink

Content-Key: 6346362714

Url: https://administrator.de/contentid/6346362714

Printed on: June 18, 2024 at 13:06 o'clock

Member: tagol01
tagol01 Mar 13, 2023 at 15:26:18 (UTC)
Goto Top
Hallo

heute habe ich mal eine Frage zu einem Programm, welches wir schon seit ein paar Jahren nutzen.
Dieses wurde von einem Dienstleister (den es mittlerweile nicht mehr gibt) speziell für uns programmiert.

In diesem Fall wurde ich es neu entwickeln lassen. Irgendwann kommt sowieso der Zeitpunkt!

Alternative das Programm über Citrix App bzw. über eine Cloud starten lassen,
Wenn das Programm Cloud-Fähig ist.
Member: NordicMike
NordicMike Mar 13, 2023 at 15:37:38 (UTC)
Goto Top
Natürlich geht ein sicheres Verzeichnis. Der Benutzer authentifiziert sich ja beim Windows login. Ihm kann man das Verzeichnis mit vollen Zugriffsrechten geben und allen anderen Benutzern verbieten.

Wenn du jetzt sagst, dass sich alle Benutzer mit dem selben Windows Login anmelden, bist du selber schuld face-smile
Klingt hart, aber das musst du auf jeden Fall los werden.
Member: Hubert.N
Hubert.N Mar 13, 2023 at 16:10:01 (UTC)
Goto Top
Moin

spezielle kennwortgeschützte Ordner gibt es unter Windows nicht. Das musst Du also über ACLs auf dem Ordner regeln.

Um das sauber zu lösen, am besten per GPO konfigurieren:
- erstelle Dir eine Gruppe, die Zugriff haben soll und packe die Benutzer da rein
- In der Computerrichtlinie -> Sicherheitseinstellungen -> Dateisystem dann entsprechend eine neue Dateizugriffsrichtlinie definieren und für den Ordner die Zugriffsrechte einstellen.

Dann musst Du das nur einmal einstellen, es wird automatisch auf den Clients gesetzt und auch bei neuen Clients kann man nicht vergessen das einzurichten.

Gruß
Member: beidermachtvongreyscull
beidermachtvongreyscull Mar 13, 2023 at 17:41:17 (UTC)
Goto Top
Moin,

Du kannst es auch mit einem Password-Wrapper versuchen.
https://www.kakasoft.com/exelockinfo/

Die Idee dahinter:
Die zu sperrende auszuführende Datei wird verschlüsselt in einer Mantel-App gespeichert. Der Grundgedanke gefällt mir eigentlich sehr.

VG
bdmvg
Member: SeaStorm
SeaStorm Mar 13, 2023 at 17:58:08 (UTC)
Goto Top
Einfach den Zugriff auf den Ordner nur für die User erlauben die es nutzen sollen?
Member: mayho33
mayho33 Mar 13, 2023 updated at 18:48:25 (UTC)
Goto Top
Hi,

mir fallen dazu spontan ein paar Dinge ein wie ihr den Zugriff auf eine App oder einen Ordner einschränken könnt:

  • Buy-Ware Avecto. Damit lässt sich bis auf Benutzer-Ebene genau einschränken wer welche Exe mit welchen Rechten ausführen darf. Geht natürlich auch auf Ordner und andeer Dateien.
  • Zugriff auf lokale Order über AD-Restricted-Groups ähnlich dem da: https://thesysadminchannel.com/add-local-administrators-via-gpo-group-po ...
  • AddBlocker. Der kann auch auf Security-Group, GPOs oder OUs getrimmt werden. Ist aber leicht aufwändig
  • Die App auf einen Terminal-Server schieben, eine VM oder einen Remote-PC und und nur bestimmte Benutzer zulassen.

Grüße!
Member: wiesi200
wiesi200 Mar 13, 2023 at 18:50:02 (UTC)
Goto Top
Hallo,

mir ist noch nicht ganz klar was für ein Szenario du genau absichern Willst.

Wie schön geschrieben, arbeiten mehrere Benutzer am selben Account?
Hast du Angst das jemand mit seinem Account auf das Verzeichnis zugreifen kann?

Zusätzlich, je nach dem wie auf dem SQL zugegriffen kann man da eftl. auch was machen. Hier fällt mir ODBC ein, wenn da ein Standard Benutzer drinnen ist kann man da auch noch ein bisschen was machen, sofern jeder mit seinem eigenen Account arbeitet.
Member: Mr-Gustav
Mr-Gustav Mar 14, 2023 at 08:51:03 (UTC)
Goto Top
Müsste das nicht eigentlich auch per Applocker gehen ?
Eine GPO welche die Anwendung verbietet verteilt. Eine Gruppe welche das anwenden der GPO verhindert.
In die Gruppe welche dann die Anwendung verhindert kommen dann bei Benutzer rein bzw. je nach dem auch die PC´s.

Alternativ könnte man das ganze aber auch über die Hintertüre mit einem Zentral gemanaged AV machen. Alle verbieten und dann Ausnahmen per AV ( am besten wenns geht per AD Sicherheitsgruppe ) verteilen bzw., zuweisen ?

Kann das Programm denn mehrfach aus einem Share gestartet werden ? Wenn ja dass ist´s noch einfacher.

Aber sag jetzt bitte nicht dass das Programm irgendein Access Basten Datenbank Programm ist dann könnte es etwas schwieriger werden. Wobei da könnte man dann den Zugriff auf die DB per AD Gruppe ( Freigabeberechtigung ) lössen
Member: Yan2021
Yan2021 Mar 14, 2023 updated at 12:31:28 (UTC)
Goto Top
Danke Euch für die interessanten Hinweise bisher...

Ich hatte vergessen, zu erwähnen, dass ich das Server-Verzeichnis, in dem die Templates etc. liegen, bereits so abgesichert habe, dass nur eine vorgegebene Benutzer-Gruppe das Verzeichnis nutzen kann.

Natürlich benutzen nicht alle User das gleiche Windows-Login... das wäre ja auch wirklich fatal face-wink
Jeder Nutzer, der sich mit seinem persönlichen Windows-Login am Rechner eingeloggt hat UND der zusätzlich in diesem Programm auch als Nutzer eingetragen ist (das steht in der SQL-DB), kann das Programm nutzen.

Zusammengefasst:
- Das Programm ist - wie geschrieben - lokal auf C:\ installiert auf jedem Rechner.
- die Templates, Dokumente, Reports etc. befinden sich auf einem Server-Laufwerk in dem Verzeichnis, auf das nur bestimmte Nutzer Zugriff haben.
- die SQL-DB befindet sich wiederum auf einem anderen Server (wo vor allem SQL-DB´s abgelegt werden). In der SQL-DB ist eingetragen, welche User mit dem Programm arbeiten dürfen.

Aber... vielleicht reicht das ja auch schon alles als Absicherung face-wink

Grüße von
Yan face-wink
Member: mayho33
Solution mayho33 Mar 15, 2023 at 19:30:15 (UTC)
Goto Top
Zitat von @Yan2021:
Aber... vielleicht reicht das ja auch schon alles als Absicherung face-wink

Also die klassische Client-Server-Anwendung wie man sie sein Jahrzehnten kennt 😀

Es kommt auf die Art der Authentification an. Verbindet sich (vereinfacht gesagt) der Connector deiner App mit den Nutzerdaten des Logon-User und ist dieser nicht berechtigt auf die Daten zuzugreifen, passt das.
Nurzt die App aber eine andere Art der Auth (SSO z.B.) wird das vermutlich nicht reichen.

Warum verschiebt ihr nicht einfach die gesamte Anwendung auf einen Terminalserver, Hyper-V-Server odgl. und lasst nur bestimmte User rauf? So wie ich das oben schon geschrieben habe, gäbe es auch die Möglichkeit einer simplen VM auf einem Server oder wie schon jemand geschrieben hat Citrix, obwohl das schon etwas over powered wäre.

So viele Möglichkeiten... Ist ja auch eine Frage des Security-Konzepts...
Member: Yan2021
Yan2021 Mar 16, 2023 updated at 07:58:26 (UTC)
Goto Top
Danke für den guten Tipp.
Werde das mit dem Terminalserver mal checken - vor allem, ob es geht, dass wir Alle auch gleichzeitig dann auf das Programm zugreifen können.

Im Moment gäbe es auf jeden Fall das Problem, dass auf dem Terminalserver (und auch auf einem weiteren Server) nur das "alte" MS-Office Paket von 2016 installiert ist, mit dem wir ja schon Probleme auf unseren Rechnern hatten. Daher hatten wir unsere Rechner jetzt upgedatet auf ein MS 365 Business. Der Terminalserver müßte dann auch zunächst Office-mäßig upgedatet werden.

Hauptproblem wird jedoch sein, dass unser Programm den User ja über das Windows-Login identifiziert. Dazu könnten wir uns also nicht alle über ein gemeinsames Login am T-Server anmelden, sondern nur wieder jeweils über das Windows-Login jedes Users. Und was hätten wir dann gewonnen? face-wink
Höchstens, dass noch einmal eine Anmeldung am T-Server zusätzlich nötig ist... OK... Aber diese ginge ebenfalls über das Windows-Login.

Grüße von
Yan face-wink
Member: Yan2021
Yan2021 Mar 17, 2023 at 07:03:51 (UTC)
Goto Top
Danke für die Hilfe,

wir werden es zunächst mal über den Terminalserver versuchen und testen, ob das Programm darüber ausreichend schnell läuft. Aber so haben wir auf jeden Fall etwas mehr Sicherheit (auch wenn es über das gleiche Login ist).

Grüße von
Yan face-wink
Member: mayho33
mayho33 Mar 21, 2023 at 11:18:38 (UTC)
Goto Top
Zitat von @Yan2021:

Danke für den guten Tipp.
Werde das mit dem Terminalserver mal checken - vor allem, ob es geht, dass wir Alle auch gleichzeitig dann auf das Programm zugreifen können.

Standardmäßig, wenn ich mich nicht irren, dürfen nur 2 Sessions gleichzeitig offen sein. Man kann das aber upgraden. Kosten? Keine Ahnung. Deine App muss das vermutlich auch können.


Im Moment gäbe es auf jeden Fall das Problem, dass auf dem Terminalserver (und auch auf einem weiteren Server) nur das "alte" MS-Office Paket von 2016 installiert ist, mit dem wir ja schon Probleme auf unseren Rechnern hatten. Daher hatten wir unsere Rechner jetzt upgedatet auf ein MS 365 Business. Der Terminalserver müßte dann auch zunächst Office-mäßig upgedatet werden.

Schon mal was von APP-V gehört? Das könnte eventuell die Lösung für dein Problem sein. Ist aber bald EoL:
https://learn.microsoft.com/en-us/lifecycle/products/microsoft-applicati ...

Hauptproblem wird jedoch sein, dass unser Programm den User ja über das Windows-Login identifiziert. Dazu könnten wir uns also nicht alle über ein gemeinsames Login am T-Server anmelden, sondern nur wieder jeweils über das Windows-Login jedes Users. Und was hätten wir dann gewonnen? face-wink

Na, eigentlich sollte man sich ja eh nicht mit 1 User für Alle am TServer anmelden können. Wenn ihr Active-Directory nutzt dürft ihr halt nur genau die User berechtigen die auch mit der App zusammenspielen.

Höchstens, dass noch einmal eine Anmeldung am T-Server zusätzlich nötig ist... OK... Aber diese ginge ebenfalls über das Windows-Login.

Je nach Konzept....

Grüße!
Member: Mr-Gustav
Mr-Gustav Mar 21, 2023 at 11:21:05 (UTC)
Goto Top
Gibt es denn für App-V eine andere Lösung bzw. einen Nachfolger ?
Fand das hier und da ganz nett face-smile
Member: mayho33
mayho33 Mar 21, 2023 at 12:29:51 (UTC)
Goto Top
Zitat von @Mr-Gustav:

Gibt es denn für App-V eine andere Lösung bzw. einen Nachfolger ?
Fand das hier und da ganz nett face-smile

Naja! EoL ab 2026. Und nur weil es EoL ist, ist es ja nicht gleich weg von Fenster. face-wink
Member: Mr-Gustav
Mr-Gustav Mar 21, 2023 at 13:29:27 (UTC)
Goto Top
Nun es wird dann aber mit großer warsch. keine Updates mehr geben.
Klar sind das noch 3 Jahre bzw. 2 3/4 je nach dem wie man rechnet.
Aber ich weiß jetzt nicht wie viel Sinn es macht auf ein Produkt zu setzen
was in 2 bis 3 Jahren ausläuft.
Oder stehe ich damit alleine da ?
Member: mayho33
mayho33 Mar 21, 2023 at 14:19:26 (UTC)
Goto Top
Zitat von @Mr-Gustav:

Nun es wird dann aber mit großer warsch. keine Updates mehr geben.
Klar sind das noch 3 Jahre bzw. 2 3/4 je nach dem wie man rechnet.
Aber ich weiß jetzt nicht wie viel Sinn es macht auf ein Produkt zu setzen
was in 2 bis 3 Jahren ausläuft.
Oder stehe ich damit alleine da ?

Naja! Updstes gibt es schon seit 2018 nicht mehr und rennt immer noch. Was soll sich an der Bereitstellung auch noch ändern. Man muss nur die notwendigen Schnittstellen durch die Blase raus reichen.

Das ist, wenn man so will, qusgereift. face-wink