Splunk Qurulması və Konfiqurasiyası
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.
GCP
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:

Virtual Maşına GUI əldə edilməsi
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:
sudo apt-get update
sudo apt-get upgrade


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.
sudo apt-get install ubuntu-desktop

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:
wget https://download.nomachine.com/download/8.10/Linux/nomachine_8.10.1_1_amd64.deb


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:
sudo apt install ./nomachine_8.10.1_1_amd64.deb

5.İndi yusif_kazimli istifadəçisini admin təyin edirəm:
usermod -a -G sudo,adm yusif_kazimli

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:

Splunk Qurulması
1.Splunk'ı yükləmək üçün aşağıdakı əmrdən istifadə edirəm:
cd /tmp && wget https://download.splunk.com/products/splunk/releases/7.1.1/linux/splunk-7.1.1-8f0ead9ec3db-linux-2.6-amd64.deb
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:
sudo dpkg -i splunk-7.1.1-8f0ead9ec3db-linux-2.6-amd64.deb

3.Sistem işə salındıqda Splunk'ı avtomatik işə salmaq üçün:
sudo /opt/splunk/bin/splunk enable boot-start

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
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):
windows host="msi"

Splunk Bar
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.
Apps Paneli
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).

Explore Splunk
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.

Dashboard
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:

Əsas Axtarış Mexanizmi
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.
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.
Əsas Filtrləmə
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:
source="some.log" Fatal | rex "(?i) msg=(?P[^,]+)"
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
source="some.log" Fatal
belə yazıla bilər
source="some.log" | regex _raw=".*Fatal.*"
və hər iki sorğu üçün eyni nəticəni əldə edirik.
Nəticənin Email ilə Göndərilməsi
Sorğunun sonuna "sendmail" əlavə edərək nəticəsini mail kimi qəbul edə bilərik:
... | sendemail to="[email protected]"
Lisenziyalar
splunk list licenses
Digər Faydalı Sorğular
source="/var/log/nginx/access.log" HTTP 500
source="/var/log/nginx/access.log" HTTP (200 or 30*)
source="/var/log/nginx/access.log" status=404 | sort - uri
source="/var/log/nginx/access.log" | head 1000 | top 50 clientip
source="/var/log/nginx/access.log" | head 1000 | top 50 referer
source="/var/log/nginx/access.log" | head 1000 | top 50 uri
source="/var/log/nginx/access.log" | head 1000 | top 50 method
Last updated
Was this helpful?