1. WEF konfigurieren

1. WEF konfigurieren
  • Wir haben einen SCOM 2012-Server.

  • Wir haben SNARE-Agenten für PCI-Compliance,aber jetzt wollen wir Geld sparen, indem wir alle Ereignisse für alle Windows-Server mit den nativen Funktionen erfassen.

  • Wir verfügen außerdem über einen zentralen Linux-Server, auf dem SYSLOG läuft und der die Protokolle in unserem Gerät zur Protokollaufbewahrung aggregiert (dies dient alles PCI-Zwecken).

Daher meine Frage:

Kann ein Windows-Server (SCOM 2012) die Ereignisprotokolle an einen Linux-Syslog-Server weiterleiten? Ich gehe davon aus, dass dies in einem standardmäßigen Flatfile-Format oder etwas Ähnlichem erfolgen würde.

Danke

Antwort1

Sie müssen einen Syslog-Agenten verwenden, da Windows keinen bereitstellt.

...das Windows-Betriebssystem enthält keinen Syslog-Agenten, der Syslog-Daten an einen Syslog-Server senden kann. Ohne einen Syslog-Agenten kann das Windows-Betriebssystem nicht nur keine Syslog-Nachrichten an einen Syslog-Server senden, sondern es kann auch keine Syslog-Nachrichten von Anwendungen senden, die im Windows-Betriebssystem ausgeführt werden (wie einem Webserver oder einer Datenbank).

Quelle

Sowohl diese Quellseite als auchGoogeln nach „Windows Syslog Agent“bieten viele verschiedene Syslog-Agenten, die Sie ausprobieren können.

Antwort2

Sie könnten NXLog auf dem Linux-Server ausprobieren, um die nativen WEF-Ereignisse von Windows zu empfangen und sie an den Syslog-Server weiterzuleiten, da NXLog eine Community-Edition hat. Mir fehlen im Moment die Ressourcen, um das auszuprobieren. Wenn NXLog intelligent genug ist, die WEFs vor der Weiterleitung an Syslog in Text umzuwandeln, könnte es funktionieren, andernfalls könnte es binäres Rauschen in Syslog einstreuen. Bitte melden Sie sich, wenn es funktioniert:

1. WEF konfigurieren

