Windows İstemci ve ELK Entegrasyonu
Tags: elk, windows, winlogbeat
Published: 2022-04-07 11:49:01

Windows sistemlerin ELK'ya log gönderebilmesi için yapılması gereken işlemler aşağıdaki gibidir. 
## Adım 1 - Kurulum
- Winlogbeat Windows zip dosyasını resmi [indirme sayfasından](https://www.elastic.co/downloads/beats/winlogbeat-oss) indirin.
- Zip dosyasının içeriğini C:\Program Files içine çıkarın.
- winlogbeat-<version> dizinini Winlogbeat olarak yeniden adlandırın.
- Yönetici olarak bir PowerShell istemi açın (PowerShell simgesine sağ tıklayın ve Yönetici Olarak Çalıştır'ı seçin). Windows XP kullanıyorsanız, PowerShell'i indirip yüklemeniz gerekebilir.
- Winlogbeat'i bir Windows hizmeti olarak kurmak için aşağıdaki komutları çalıştırın:
```
PS C:\Users\Administrator> cd 'C:\Program Files\Winlogbeat'
PS C:\Program Files\Winlogbeat> .\install-service-winlogbeat.ps1

Security warning
Run only scripts that you trust. While scripts from the internet can be useful,
this script can potentially harm your computer. If you trust this script, use
the Unblock-File cmdlet to allow the script to run without this warning message.
Do you want to run C:\Program Files\Winlogbeat\install-service-winlogbeat.ps1?
[D] Do not run  [R] Run once  [S] Suspend  [?] Help (default is "D"): R

Status   Name               DisplayName
------   ----               -----------
Stopped  winlogbeat         winlogbeat
```

> Sisteminizde betik çalıştırma devre dışı bırakılmışsa, betik dosyasının çalışmasına izin vermek için geçerli oturumda yetki vermek için aşağıdaki komutu çalıştırmanız  gerekir. 
> ```
>  PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1
> ```

## Adım 2 - Winlogbeat'i Yapılandırması
- Winlogbeat yapılandırması, C:\Program Files\Winlogbeat içindeki winlogbeat.yml dosyasında bulunur.
- event_logs bölümünde, izlemek istediğiniz olay günlüklerini belirtin. Varsayılan olarak Winlogbeat, uygulama, güvenlik ve sistem günlüklerini izleyecek şekilde ayarlanmıştır:
```
winlogbeat.event_logs:
  - name: Application
  - name: Security
  - name: System
```
## Adım 3 - Çıktıyı yapılandırın
- Veriler dizine eklenmeden önce filtreleri çalıştırma seçeneğimiz olması için Logstash'a göndereceğiz.

Elasticsearch çıktı bloğunu ve Kibana bloğunun yoruma alınması gerekiyor.

```
...
...
#setup.kibana
...
...
# output.elasticsearch:
  # hosts: ["localhost:9200"]
  ...
  ...
  # pipeline: "winlogbeat-%{[agent.version]}-routing"
...
...
```
Logstash bloğu ise aşağıdaki şekilde güncellenmelidir. Aşağıdaki sunucuya **LOGSTACH_IP_ADRES** ve **LOGSTASH_PORT** alanları doğru olarak yazılmalıdır.
```
...
...
output.logstash:
    hosts: ["LOGSTACH_IP_ADRES:LOGSTASH_PORT"]
    ...
    ...
```
## Adım 4 - Yapılandırmayı doğrulayın
Yapılandırma dosyasının doğru ayarlanıp ayarlanmadığını  kontrol edelim.
```
PS C:\Program Files\Winlogbeat> .\winlogbeat.exe test config -c .\winlogbeat.yml -e
```
## Adım 5 - Winlogbeat Serisini Başlatma
- Aşağıdaki komut çalıştırılarak servisi başlatın.
```
PS C:\Program Files\Winlogbeat> Start-Service winlogbeat
```
- Winlogbeat şimdi çalışıyor olmalıdır. Burada açıklanan yapılandırmayı kullandıysanız, günlük dosyasını C:\ProgramData\winlogbeat\Logs\winlogbeat konumunda görüntüleyebilirsiniz.
- Windows'ta Hizmetler yönetim konsolundan hizmetin durumunu görüntüleyebilir ve kontrol edebilirsiniz. Yönetim konsolunu başlatmak için şu komutu çalıştırın:
```
PS C:\Program Files\Winlogbeat> services.msc
```
## Adım 6 - Winlogbeat Servisini Durdurma
Winlogbeat servisini aşağıdaki komutla durdurun:
```
PS C:\Program Files\Winlogbeat> Stop-Service winlogbeat
```