Splunk Qurulması və Konfiqurasiyası
Last updated
Last updated
Splunk maşın məlumatlarını izləmək və təhlil etmək üçün istifadə olunan güclü platformadır.O, real vaxt rejimində infrastrukturunuza, proqramlarınıza və biznes proseslərinizə baxmağa imkan verir. Güclü axtarış imkanları, fərdiləşdirilə bilən idarə panelləri və geniş hesabat xüsusiyyətləri ilə Splunk təşkilatlara maşın məlumatlarını işlək kəşfiyyata çevirə bilir. İstər kiçik miqyaslı bir mühiti, istərsə də böyük müəssisəni idarəsində, Təhlükəsizlik Məlumatı və Hadisələrin İdarə Edilməsi (SIEM) və əməliyyat kəşfiyyatı üçün əsas həll yollarından biridir.
Bu dokumentasiyada, Splunk'ı GCP'da(Google CLoud Platform) yaratdığım virtual maşında quracam və konfiqurasiya prosesini göstərəcəm.
1.Splunk'ı yükləmək üçün Google Cloud Platform'da "ubuntu 20.04" maşını yaradacam. İlk öncə bu keçiddən istifadə edərək qeydiyyatdan keçirəm.Daha sonra "Navigation menu" bölməsindən istifadə edərək virtual maşını yaradacağım "Compute Engine -> VM Instances" bölməsinə gedirəm:
2."Create Instance" seçimindən istifadə edirəm və virtual maşını yaratmaq üçün parametrləri təyin edə biləcəyim səhifə açılır:
3."E2" seriyalı maşın mənim üçün kifayətdir, məqsədə və büdcənizə uyğun olaraq digər maşınlardan istifadə edə bilərsiniz:
4.Maşın spesifikasiyası hissəsində "e2-medium (2vCPU, 1 core, 8GB memory)" seçirəm.Bu, virtual maşının hər biri bir nüvəyə iki virtual CPU-ya və 8 GB yaddaşa (RAM) malik olduğunu göstərir. Daha yüksək parametrlər seçilə bilər:
"Boot Disk" hissəsində əməliyyat sistemini seçirik. Bu nümunədə "Ubuntu 20.04" istifadə edəcəyəm:
Artıq "CREATE" düyməsini klikləyərək maşınımızı yarada bilərik:
7.İndi "Connect" bölməsinin altındakı "SSH" seçimindən istifadə edərək maşınımıza qoşula bilərik:
1.Hər hansı bir tağşırığa başlamazdan öncə aşağıdakı əmrlər ilə sistemin mövcud paketlər haqqında ən son məlumatdan istifadə etməsinə və proqram təminatının güncəl olmasına nail ola bilərik:
2.Aşağıdakı əmr ilə Ubuntu Desktop mühitini serverdə quraşdırırıq. Defolt olaraq, Ubuntu'nun bir çox server quraşdırmalarında sistem resurslarını qorumaq üçün qrafik istifadəçi interfeysi (GUI) yoxdur. ubuntu-desktop paketi Ubuntu masa üstü sistemlərində tapılan tam qrafik mühiti özündə saxlayır.
3.NoMachine istifadəçilərə uzaq kompüterin qrafik iş masası mühitinə qoşulmağa və ona daxil olmağa imkan verən uzaq masaüstü proqramdır. O, istifadəçilərə maşın üzərində fiziki olaraq onun yerində mövcudmuş kimi işləməyə imkan verir. Linux, Windows və macOS daxil olmaqla müxtəlif əməliyyat sistemlərini dəstəkləyir. Bu keçiddən istifadə edərək "Download"a yerləşdirilən linki götürürəm və "wget" əmri ilə onu virtual maşınıma yükləyirəm:
4.Daha sonra aşağıdakı əmr ilə nomachine_8.10.1_1_amd64.deb adlı local fayldan nomachine adlı paketi apt paket menecerindən istifadə edərək quraşdırırıq:
5.İndi yusif_kazimli istifadəçisini admin təyin edirəm:
6.NoMachine ilə öz sistemimdən serverdəki ubuntu maşınına qoşula bilmək üçün 4000 portunu açıram:
7.Bu port üçün yeni firewall "rule" əlavə edirəm:
8.Qaydanın adını təyin etdikdən sonra tətbiq olunacağı maşınlar kimi "All instances in the network" seçirəm:
9.Bu porta qoşula biləcək ip ünvan aralığını(firewall qaydasında 0.0.0.0/0-ın icazə verilən IP diapazonu kimi göstərilməsi o deməkdir ki, siz istənilən IP ünvanından trafikə icazə verirsiniz) və 4000 portunu qeyd edib qaydanı yaradıram:
10.Artıq NoMachine proqramını öz sistemimizə yükləyib, serverdəki ubuntu maşınımızın 4000-ci portuna qoşulaq bilərik. NoMachine yükləmək üçün bu keçiddən istifadə edə bilərsiniz. Proqramı yükləyib, razılğı təsdiq etdikdən sonra belə bir pəncərə açılacaq:
11.Burada "Add" seçimindən istifadə edərək uzaq ubuntu maşınımızın ip ünvanı və qoşulacağımız portun nömrəsini(4000) qeyd edirik:
12.Artıq qoşula bilərik. Bayaq parol təyin edib, admin etdiyim yusif_kazimli istifadəçisi kimi sistemə qoşulacam:
13.Və artıq serverdəki Ubuntu maşınımız üçün GUI əldə etdik. NoMachine ilə ubuntuya qoşularaq istədiyimiz əməliyyatları həyata keçirə bilərik:
1.Splunk'ı yükləmək üçün aşağıdakı əmrdən istifadə edirəm:
Bu əmr cari qovluğu /tmp qovluğuna dəyişir və verilmiş URL-dən Linux 64-bit (amd64) üçün Splunk'ın (7.1.1) xüsusi versiyasını endirir./tmp-nin istifadəsi Splunk paketini müvəqqəti kataloqda yükləmək üçündür. Buraya yüklədikdən sonra Splunk paketinin əlavə quraşdırılması və ya manipulyasiyası həyata keçirilə bilər.
2.İndi isə bu əmr ilə Splunk paketini sistemə quraşdırırıq:
3.Sistem işə salındıqda Splunk'ı avtomatik işə salmaq üçün:
4.Və sonda Admin üçün parol təyin edirik:
5.Splunk servisini aşağıdakı əmr ilə başladırıq və Splunk 8000 portunda xidmətə başlayır. http://localhost:8000 URL vasitəsilə local maşından daxil olmaq mümkündür.
Username:Admin və təyin etdiyiniz paroldan istifadə edərək giriş edə bilərsiniz. Mən bu dokumentasiyada "Free" versiyadan istifadə edəcəyəm, amma bu keçiddən istifadə edərək developer lisenziyası tələb edərək, bir çox funksiyalara əlçatanlıq təmin edə bilərsiniz.
6.Localda splunk'ı bu formada açmaq mümkündür. Digər maşınlardan əlçatanlıq yaratmaq üçün GCP'dəki virtual maşın üçün 8000 port firewall "rule" yaradıram:
Artıq "http://ip:8000 ilə istədiyim maşından splunk'a daxil ola bilərəm.
Splunk Universal Forwarder logları və hadisə məlumatlarını mərkəzi Splunk instansiyasına yönləndirmək üçün nəzərdə tutulmuşdur. Bu, maşın tərəfindən yaradılan məlumatların axtarışı, monitorinqi və təhlili üçün platforma olan Splunk proqram dəstinin bir hissəsidir. Bu hissədə Splunk Universal Forwarder'dən istifadə edərək öz Windows maşınımın loglarını Splunk'a ötürəcəm
1.Bu keçiddən istifadə edərək Windows üçün Splunk Universal Forwarder yükləyirəm:
2.SPF'i açıram və quraşdırmağa başlayıram:(Customize Options seçimi ilə davam edirəm)
3.Bu hissəyə yeni məlumat əlavə etmirəm. Bu halda, göndərilən data defolt Splunk sertifikatı ilə şifrələnəcək.
4.SPF'i Local sistem kimi yükləmək seçimini təsdiqləyirəm. Bu halda, Forwarder'in maşındakı bütün dataya əlçatanlığı olacaq.
5.Yönləndiriləcək logları özünüz seçə bilərsiniz:
6.Administrator hesabı üçün parol və istifadəçi adını təyin edirəm:
7.Qəbul edicinin məlumatlarını daxil edirik:
Və yükləməni tamamlayıram:
8.Virtual maşının 9997 portu üçün digərlərində olduğu kimi "rule" yaradıram:
9.İndi isə Splunk'da "Settings->Forwarding and receiving" hissəsinə keçid edirəm:
10.Data qəbul etmək üçün 9997 portunu əlavə edirəm:
11.Artıq Windows maşının logları Splunk'a yönləndirilir.Bunun üçün "Search & Reporting" hissəsinə keçid edib aşağıdakı axtarışı həyata keçirirəm(cihazımın adı(hostname) MSI'dir):
Splunk-a daxil olduqda, aşağıdakı ekran görüntüsü ilə eyni olan standart əsas ekranı görəcəksiniz:
Yuxarıdakı panel Splunk Bar adlanır:
Bu paneldə sistem səviyyəli mesajları (Messages) görə, Splunk instansiyasını konfiqurasiya edə (Settings), işlərin gedişatını nəzərdən keçirə (Activity), kömək (Help) və axtarış funksiyası (Find) kimi müxtəlif məlumatları nəzərdən keçirə bilərsiniz.
Digər bir panel Apps(Proqramlar) panelidir. Bu paneldə Splunk üçün quraşdırılmış proqramları görə bilərik.Hər Splunk quraşdırması üçün standart proqram Axtarış və Hesabatdır(Search & Reporting).
Bu paneldə Splunk'a məlumat əlavə etmək, yeni Splunk proqramları əlavə etmək və Splunk dokumentasiyasına daxil olmaq üçün keçidlər var.
Son bölmə Home Dashboard Panelidir. Defolt olaraq, Splunk yükləndiyi zaman heç bir panel göstərilmir. Splunk instansiyasında asanlıqla əldə edilə bilən bir sıra idarə panelləri var. Siz açılan menyudan və ya dashboards listing səhifəsinə daxil olaraq onları seçə bilərsiniz.
1.Məqsədlərinizə uyğun dahsboard qurmaq üçün Splunk naviqasiya çubuğunda "Dashboards" seçiminə klikləyin:
2.Daha sonra "Create New Dashboard" seçimindən istifadə edərək yeni idarə etmə paneli yaradın:
3."Dashboard" üçün ad, ID, təsvir hissələrini doldurun:
4.Artıq "Add Panel" seçimi ilə istəyinizə uyğun panelləri öz dashboard'unuza əlavə edə bilərsiniz.
5.Bu nümunədə, Windows Security loglarını izləyə bilmək üçün Events paneli əlavə edirəm:
Gördüyünüz kimi bu paneldə Windows maşınının Security Logları əks olunur.
6."Select Visualizations" bölməsindən panelin görünüşünü dəyişə bilərik.
Məsələn, cədvəl formatında:
7.Dashboard'un qurulması prosesini bitirdikdən sonra onu yadda saxlaya bilərik. Bu dashboard'da yığılan məlumatları pdf formatda fayl kimi endirmək mümkündür.
8.Qurulan idarə paneli, "Set as Home Dashboard" seçimi ilə home dashboard kimi seçilə bilər:
Search & Reporting App'da olan Splunk Axtarış Başlığı, istifadəçilərin aşağıda göstərildiyi kimi indekslənmiş qeydlərdə axtarış edə biləcəyi yerdir. İstifadəçi hər hansı bir termini axtardıqda və ya Splunk Search Processing Language(SPL kimi tanınan Axtarış dilindən istifadə etdikdə sorğu indeksləşdiriciyə göndərilir və müvafiq hadisələr sahə-dəyər cütləri şəklində qaytarılır.
Splunk'da iki əsas filtrləmə mexanizmi, “rex” və “regex” istifadə olunur. “rex” verilən sahəni çıxarır və onu yeni bir yerdə saxlayır.Bunun üçün çıxarılan qrup “(?…)” sintaksisi ilə verilir:
Yuxarıdakı sorğunu yerinə yetirdikdən sonra, "some.log" faylından ilk 10 fatal mesajı göstərməli olan "FIELDNAME" adlı yeni çıxarılan sahə üçün "interesting fields" siyahısına baxın.
"rex" və "regex" arasındakı fərq nədir? “regex” grep'ə bənəyir. Aşağıdakı sorğu regex'dən istifadə edilərək
belə yazıla bilər
və hər iki sorğu üçün eyni nəticəni əldə edirik.
Sorğunun sonuna "sendmail" əlavə edərək nəticəsini mail kimi qəbul edə bilərik:
Text axtarışı
Nümunə
‘Nümunə’ sözünü tapır
Bir İki Üç
Bu sözləri sırasından asılı olmayaraq tapır
"Bir İki Üç"
Məhz bu ifadənin özünü tapır
Sahələrə əsasən (source,status) filtrləmə
source="/var/log/apache/access.log" status=500
/var/log/apache/access.log faylından "status" dəyərinin 500 olduğu bütün sətirlər
Host'a əsasən filtrləmə
host="msi" source="/var/log/syslog" Fatal
msi host'unun syslog faylından fatal errorları əldə edir
Index'ə əsasən filtrləmə
index="security_logs" password
"security_logs" index'ində password sahəsini əldə edir."indeks" məlumatların saxlandığı və səmərəli axtarış üçün təşkil edildiyi kolleksiyaya və ya verilənlər bazasını ifadə edir.