[ https://adamtheautomator.com/windows-event-collector/ ]

  • Erstellen Sie ein GPO über die Gruppenrichtlinien-Verwaltungskonsole. Navigieren Sie innerhalb des GPO zu Computerkonfiguration → Richtlinien → Administrative Vorlagen → Windows-Komponenten → Ereignisweiterleitung → Zielabonnement-Manager konfigurieren.
  • Legen Sie den Wert für den Zielabonnement-Manager auf den WinRM-Endpunkt auf dem Collector fest. Sie legen den Server im folgenden Format fest:
    • Server=http://hostname:5985/wsman/SubscriptionManager/WEC,Refresh=60

2. NXLog konfigurieren:

(Die WEF-Konfiguration zum Senden an NXLog wurde kopiert vonHier, aber sehen Sie sich meine Konfiguration unten in dieser SE-Antwort an, um die eigentliche Weiterleitung durchzuführen)

Erstellen und Zuordnen eines Active Directory-Domänenbenutzers

Damit ein WEC-Server auf einem Linux-Computer die Kerberos-Authentifizierung verwenden kann, muss im Active Directory ein entsprechender Benutzer erstellt und einem Kerberos-Prinzipalnamen zugeordnet werden.

On the domain controller, create a new user with its logon name matching the hostname of the WEC server.

    Go to Administrative Tools > Active Directory Users and Computers > example.com > Users.

    Right click and choose New > User.

        First name: linux-wec

        Full name: linux-wec

        User logon name: linux-wec

        Set a password for the user.

        Uncheck User must change password at next logon.

        Check Password never expires.

    Right click on the new user, click Properties, and open the Account tab.

        Check This account supports Kerberos AES 128 bit encryption.

        Check This account supports Kerberos AES 256 bit encryption.

On the DNS server, create an A record for linux-wec.example.com.

    Go to Administrative Tools > DNS > Forward Lookup Zones > example.com.

    Right click and choose New Host (A or AAAA)….

    Add a record with name linux-wec and IP address 192.168.0.3.

    Check the Create associated pointer (PTR) record option.

Back on the domain controller, open a command prompt and execute these commands. Use the same <password> that was specified when the above user was created. These commands map the domain account to the Kerberos principal names and generate two keytab files containing the shared secret.

> ktpass /princ hosts/[email protected] /pass <password> /mapuser EXAMPLE\linux-wec -pType KRB5_NT_PRINCIPAL /out hosts-nxlog.keytab /crypto AES256-SHA1

> ktpass /princ http/[email protected] /pass <password> /mapuser EXAMPLE\linux-wec -pType KRB5_NT_PRINCIPAL /out http-nxlog.keytab /crypto AES256-SHA1

Copy the resulting hosts-nxlog.keytab and http-nxlog.keytab files to the WEC server.

Konfigurieren von Kerberos auf dem WEC-Server

Nachdem der Active Directory-Benutzer erstellt und dem Prinzipalnamen zugeordnet wurde, kann der WEC-Server für die Kerberos-Authentifizierung konfiguriert werden.

Confirm that the Kerberos krb5 client and utility software are installed on the WEC server. The required package can be installed with yum install krb5-workstation or apt install krb5-user.

Edit the default Kerberos configuration file, usually located at /etc/krb5.conf.

    In section [domain_realm] add:

    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

    In section [realms] add:

    EXAMPLE.COM = {
     kdc = example.com
     admin_server = example.com
    }

Use ktutil to merge the two keytab files generated above.

# ktutil
ktutil:  rkt /root/hosts-nxlog.keytab
ktutil:  rkt /root/http-nxlog.keytab
ktutil:  wkt /root/nxlog-result.keytab
ktutil:  q

Validate the merged keytab.

# klist -e -k -t /root/nxlog-result.keytab
Keytab name: FILE:/root/nxlog-result.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   5 17.01.2021 04:20:08 hosts/[email protected] (aes256-cts-hmac-sha1-96)
   4 17.01.2021 04:20:08 http/[email protected] (aes256-cts-hmac-sha1-96)

Either copy the keytab into place, or merge it if there are already keys in /etc/krb5.keytab.

    To copy the keytab:

    # cp /root/nxlog-result.keytab /etc/krb5.keytab

    To merge the keytab and validate the result:

    # ktutil
    ktutil:  rkt /etc/krb5.keytab
    ktutil:  rkt /root/nxlog-result.keytab
    ktutil:  wkt /etc/krb5.keytab
    ktutil:  q

    # klist -e -k -t /etc/krb5.keytab
    Keytab name: FILE:/etc/krb5.keytab
    KVNO Timestamp           Principal
    ---- ------------------- ------------------------------------------------------
       <other entries>
       5 17.01.2021 04:20:08 hosts/[email protected] (aes256-cts-hmac-sha1-96)
       4 17.01.2021 04:20:08 http/[email protected] (aes256-cts-hmac-sha1-96)

Verify that the user account used by the NXLog service has sufficient privileges to open and read the /etc/krb5.keytab file. If not, Kerberos authentication will fail.

Test that the authentication with Active Directory is working successfully when using the keytab. Run the following command on the Linux WEC server. If the configuration is correct a ticket-granting ticket (TGT) will be created and cached. This command should be invoked with the same user that the NXLog service runs as. By default, it uses the nxlog user account.

# kinit -kt /etc/krb5.keytab http/[email protected]

Verify the ticket was obtained by running klist as the same user from the previous step:

# klist
Ticket cache: KCM:0
Default principal: http/[email protected]

Valid starting     Expires            Service principal
28/01/21 11:41:44  28/01/21 21:41:44  krbtgt/[email protected]
        renew until 04/02/21 11:41:44

#3 Verwenden Sie diese NXLog-Konfiguration, um Windows per Proxy an Syslog zu übermitteln:

# Recieve from native WEF:
<Input windows_events>
    Module              im_wseventing
    Address             https://linux-wec.example.com:5985/wsman
    ListenAddr          0.0.0.0
    Port                5985
    HTTPSCertFile       /path/to/server-cert.pem
    HTTPSCertKeyFile    /path/to/server-key.pem
    HTTPSCAFile         /path/to/ca-cert.pem
    <QueryXML>
        <QueryList>
            <Query Id="0">
                <Select Path="Application">*</Select>
                <Select Path="Security">*</Select>
                <Select Path="System">*</Select>
            </Query>
        </QueryList>
    </QueryXML>

    # Log connections for testing and troubleshooting
    LogConnections      TRUE
</Input>

# Send it to a syslog server:
<Output udp>
    Module  om_udp
    Host    192.168.1.1:514
</Output>

# (or using the syntax prior to NXLog EE 5,
# where the port is defined in a separate directive.)
#<Output udp>
#    Module  om_udp
#    Host    192.168.1.1
#    Port    514
#</Output>

# Route WEF to UDP
<Route uds_to_udp>
    Path    im_wseventing => udp
</Route>

verwandte Informationen