Befehl "rbacqry"

Zweck

Gibt eine Reihe verwendeter Berechtigungen und Autorisierungen für einen Prozess aus.

Syntax

/usr/sbin/rbacqry [-T |-C] -n programmname [ -i prüfdatei] -u benutzername [-t zeitraum]

/usr/sbin/rbacqry -c [-s]-u Benutzername -S

Beschreibung

Der Befehl rbacqry wird als Überwachungsdienstprogramm zum Aktivieren von RBAC (Role Based Access Control, rollenbasierte Zugriffssteuerung) für Anwendungen verwendet. Der Befehl rbacqry gibt nach der Ausführung eines Programms die vom Programm verwendeten Berechtigungen und Autorisierungen aus. Er verwendet das Prüfsubsystem, um die Berechtigungen und Autorisierungen aller Prozesse zu protokollieren, die vom Programm und seinem Erzeugerprozess erstellt werden.

Der Befehl rbacqry wird ausgeführt, wenn das System im erweiterten RBAC-Modus arbeitet. Die über diesen Bericht abgerufenen Berechtigungen können den Attributen innateprivs und inheritprivs für die Anwendung mit dem Befehl setsecattr zugewiesen werden, was den Befehl für RBAC aktiviert. Sie können die Berechtigungen für die untergeordneten Elemente eines Prozesses konsolidieren und unter dem Attribut inheritprivs bereitstellen oder separate Einträge für die untergeordneten Elemente in der Datei /etc/security/privcmds für die RBAC-Aktivierung verwenden.

