Graylog syslog serverinin quraşdırılması: 2-ci hissə
Salamlar.Bildiyimiz kimi məqaləmizin 1-ci hissəsində Graylog serverin quraşdırılmasından bəhs etmişdik.Bu məqalədə isə infrastrukturda mövcud Windows və Linux əməliyyat sistemli serverlərin loglarını mərkəzləşdirilmiş log servere nece yönləndirilməsindən danışacayıq.Bunun üçün bizə log collector lazım olacaq.Graylog rəsmi olaraq bir neçə log collector təklif edir.Bunlara “nxlog”,”Graylog Sidecar” və “Graylog Collector” aid edilir. Graylog 3.0 versiyasından etibarən Graylog collector deprecated olaraq elan edilib. Ətraflı: burada Biz nxlogdan istifadə edəcəyik.
Ilkin olaraq serverde aşağıdakı addımları etməliyik
1) Web browser ilə sistemə daxil oluruq
2)Logları qeyd etmək və onları message şəklində görmək üçün sistemdə yeni input yaradıb, sazlamalar aparmalıyıq.
3) GELF TCP graylogun teklif etdiyi standart Graylog Extended Log Formatdır. Qeyd edilən logların oxuna bilən hala gəlməsi üçün istifadə olunan protokol olaraq da düşünə bilərik.
4) Burada mən input name(title) kimi Windows Server 2012 qeyd etdim.Bind addess dedikdə client hostların hansı serverə log göndərməyi nəzərdə tutulur.12201 portu vasitəsilə ilə client ilə əlaqə qurulucaq.
5) Digər bir input isə linux client serverlər üçün yaratmalıyiq.Yuxarıdakı addımları təkrar edirik lakin yeganə fərq uyğun protokulun və portun seçilməsidir.Bu serverlərdə udp protokolundan və rsyslog-dan istifadə edəcəyim üçün aşağıdakı tənzimləməni apara bilərik.
Qeyd1:Graylogun əsasən sonuncu versiyasından etibarən portun 1024-dən böyük seçilməsi tövsiyyə edilir.Səbəb isə 1024-dən aşağı portların yalniz root useri tərəfindən işə salına bilməsidir.Əks halda “input failed to start” xətasını alacayıq.Link
Bununla da log serverdə gərəkli tənzimləmələri aparmış olduq.
İndi isə Windows əməliyyat sistemli hostda “nxlog” log collectorun tənzimləməsini edəcəyik.Proqram təminatınının uyğun versiyasını buradan əldə edib əməliyyat sisteminə quraşdırırıq.
Yükləmə uğurla bitdikdən sonra bu keçidə daxil olub nxlog.conf faylında graylog serverin ip ünvanını, inputda göstərdiyimiz protokolu və portu qeyd edirik.(Aşağıdakı faylda həmin hissələr bold,italic shriftlərlə qeyd olunub).Bu script vasitəsilə windows event loglar toplanaraq graylog serverə yönləndiriləcək. Tənzimləmələr aparıldıqdan sonra faylı əvəz edib nxlog servisi start edərək programın tənzimləməsini bitirmiş oluruq.
nxlog.conf faylı :
define ROOT C:\Program Files (x86)\nxlog
define CERT %ROOT%\cert
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
# Include fileop while debugging, also enable in the output module below
#<Extension fileop>
# Module xm_fileop
#</Extension>
<Extension json>
Module xm_json
</Extension>
<Extension syslog>
Module xm_syslog
</Extension>
<Extension gelf>
Module xm_gelf
</Extension>
<Input internal>
Module im_internal
</Input>
# Watch your own files
<Input file1>
Module im_file
File ‘%ROOT%\data\nxlog.log’
SavePos TRUE
Exec $Message = $raw_event;
</Input>
# Windows Event Log
<Input eventlog>
# Uncomment im_msvistalog for Windows Vista/2008 and later
Module im_msvistalog
# Uncomment im_mseventlog for Windows XP/2000/2003
# Module im_mseventlog
</Input>
<Output out>
Module om_tcp
Host Graylog Serverin İP adresi və ya hostname
Port 12201
OutputType GELF_TCP
# Exec $tmpmessage = $Message; delete($Message); rename_field(“tmpmessage”,”message”);
# Exec $raw_event = to_json();
# Uncomment for debug output
# Exec file_write(‘%ROOT%\data\nxlog_output.log’, $raw_event + “\n”);
</Output>
<Route 1>
Path internal, file1, eventlog => out
</Route>
Centos əməliyyatlı sistemli hostda isə biz rsyslog tərəfindən qeydə alınan logları graylog serverə yönləndirəcəyik.Bunun üçün Rsyslog.conf (/etc/rsyslog.conf) faylında sonuncu hissəyə *.* @graylog ip address:514 sətrini əlavə edib rsyslog servise restart vermək kifayət edir.
Burada @ işarəsi UDP üçün, @@ TCP üçün və *.* sistem tərəfindən qeyd olunan bütün loglar üçün olduğunu bildirir
Yuxarida göstərilən Qeyd1-i nəzərə alsaq, graylog serverde 514-cu porta gələn sorğular inputda qeyd edilən porta yöləndirilməlidir.
firewall-cmd –permanent –add-forward-port=port=514:proto=udp:toport= graylog input port number
firewall-cmd –reload
Yekun olaraq inputları refresh edib show received messages edərək logları analiz edə bilərik. Uğurlar!!!