[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    man muss sich erst mal entscheiden ob der Client (sprich der Rechner) vertrauenswürdig ist, oder nicht; wenn selbiger bei der Anmeldung abprüft und dann Berechtigungen steuern kann, dann vertraut man ihm im allgemeinen, tut man das nicht, dann muss der Anwender vor Aufruf einer gesicherten Anwendung einen Bewis erbringen wer er ist (Benutzer Kennwort oder etwas adäquates).
    Jetzt kommt die Anmeldung am Server (AppServer oder Datenbank Server, oder what ever). Selbige erfolgt tunlichst nicht mit einer persönlichen Berechtigung des Anwenders, sonst darf er das alles ja auch unkontrolliert mit einem beliebigen Frontend über ODBC, JDBC, oder das entsprechende Protokoll der Anwendung. Also braucht man jetzt einen AnwendungsBenutzer, der sich connected, dessen Kennwort muss geschützt abgelegt sein, also lokal verschlüsselt (sonst kanns der Anwender lesen), oder hart im Programm, oder remote auf einem entsprechenden Authentikations Server.
    Die Berechtigungs Differenzierung innerhalb der entsprechenden Server Domain (in unserem Fall Datenbank), kann jetzt in der Applikation, oder der Datenbank erfolgen, wenn die Anwendung jetzt auf einem Server läuft (WebServer oder AppServer), dann entscheidet man sich meist für Applikations Level (aus Pooling und Cashing Gründen), handelt es sich um einen Fat Client, dann kann man das auch der Datenbank überlassen, wenn die das kann. Persönliche Benutzer scheiden hier meist wegen des zu treibenden Aufwands aus, meist hat man ein paar Rollen, für die jeweils ein Benutzer zur Verfügung steht. Für den Wechsel zur passenden Rolle muss der Anwender einen Beweis haben, dass er diese Rolle spielen darf und im diskutierten Beispiel braucht er noch einen Beweis, dass es die Applikation ist, die den Wechsel zu der Rolle vornimmt, für die Anmeldung kann man durchaus die API Lösung mit dem Profile Switch nehmen. Bei ODBC dürfte das etwas schwieriger als bei JDBC sein (soweit der Benutzer an die DSN auch mit Excel drankommt), dann muss man halt die Kennwörter in der entsprechenden Datei nochmal mit einem Schlüssel verschschlüsseln, den nur die Applikation und nicht der Benutzer kennt (der kann wieder verschlüsselt lokal abgelegt sein, oder hard codiert in der Anwendung, oder remote auf einem Authentikations Server).

    Noch ein paar Anmerkungen zur "schönen alten Welt": ich habe bisher so gut wie keine Umgebung gesehen, in der adopted Authority korrekt und sicher implementiert war. Spätestens, wenn man eine Command Line mit der Berechtigung eines solchen Einstiegsprogrammes kombiniert, dann frisst einem der Rechner aus der Hand.

    Dieter Bender,

    der seine Tätigkeiten im Bereich Security eingestellt hat, weil er keine Lust mehr hatte seinen Kunden Dinge zu erzählen, die sie nicht hören wollten und Sachen zu zeigen, die sie nicht sehen wollten.
    Zitat Zitat von Fuerchau
    Selbst wenn die Prozedur bekannt ist sollten die dazu benötigten Parameter eben nicht bekannt sein.
    Die Prozedur muss die Sicherheit leisten dass Sie eben nicht einfach so aufgerufen werden kann.
    Andererseits darf es auch kein Benutzerprofil geben, dass eine 5250-lose Anmeldung erlaubt (also ODBC).

    So auf die Schnelle fällt mir hierzu nichts ein, es muss aber gehen. Schließlich haben auch andere Datenbanken (SQL-Server, Oracle o.ä.) die selben Probleme wenn es um freie ODBC-Zugriffe geht.
    Andere DB's noch um so mehr als dass dort ein Umschiessen des Users nicht möglich ist.

    Die Anwendung meldet sich mit eine APP-User an. Dieses Kennwort hierzu muss verschlüsselt abgelegt oder programmiert werden so dass eine normale Anmeldung ausserhalb der Anwendung mit diesem Userprofil unmöglich gemacht wird.
    Dann klappt auch das Umschiessen des Users mit einem temporären internen Kennwort dass ausschließlich der Anwendung bekannt ist.
    Die dazu nötigen Profile sind selbst wiederum nicht anmeldefähig.
    Man kann sogar mal probieren ob QSYGETPH/QSYSETPH mit disabled Profilen möglich ist.

    Vielleicht hat ja mal jemand Zeit dies zu probieren.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Sep 2006
    Beiträge
    162
    @BENDER
    Das Gefühl kenn ich seit zu langer Zeit. Am Anfang bist du Cassandra (Schwarzmaler) und wenn's passiert bist du ein besserwisser der nur "Glück" hatte.

    Zitat Zitat von BenderD
    der seine Tätigkeiten im Bereich Security eingestellt hat, weil er keine Lust mehr hatte seinen Kunden Dinge zu erzählen, die sie nicht hören wollten und Sachen zu zeigen, die sie nicht sehen wollten.

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    727
    Schaut euch doch professionelle ERP-Systeme an, welche schon immer im Client/Server-Umfeld betrieben wurden.
    "Bestes" Bsp. ist SAP, hier gibt es auf der I5 unter I5/OS genau einen DB2/400 User für die Anwendung --> SAPUSER.

    Die eigentlichen ERP-User und Passworte sind in SAP eigenen Datenbanktabellen hinterlegt, da ja auch ERPseitig zusätzliche Merkmale/Berechtigungen/Rollen am Benutzer notwendig sind.

    Wie kann man trotzdem kontrollieren, wer einen Datensatz wann mit welcher Anwendung geändert hat.
    Ganz einfach, man fügt jeder Datenbanktabelle ein Feld (letzter) USER hinzu, in dieses Feld schreibt man bei jedem Update/Insert den angemeldeten Anwendungsuser.
    Über das DB2/400 Journal lässt sich jede Änderung verfolgen.

    Oder besser man schafft sich einen eigenen zentralen Datenbank-Layer und bildet hier einen eigenen Audit Trail nach. Wichtig ist, das der DB-Layer den angemeldeten Benutzer mitbekommt.
    Die Änderungsprotokolle schreibt man dann in eine eigene log-Tabelle.

  4. #4
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von Sven Schneider
    Wie kann man trotzdem kontrollieren, wer einen Datensatz wann mit welcher Anwendung geändert hat.
    Ganz einfach, man fügt jeder Datenbanktabelle ein Feld (letzter) USER hinzu, in dieses Feld schreibt man bei jedem Update/Insert den angemeldeten Anwendungsuser.
    Prima, aber hoffentlich über einen System-Trigger und nicht über die Applikation. Sonst wäre diese Angabe nicht vertrauenswürdig <g>

    -h

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ob man dem Trigger trauen darf, sei noch dahingestellt...(ich sage nur mal strsrvjob und strdbg)
    die Schreiberei überhaupt dem Database access Layer zu überlassen, hat nebenbei bemerkt durchaus Charme, da sage ich nur mal EJBs und für die POJO Fans Hibernate...

    mfg

    Dieter Bender


    Zitat Zitat von holgerscherer
    Prima, aber hoffentlich über einen System-Trigger und nicht über die Applikation. Sonst wäre diese Angabe nicht vertrauenswürdig <g>

    -h
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von BenderD
    ob man dem Trigger trauen darf, sei noch dahingestellt...
    einem Trigger traue ich auch nicht weiter, als ich ihn selbst gelöscht und neu angelegt habe. Allerdings... wenn ich so recht überlege, gehen wir doch lieber zur /36 zurück. Da gab es nicht viel, was man falsch machen konnte.

    Und jetzt Schluss mit der Diskussion, wir haben schon 5 Meinungen zu 6 Varianten der besten Methode...

    -h

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Deswegen läßt sich ja SAP aus gutem Grund nicht in die Karten gucken.
    An die Datenbank kommt man vernünftig nun mal nur per ABAP (oder so) und damit kann man diese Journale nicht unterlaufen.
    Allerdings, die Performance .....
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Aber security by obfuscation, das ist kein anerkanntes Merkmal für Sicherheit....

    Zitat Zitat von Fuerchau
    Deswegen läßt sich ja SAP aus gutem Grund nicht in die Karten gucken.
    An die Datenbank kommt man vernünftig nun mal nur per ABAP (oder so) und damit kann man diese Journale nicht unterlaufen.
    Allerdings, die Performance .....
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    Sep 2006
    Beiträge
    162
    Zitat Zitat von BenderD
    Aber security by obfuscation, das ist kein anerkanntes Merkmal für Sicherheit....
    .. und trotzdem gibt man dafür sehr viel Geld aus

    Gruß
    DVE

  10. #10
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von BenderD
    der seine Tätigkeiten im Bereich Security eingestellt hat, weil er keine Lust mehr hatte seinen Kunden Dinge zu erzählen, die sie nicht hören wollten und Sachen zu zeigen, die sie nicht sehen wollten.
    kenne ich. Soll ja Leute geben, die glauben, eine AS/400 ist von Haus aus sicher...

    Aber deswegen stell ich meine Tätigkeit nicht ein, ab und an brauche ich was zum Aufregen, wenn grade kein Kaffee da ist.

    -h

Similar Threads

  1. Programm auf "ferner" AS400 ausführen.
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 13-05-09, 19:50
  2. QNTC - Windows 2003 IP geändert
    By MBu in forum NEWSboard Windows
    Antworten: 6
    Letzter Beitrag: 05-12-06, 15:38
  3. Nachricht CPDB053 beim Zugriff auf Windows Freigabe
    By schatte in forum NEWSboard Windows
    Antworten: 7
    Letzter Beitrag: 21-11-06, 11:37
  4. Windows Programm für Savf-Files
    By Pepi in forum NEWSboard Windows
    Antworten: 2
    Letzter Beitrag: 13-11-06, 16:00
  5. Archvierte Spoolfiles in Windows anzeigen
    By SelfPity in forum NEWSboard Windows
    Antworten: 16
    Letzter Beitrag: 21-10-06, 17:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •