1. Настройте WEF

1. Настройте WEF
  • У нас есть сервер SCOM 2012.

  • У нас есть агенты SNARE для соответствия PCI,но теперь мы хотим сэкономить деньги, собирая все события для всех серверов Windows, используя его собственные функции.

  • У нас также есть централизованный сервер Linux, на котором запущен SYSLOG, который будет собирать журналы в нашем устройстве хранения журналов (все это необходимо для целей PCI).

Итак, мой вопрос:

Может ли сервер Windows (SCOM 2012) пересылать журналы событий на сервер Linux syslog? Я предполагаю, что это будет происходить с использованием стандартного формата плоского файла или чего-то подобного.

Спасибо

решение1

Вам необходимо использовать агент Syslog, так как Windows его не предоставляет.

...ОС Windows не включает агента syslog, который способен отправлять данные syslog на сервер syslog. Без агента syslog ОС Windows не только не может отправлять сообщения syslog на сервер syslog, но и не может отправлять сообщения syslog из любых приложений, работающих в ОС Windows (например, веб-сервера или базы данных).

Источник

И та исходная страница, иПоиск в Google по запросу «Windows Syslog Agent»предоставляют множество различных агентов Syslog, которые вы можете попробовать.

решение2

Вы можете попробовать NXLog на сервере Linux, чтобы получать собственные события WEF из Windows и пересылать их на сервер syslog, поскольку у NXLog есть версия Community. У меня нет ресурсов, чтобы попробовать это в данный момент. Если NXLog достаточно умен, чтобы преобразовать WEF в текст перед пересылкой в ​​syslog, то это может сработать, в противном случае он может распылить двоичный шум в syslog. Пожалуйста, сообщите, если это сработает:

1. Настройте WEF

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

  • Создайте GPO через консоль управления групповыми политиками. Внутри GPO перейдите в Конфигурация компьютера → Политики → Административные шаблоны → Компоненты Windows → Пересылка событий → Настроить целевой менеджер подписок.
  • Установите значение для целевого менеджера подписки на конечную точку WinRM на коллекторе. Вы установите Server в формате:
    • Сервер=http://имя_хоста:5985/wsman/SubscriptionManager/WEC,Refresh=60

2. Настройте NXLog:

(Конфигурация WEF для отправки в NXLog была скопирована изздесь, но посмотрите мою конфигурацию в нижней части этого ответа SE, чтобы выполнить фактическую пересылку)

Создать и сопоставить пользователя домена Active Directory

Чтобы сервер WEC на компьютере Linux мог использовать аутентификацию Kerberos, необходимо создать соответствующего пользователя в Active Directory и сопоставить его с именем участника Kerberos.

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.

Настройте Kerberos на сервере WEC

Теперь, когда пользователь Active Directory создан и сопоставлен с именем участника, сервер WEC можно настроить для аутентификации Kerberos.

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 Используйте эту конфигурацию NXLog для проксирования Windows в Syslog:

# 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>

Связанный контент