Hinweise:
  • Der Befehl rbacqry hängt von dem Prüfbericht ab, der vom AIX® -Prüfsubsystem generiert wird.
  • Die Prüfklasse rbac wird der Datei/etc/security/audit/config hinzugefügt, wenn der Befehl rbacqry -c ausgeführt wird. Die Prüfklasse kann manuell konfiguriert werden.
  • Wenn Sie Berechtigungen und Autorisierungen mit diesem Dienstprogramm verfolgen, weisen Sie die Prüfklasse rbac einem bestimmten Benutzer in der Datei /etc/security/audit/config zu, um zu verhindern, dass große Prüfprotokolle erstellt werden.
  • Der Befehl rbacqry schlägt in der Ausgabe keine RBAC-Rollen vor und stellt auch keine bereit. Der Befehl berichtet nur die Berechtigungen und Autorisierungen, die vom angegebenen Programm verwendet werden.
  • Wenn Sie Shell-Scripts mit dem Tool rbacqry verfolgen, muss der Shell-Interpreter (z. B. #!/usr/bin/ksh) in der ersten Zeile des verfolgten Scripts angegeben sein.

Flags

Element Beschreibung
-c Konfiguriert die Datei /etc/security/audit/config mit der Klasse rbac für den angegebenen Benutzer.
-C Gibt eine Reihe verwendeter Berechtigungen und Autorisierungen für die Prozessbaumstruktur in einer durch Kommas getrennten Liste aus. Diese Option und die Option -T schließen sich gegenseitig aus.
-i Prüfdatei Gibt die Prüflistendatei an, die vom Befehl rbacqry verarbeitet werden soll. Wenn keine Datei angegeben ist, verwendet das Flag standardmäßig die Datei /audit/trail.
-n Programmname Gibt den Namen des Zielprogramms an, dessen verwendete Berechtigungen verfolgt werden sollen.
-s Startet das Prüfsubsystem, wenn es inaktiviert ist. Startet das Prüfsubsystem erneut, wenn es bereits aktiviert ist.
-S Gibt die Ausgabe im Zeilengruppenformat aus.
-T Gibt eine Reihe verwendeter Berechtigungen und Autorisierungen für die Prozesse im Baumstrukturformat aus.
-t Zeitraum Gibt den Zeitraum (in Tagen) ab dem aktuellen Systemdatum an, für den der Bericht über verwendete Berechtigungen generiert werden soll.
-u Benutzername Gibt den Benutzernamen an. Diese Option ist erforderlich, um die Prüfereignisse für den Benutzer zu konfigurieren und den vom Benutzer ausgeführten Prozess abzufragen.

Exitstatus

Fehlerwert Beschreibung
= 0 Der Befehl wurde erfolgreich ausgeführt.
> 0 Es ist ein Fehler aufgetreten.

Sicherheit

Auf vertrauenswürdigen AIX können nur autorisierte Benutzer den Befehl ' restore ausführen.
Element Beschreibung
aix.fs.manage.restore Diese Berechtigung ist zum Ausführen dieses Befehls erforderlich.
Achtung RBAC-Benutzer und vertrauenswürdige AIX: Dieser Befehl kann privilegierte Operationen durchführen. Privilegierte Operationen können nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen über Berechtigungen und Privilegien finden Sie unter Privilegierte Befehlsdatenbank in Sicherheit. Eine Liste der Berechtigungen und Autorisierungen, die diesem Befehl zugeordnet sind, finden Sie in den Beschreibungen des Befehls lssecattr und des Unterbefehls getcmdattr.

Beispiele

  1. Verwenden Sie eine der folgenden Methoden, um die Berechtigungen und Autorisierungen zu bestimmen, die von einem Programm verwendet werden:
    1. Wenn ein Programm oder eine Anwendung, für das bzw. die der Befehl rbacqry ausgeführt werden soll, von einem Benutzer ohne Rootberechtigung ausgeführt wird, führen Sie die folgenden Schritte aus:
      1. Aktivieren Sie das Programm in der Shell des Rootbenutzers oder eines autorisierten Benutzers vorübergehend für RBAC, indem Sie den Befehl setsecattr ausführen:
        setsecattr -c accessauths=ALLOW_ALL innateprivs=PV_ROOT secflags=FSF_EPS progpath
        Hinweis: Der Programmpfad muss ein vollständiger Pfadname des Programms sein, für das der Befehl rbacqry ausgeführt wird.
      2. Führen Sie setkst -t cmd (als Root oder berechtigter Benutzer) aus, damit die Änderungen wirksam werden.
      3. Führen Sie den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um den Benutzer für die Prüfung zu konfigurieren:
        rbacqry -c -s -u username
      4. Führen Sie das angegebene Programm oder die Anwendung als Benutzer ohne Rootberechtigung aus.
      5. Führen Sie nach Abschluss der Programmausführung den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um verwendete Privilegien und Berechtigungen zu erfassen:
        rbacqry -n program -u username (additional options can also be used)
        
      6. Entfernen Sie den Programmeintrag aus der Datei /etc/security/privcmds, der in Schritt (i) hinzugefügt wurde, indem Sie die folgenden Befehle als Root oder autorisierter Benutzer ausführen:
        rmsecattr -c progpath; setkst -t cmd
    2. Wenn ein Programm oder eine Anwendung von einem Rootbenutzer (als Rootanmeldung oder durch Wechsel zu einem Rootbenutzer mit dem Befehl su) ausgeführt wird und für das bzw. die der Befehl rbacqry ausgeführt werden muss, führen Sie die folgenden Schritte aus:
      1. Führen Sie den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um den Benutzer für die Prüfung zu konfigurieren:
        rbacqry -c -s -u root
      2. Führen Sie das angegebene Programm oder die angegebene Anwendung als Rootbenutzer aus.
      3. Führen Sie nach Abschluss der Programmausführung den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um verwendete Privilegien und Berechtigungen zu erfassen:
        rbacqry -n program -u root (additional options can also be used)
        Hinweis: Führen Sie bei der Traceerstellung für ein Programm oder eine Anwendung, das bzw. die durch Wechseln zu einem Rootbenutzer mit dem Befehl su nach den Schritten i und ii ausgeführt wurde, den Befehl rbacqry wie folgt aus:
        rbacqry -n program -u user_name (additional options can also be used)
  2. Führen Sie den folgenden Befehl aus, um die vom Befehl chfs (der vom Benutzer "Scooby" mit AIX-Berechtigung ausgeführt wurde) und seinen erzeugenden Prozessen verwendeten Berechtigungen und Autorisierungen in einer Baumstrukturausgabe anzuzeigen:
    # rbacqry -n chfs -u scooby -T
    CMD                     AUTHORIZATIONS                  USED_PRIVS
    ----------------------------------------------------------------------------------
    chfs                    aix.fs.manage.change
    |                                                       PV_FS_RESIZE
    |
    |\extendlv              aix.lvm.manage.extend
    |  |                                                    PV_AU_ADMIN            PV_KER_ACCT
    |  |
    |  |\putlvcb            aix.lvm.manage
    |  |  |                                                 PV_FS_MKNOD            PV_PROC_PRIV
    |  |  |                                                 PV_KER_LVM             PV_DEV_QUERY
    |  |  |
    |  |\lextendlv          aix.lvm.manage.extend
    |  |  |                                                 PV_AU_ADD              PV_AU_PROC
    |  |  |                                                 PV_FS_MKNOD            PV_PROC_PRIV
    |  |  |                                                 PV_KER_ACCT            PV_KER_LVM
    |  |  |                                                 PV_DEV_QUERY           PV_SU_UID
    |  |  |
    |  |  |\savebase        aix.system.boot.create
    |  |  |  |                                              PV_AU_PROC             PV_FS_MKNOD
    |  |  |  |                                              PV_PROC_PRIV           PV_KER_ACCT
    |  |  |  |                                              PV_KER_LVM             PV_DEV_QUERY
    |  |  |  |                                              PV_SU_UID
    |  |  |  |
    |  |  |  |\compress     aix.fs.manage.backup
    |  |  |  |  |                                           PV_KER_ACCT            PV_SU_UID
    |  |  |  |  |
    .....
  3. Führen Sie den folgenden Befehl aus, um die vom Befehl chfs (der vom Benutzer "Scooby" mit AIX-Berechtigung ausgeführt wurde) verwendeten Berechtigungen und Autorisierungen über eine andere Prüflistendatei anzuzeigen:
    # rbacqry -u scooby -n chfs -i /audit/trail_example
    CMD           AUTHORIZATIONS                USED_PRIVS
    ----------------------------------------------------------------------------------
    chfs          Used_Auth:                    PV_DAC_O              PV_FS_CHOWN
                  aix.fs.manage.change          PV_FS_RESIZE
                  Checked_Auths:                          
  4. Führen Sie den folgenden Befehl aus, um eine durch Kommas getrennte Liste der vom Befehl chfs (der von Benutzer "Scooby" mit AIX-Berechtigung ausgeführt wurde) verwendeten Berechtigungen abzurufen:
    # rbacqry -n chfs -u scooby -C
    CMD                     AUTHORIZATIONS          USED_PRIVS
    ----------------------------------------------------------------------------------
    chfs                    aix.fs.manage.change
                                                    PV_FS_RESIZE
    extendlv                aix.lvm.manage.extend
                                                    PV_AU_ADMIN,PV_KER_ACCT
    putlvcb                 aix.lvm.manage
                                                    PV_FS_MKNOD,PV_PROC_PRIV,PV_KER_LVM,PV_DEV_QUERY
    lextendlv               aix.lvm.manage.extend
                                                    PV_AU_ADD,PV_AU_PROC,PV_FS_MKNOD,PV_PROC_PRIV,
                                                    PV_KER_ACCT,PV_KER_LVM,PV_DEV_QUERY,PV_SU_UID
    savebase                aix.system.boot.create
                                                    PV_AU_PROC,PV_FS_MKNOD,PV_PROC_PRIV,PV_KER_ACCT,
                                                    PV_KER_LVM,PV_DEV_QUERY,PV_SU_UID
    compress                aix.fs.manage.backup
                                                    PV_KER_ACCT,PV_SU_UID
    .......
    Dieses Ausgabeformat ist hilfreich, wenn der USED PRIVS-Satz dem privilegierten Befehl in der Datenbank /etc/security/privcmds hinzugefügt wird.
    Anmerkung: Die Systemberechtigung und die angepassten Berechtigungen können verfolgt werden. Wenn die Systemberechtigungen in der Ausgabe angezeigt werden müssen, muss dem Benutzer eine höhere Berechtigung (z. B. die AIX-Berechtigung) zugewiesen werden.
  5. Führen Sie den folgenden Befehl aus, um den Benutzer Scooby für die Prüfung zu konfigurieren:
    1. Führen Sie den folgenden Befehl aus, um den Benutzer zu konfigurieren und die Prüfung für diesen Benutzer zu starten:
      #/usr/sbin/rbacqry -c -s -u scooby
      
      Das Prüfsubsystem wird gestartet.
    2. Führen Sie den folgenden Befehl aus, um den Benutzer für die Prüfung zu konfigurieren, ohne die Prüfung erneut zu starten:
      #/usr/sbin/rbacqry -c -u scooby
      Anmerkung: Der Benutzer scooby wird vom Prüfsubsystem nicht verfolgt, weil die Prüfung nicht erneut gestartet wird. Es wird ein Eintrag für scooby in der Datei /etc/security/audit/config hinzugefügt. Sie müssen das Prüfsubsystem manuell neu starten, damit der Benutzer verfolgt werden kann, oder Sie müssen den Befehl rbacqry wie folgt ausführen:
      #/usr/sbin/rbacqry -c -s -u scooby
      
      Der Benutzer scooby ist bereits für die Prüfung konfiguriert. Das Prüfsubsystem wird gestartet.
  6. Führen Sie den folgenden Befehl aus, um die folgende Zeilengruppe für das Format -S anzuzeigen:
    # rbacqry -u scooby -n chfs -S chfs:
    				Used_Auth=aix.fs.manage.change
            Checked_Auths=
            Used_Privs=PV_DAC_O,PV_FS_CHOWN,PV_FS_RESIZE
     
  7. Führen Sie den folgenden Befehl aus, um den Befehl rbacqry ohne Formatierungsoptionen auszuführen:
    # rbacqry -u scooby -n chfs
    CMD           AUTHORIZATIONS                USED_PRIVS
    ----------------------------------------------------------------------------------
    chfs          Used_Auth:                    PV_DAC_O              PV_FS_CHOWN
                  aix.fs.manage.change          PV_FS_RESIZE
                  Checked_Auths:
     
    Hinweis: Der Parameter checked_Auths ist leer, wenn keine Parameter checked Auths vorhanden sind. Andernfalls zeigt der Befehl rbacqry die Parameter checked_auths wie folgt an:
    # rbacqry -u scooby -n lsuser
    CMD             AUTHORIZATIONS                   USED_PRIVS
    ----------------------------------------------------------------------------------
    lsuser          Used_Auth:                       PV_AZ_CHECK          PV_DAC_R
                    ALLOW_ALL                        PV_DAC_X
                    Checked_Auths:
                    aix.security.user.list
                    aix.security.user.audit
                    aix.security.efs

Dateien

Dateipfad Beschreibung
/audit/trail Gibt die Prüfdatei für die Erfassung der Prüfprotokolle an.