Open Source

Vuls’u Ubuntu 22.04’te Güvenlik Açığı Tarayıcısı Olarak Kullanma

Adım 1 — Bağımlılıkları Yükleme

Bu bölümde, Vuls verilerini depolamak için bir klasör oluşturacak, Go programlama dilinin en son sürümünü kuracak ve Vuls ve bağımlılıklarının gerektirdiği diğer paketleri kuracaksınız.

Bu öğretici için, Vuls ile ilgili tüm verileri dizinde depolayacaksınız. Aşağıdaki komutu çalıştırarak oluşturun: /usr/share/vuls-data

sudo mkdir /usr/share/vuls-data

tarafından erişilebilir hale getirmek kerimiçin aşağıdaki komutu çalıştırın:

sudo chown -R kerim/usr/share/vuls-data

Artık vuls-data çalışma alanınız olacak klasörü oluşturdunuz. Gerekli paketleri kurmaya devam etmeden önce, önce paket yöneticisi önbelleğini güncelleyin:

sudo apt update

Bağımlılıkları indirmek ve derlemek için gitgccmakesqliteve . güvenlik açığı bilgilerini depolamak için burada kullanacağınız bir veritabanı sistemidir. herhangi bir anda hangi paketlerin yeniden başlatılabileceği ve başlatılması gerektiği hakkında bilgi sağlayan yardımcı programı içerir .debian-goodieswgetsqlitedebian-goodiescheckrestart

Hepsini tek bir komutla kurabilirsiniz:

sudo apt install sqlite git debian-goodies gcc make wget -y

Artık gerekli paketleri yüklediniz ve Go’nun ve Vuls’un kullanacağı ilgili programların kurulumuna devam edebilirsiniz.

Go’yu Yükleme

snap Aşağıdaki komutu çalıştırarak paket yöneticisini kullanarak Go’yu kurun :

sudo snap install go --classic

snap Dilin en son sürümünü yüklediği için Go’yu yüklemek için kullanırsınız , bunun aksine apt, daha eski bir sürümü yükleyebilir. Daha eski bir sürümle çalışmanız önerilmez ve bu öğreticiyi tamamlamanıza engel olabilir.

Go’nun çalışması için ayarlayacağınız birkaç ortam değişkeni gerekir: GOPATH ve PATHGOPATHGo için çalışma dizinini belirtir. PATH programların yerleştirildiği dizinleri içeren , sisteme Go’nun kendisini nerede bulacağını söylemek için genişletilmelidir.

Kullanıcı her oturum açtığında bu ortam değişkenlerinin ayarlanması gerekir. Bunu otomatikleştirmek için, adında yeni bir yürütülebilir dosya go-env.sh oluşturacaksınız /etc/profile.d. Bu, bir kullanıcı her oturum açtığında dizinin yürütülmesine neden olur.

go-env.sh Metin düzenleyicinizi kullanarak oluşturun :

sudo nano /etc/profile.d/go-env.sh

Dosyaya aşağıdaki komutları ekleyin: /etc/profile.d/go-env.sh

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:/snap/bin

Komut, verilen export ortam değişkenini istenen değere ayarlar. Burada, doldurmak için GOPATH ve PATH uygun değerlerle kullanırsınız.

Dosyayı kaydedip kapatın.

Şu anda go-env.sh yürütülebilir değil. Bunu düzeltmek için aşağıdaki komutu çalıştırarak yürütülebilir olarak işaretleyin:

sudo chmod +x /etc/profile.d/go-env.sh

Tekrar giriş yapmanıza gerek kalmaması için aşağıdakileri go-env.sh çalıştırarak yeniden yükleyebilirsiniz:

source /etc/profile.d/go-env.sh

Komut, verilen source dosyayı durumunu korurken mevcut kabuğa yeniden yükler.

Artık Go dilini kurdunuz, ortam değişkenlerini kurdunuz ve daha sonra ihtiyaç duyacağınız paketleri kurdunuz. Ardından, Vuls’un gerektirdiği Go programlarını indirip derleyeceksiniz. Bu programlar, Vuls’un güvenlik açığı veritabanlarını sorgulamak için kullandığı go-cve-dictionary ve programlarıdır. goval-dictionary

go-cve-dictionary’i Kurma ve Çalıştırma

Bu bölümde, Ulusal Güvenlik Açığı Veritabanına go-cve-dictionary erişim sağlayan Go paketini indirip derleyeceksiniz . Ardından, Vuls’un kullanabileceği güvenlik açığı verilerini almak için çalıştıracaksınız. NVD, güvenlik açığı kimliklerini (CVE — Ortak Güvenlik Açıkları ve Etkilenmeler), özetleri ve etki analizlerini içeren, ABD hükümetinin kamuya açıklanmış siber güvenlik açıkları deposudur ve makine tarafından okunabilir bir formatta mevcuttur.

Go, paketleri $GOPATH/src/. Bunu, orijini not etmek için alt dizinlerin kullanımıyla daha da genişletebilirsiniz. example-user Örnek olarak, kullanıcı tarafından yapılan GitHub paketleri .$GOPATH/src/github.com/example-user

Önce go-cve-dictionary GitHub’dan Go paketini klonlayarak ve ardından derleyerek kuracaksınız.

Örnek yola göre depolamak için bir dizin oluşturarak başlayın:

mkdir -p $GOPATH/src/github.com/vulsio

Çalıştırarak ona gidin:

cd $GOPATH/src/github.com/vulsio

go-cve-dictionary Şimdi çalıştırarak GitHub’dan sunucunuza klonlayacaksınız :

git clone https://github.com/vulsio/go-cve-dictionary.git

Ardından, paket köküne gidin:

cd go-cve-dictionary

Son olarak, aşağıdaki komutu çalıştırarak derleyin ve kurun:

make install

Bu komutun tamamlanmasının biraz zaman alabileceğini unutmayın.

Sistem genelinde kullanılabilir hale getirmek için şuraya kopyalayın /usr/local/bin:

sudo cp $GOPATH/bin/go-cve-dictionary /usr/local/bin

go-cve-dictionary bir günlük çıkış dizinine erişim gerektirir; varsayılan olarak /var/log/vuls. Çalıştırarak oluşturun:

sudo mkdir /var/log/vuls

Şu anda günlük dizini herkes tarafından okunabilir durumda. Geçerli kullanıcıya erişimi aşağıdaki komutla kısıtlayın:

sudo chmod 700 /var/log/vuls

İzin bayraklarını olarak ayarlamak, 700 erişimi yalnızca sahibiyle kısıtlar.

veya başka bir kullanıcı tarafından erişilebilir hale getirmek kerim için aşağıdaki komutu çalıştırın:

sudo chown -R kerim/var/log/vuls

Ardından, güvenlik açığı verilerini NVD’den alıp Vuls çalışma alanınızda ( ) depolayacaksınız: /usr/share/vuls-data

go-cve-dictionary fetch nvd --dbpath /usr/share/vuls-data/cve.sqlite3

Bu komut, 2002 yılından geçerli yıla kadar NVD güvenlik açığı verilerini getirecek ve ./usr/share/vuls-data

Not: Bu komutun tamamlanması uzun zaman alacaktır ve sunucunuzda 2 GB’tan az RAM varsa başarısız olabilir.

Bu bölümde, go-cve-dictionaryVul’ların kullanması için NVD verilerini indirip yüklediniz ve ardından getirdiniz. goval-dictionary Şimdi Ubuntu için OVAL verilerini indirip yükleyecek ve alacaksınız .

goval-dictionary’i Kurma ve Çalıştırma

Bu bölümde, Ubuntu için OVAL veri tabanına goval-dictionary erişim sağlayan Go paketini indirip derleyeceksiniz . Daha sonra onu çalıştıracak ve Vul’ların kullanması için güvenlik açığı verilerini alacaksınız. OVAL, belirli bir sistemde yazılım güvenlik açıklarının olup olmadığını belirlemeye yönelik kontrolleri ifade etmek için kullanılan açık bir dil olan Açık Güvenlik Açığı ve Değerlendirme Dili anlamına gelir.

$GOPATH/src/github.com/vulsio Klasöre gidin :

cd $GOPATH/src/github.com/vulsio

Aşağıdaki komutu çalıştırarak paketi GitHub’dan klonlayın:

git clone https://github.com/vulsio/goval-dictionary.git

Paket klasörünü girin:

cd goval-dictionary

Şununla derleyin ve kurun make:

make install

/usr/local/bin Küresel olarak erişilebilir hale getirmek için kopyalayın :

sudo cp $GOPATH/bin/goval-dictionary /usr/local/bin

22 Ardından, aşağıdaki komutu çalıştırarak Ubuntu için OVAL verilerini getirin :

sudo goval-dictionary fetch ubuntu --dbpath=/usr/share/vuls-data/oval.sqlite3 22

goval-dictionary Burada, Ubuntu için OVAL verilerini indirip yüklediniz ve ardından getirdiniz. gost Ardından, Debian güvenlik izleyici verilerini indirip yükleyecek ve alacaksınız .

gost’u Kurma ve Çalıştırma

gost Bu bölümde, Debian güvenlik hata izleyicisine erişim sağlayan bir Go paketi indirecek ve derleyeceksiniz . Daha sonra onu çalıştıracak ve Vul’ların kullanması için güvenlik açığı verilerini alacaksınız. Ubuntu güvenlik izleyicisi, Ubuntu ile dağıtılan paketlerin güvenlik açığı durumu hakkındaki tüm bilgileri toplar.

Bu paketi daha önce olduğu gibi aynı dizinde saklayacaksınız. Aşağıdaki komutu çalıştırarak ona gidin:

cd $GOPATH/src/github.com/vulsio

Aşağıdakileri çalıştırarak paketi GitHub’dan klonlayın:

git clone https://github.com/vulsio/gost.git

Tamamlandığında, paket klasörünü girin:

cd gost

Şununla derleyin ve kurun make:

make install

/usr/local/bin Küresel olarak erişilebilir hale getirmek için kopyalayın :

sudo cp $GOPATH/bin/gost /usr/local/bin

Ardından, şunun için bir günlük dosyası dizini oluşturun gost:

sudo mkdir /var/log/gost

Geçerli kullanıcıya erişimi aşağıdaki komutla kısıtlayın:

sudo chmod 700 /var/log/gost

İzin bayraklarını olarak ayarlamak, 700 erişimi yalnızca sahibiyle kısıtlar. veya başka bir kullanıcı tarafından erişilebilir hale getirmek kerim için aşağıdaki komutu çalıştırın:

sudo chown -R kerim/var/log/gost

Ardından, Ubuntu güvenlik izleyici verilerini çalıştırarak getirin:

gost fetch ubuntu --dbpath=/usr/share/vuls-data/gost.sqlite3

Çıktı uzun olabilir. Terminalde silinmeyebilir, bu durumda clear komutu çalıştırabilirsiniz.

Az önce indirip gost kurdunuz, ardından Debian için verileri getirdiniz. Bir sonraki adımda, Vuls’u indirip kuracaksınız.

Adım 2 — Vul’ları İndirme ve Yapılandırma

Tüm bağımlılıklar yüklendiğinde, artık Vul’ları kaynak kodundan indirip derleyeceksiniz. Yerel makineyi taramak için de yapılandıracaksınız.

Bu komutla Vuls deposuna giden yolu içeren yeni bir dizin oluşturun:

mkdir -p $GOPATH/src/github.com/future-architect

Ona gidin:

cd $GOPATH/src/github.com/future-architect

Aşağıdaki komutu çalıştırarak GitHub’dan Vul’ları klonlayın:

git clone https://github.com/future-architect/vuls.git

Paket klasörünü girin:

cd vuls

Çalıştırarak aynı anda derleyin ve kurun:

make install

Bu komutun tamamlanmasının biraz zaman alabileceğini unutmayın.

/usr/local/bin Küresel olarak erişilebilir hale getirmek için kopyalayın :

sudo cp $GOPATH/bin/vuls /usr/local/bin

Şimdi, Vul’lar için bir yapılandırma dosyası oluşturacaksınız. Şuraya geri gidin: /usr/share/vuls-data

cd /usr/share/vuls-data

Vuls, yapılandırmasını config.toml. Metin editörünüzü kullanarak oluşturun:

sudo nano config.toml

Aşağıdaki yapılandırmayı girin: /usr/share/vuls-data/config.toml

[cveDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/cve.sqlite3"

[ovalDict]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/oval.sqlite3"

[gost]
type = "sqlite3"
SQLite3Path = "/usr/share/vuls-data/gost.sqlite3"

[servers]

[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]

Bu yapılandırmanın ilk iki bölümü ( cveDictovalDictve gost) Vul’ları az önce eklediğiniz güvenlik açığı veritabanlarına işaret eder. Bölüm servers, sunucuyla ilgili bilgilerin başlangıcını işaretler. Ayrı bölümler, her sunucu hakkındaki bilgileri gruplayacaktır. Vul’ların bu belirtilen yapılandırmayla tarayacağı tek sunucu yerel sunucudur: localhost.

Vuls, dört tarama modu sağlar:

  • Hızlı mod (varsayılan) kök ayrıcalıkları olmadan tarama yapar, bağımlılıkları yoktur ve hedef sunucuda çok hafiftir.
  • Hızlı kök modu , kök ayrıcalıklarıyla tarama yapar ve yükseltilmiş ancak henüz yeniden başlatılmamış işlemleri algılayabilir.
  • Derin tarama modu , hızlı kök modu ile aynıdır ancak değişiklik günlüklerini kontrol eder, bu da hedef sunucuda yüksek bir yüke neden olabilir.
  • Çevrimdışı mod , makineyi internet erişimi olmadan tarar ve diğer modlarla birlikte kullanılabilir.

Dosyayı kaydedip kapatın.

Yapılandırma dosyasının geçerliliğini test etmek için aşağıdaki komutu çalıştırın:

vuls configtest

Buna benzer bir çıktı alacaksınız:

Output[Jan  5 20:24:29]  INFO [localhost] vuls-v0.22.0-build-20230105_201926_554ecc4
[Jan  5 20:24:29]  INFO [localhost] Validating config...
[Jan  5 20:24:29]  INFO [localhost] Detecting Server/Container OS...
[Jan  5 20:24:29]  INFO [localhost] Detecting OS of servers...
[Jan  5 20:24:29]  INFO [localhost] (1/1) Detected: localhost: ubuntu 22.10
[Jan  5 20:24:29]  INFO [localhost] Detecting OS of containers...
[Jan  5 20:24:29]  INFO [localhost] Checking Scan Modes...
[Jan  5 20:24:29]  INFO [localhost] Checking dependencies...
[Jan  5 20:24:29]  INFO [localhost] Dependencies... Pass
[Jan  5 20:24:29]  INFO [localhost] Checking sudo settings...
[Jan  5 20:24:29]  INFO [localhost] sudo ... No need
[Jan  5 20:24:29]  INFO [localhost] It can be scanned with fast scan mode even if warn or err messages are displayed due to lack of dependent packages or sudo settings in fast-root or deep scan mode
[Jan  5 20:24:29]  INFO [localhost] Scannable servers are below...
localhost

Yapılandırmayı doğru girdiniz ve Vuls, yerel sunucuyu tarayabildiğini algıladı.

Yerel sunucuyu taramak için Vul’ları yüklediniz ve yapılandırdınız. Bir sonraki adımda, yerel bir tarama çalıştıracak ve oluşturulan raporu görüntüleyeceksiniz.

Adım 3 — Yerel Tarama Çalıştırma

Bu adımda, yerel bir tarama çalıştıracak ve ardından oluşturulan güvenlik açığı raporunu görüntüleyeceksiniz. Şimdiye kadar, yalnızca Vuls’un son adımda doğru bir şekilde algıladığı yerel sunucuyu yapılandırdınız. Açıkça belirtilmemişse, varsayılan tarama modu fast.

Bir tarama çalıştırmak için aşağıdaki komutu yürütün:

vuls scan

Çıktı şuna benzer olacaktır:

[Jan  5 20:26:14]  INFO [localhost] vuls-v0.22.0-build-20230105_201926_554ecc4
[Jan  5 20:26:14]  INFO [localhost] Start scanning
[Jan  5 20:26:14]  INFO [localhost] config: /usr/share/vuls-data/config.toml
[Jan  5 20:26:14]  INFO [localhost] Validating config...
[Jan  5 20:26:14]  INFO [localhost] Detecting Server/Container OS...
[Jan  5 20:26:14]  INFO [localhost] Detecting OS of servers...
[Jan  5 20:26:14]  INFO [localhost] (1/1) Detected: localhost: ubuntu 22.10
[Jan  5 20:26:14]  INFO [localhost] Detecting OS of containers...
[Jan  5 20:26:14]  INFO [localhost] Checking Scan Modes...
[Jan  5 20:26:14]  INFO [localhost] Detecting Platforms...
[Jan  5 20:26:14]  INFO [localhost] (1/1) localhost is running on other
[Jan  5 20:26:14]  INFO [localhost] Scanning OS pkg in fast mode
[Jan  5 20:26:14]  INFO [localhost] Scanning listen port...
[Jan  5 20:26:14]  INFO [localhost] Using Port Scanner: Vuls built-in Scanner

Scan Summary
================
localhost       ubuntu22.10     695 installed

To view the detail, vuls tui is useful.
To send a report, run vuls report -h.

Vuls, süreçte ne yaptığını günlüğe kaydetti. Belirlediği güvenlik açıkları raporunu görüntülemek için şunu çalıştırın:

vuls tui

Vuls, rapor görünümünü dört panele ayırır:

  • Sol üstte bulunan taranan makineler, Vuls’un taradığı makineleri listeler.
  • Bulunan güvenlik açıkları, makine listesinin sağında yer alır ve kurulu paketlerde bulunan güvenlik açıklarını gösterir.
  • Ayrıntılı bilgiler ekranın sol tarafını kaplayarak güvenlik açığı ile ilgili veritabanlarından alınan ayrıntılı bilgileri gösterir.
  • Ayrıntılı bilgilerin sağında yer alan etkilenen paketler, etkilenen paket sürümlerinin neler olduğunu ve sabit bir sürüm olup olmadığını gösterir.

ENTER tuşuna basarak imlecinizi panellerin her biri arasında dolaşabilirsiniz. Klavye oklarını kullanarak her bir panel içinde gezinebilirsiniz. İşiniz bittiğinde, CTRL+C çıkmak için basın.

Bu adımda, yerel bir tarama çalıştırdınız ve sonuçları incelediniz. Bir sonraki (isteğe bağlı) bölümde, Vul’ları birden çok hedef makineyi tarayacak şekilde yapılandıracaksınız.

Adım 4 — (İsteğe Bağlı) Birden Çok Hedef Makineyi Yapılandırma

Bu bölümde, birden fazla hedef makineyi taramak için Vul’ları yapılandıracaksınız. Bu işlem /etc/sudoers, hedef makinelerde yapılandırmayı ve bu hedefi taramak için Vul’ları yapılandırmayı gerektirir.

Hedef sunucunun IP adresine, hedef sunucuya root erişimine ve hedef sunucuda kullanılabilir bir hesaba sahip olmanız koşuluyla ( kerim-shark bu eğitimde) istediğiniz kadar sunucu ekleyebilirsiniz.

Hızlı modda tarama yapmak için hedef sunucuda yalnızca kök olmayan bir kullanıcı hesabı kullanabilirsiniz. Hızlı kök ve derin modlarda taramayı etkinleştirmek için /etc/sudoers dosyayı hedef makine(ler)de düzenlemeniz gerekir. Dosya sudoers, hangi kullanıcıların hangi komutları çalıştırabileceğini ve belirtilen komutlar için bir parolaya ihtiyacınız olup olmadığını denetler.

Dosyanın öneminden dolayı sudoershata ile çıkmaya çalışırsanız dosya uyarı verecektir.

Hedef sunucuda farklı oturum root açın ve sudoers şunu çalıştırarak düzenleme için açın visudo:

visudo

Bu satırı dosyanın sonuna ekleyin: /etc/sudoers

kerim-shark ALL=(ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/stat *, /usr/sbin/checkrestart

Bu satır , kullanıcının bir parola sağlamadan , ve kullanılabilir tüm komutları çalıştırmasına sudo izin verme talimatını verir. kerim-sharkapt-get updatecheckrestartstat

Dosyayı kaydedip kapatın. İşlem sırasında bir sözdizimi hatası yaptıysanız, sizi visudo bilgilendirecek ve tekrar düzenlemenizi veya çıkmanızı önerecektir.

Not: kerim-shark Kullanıcıyı içine ekleyerek, sudoersVul’ların hızlı kök ve derin modları kullanarak tarama yapmasına izin vermiş olursunuz. Bu modlara yerel makine ( ) için de izin vermek istiyorsanız, üzerinde localhost düzenleme yapabilirsiniz. sudoerslocalhostsudoers

Vuls checkrestart, güncellenen ancak yeniden başlatma gerektiren paketleri kontrol etmek için yardımcı programı kullanır. Hedef sunucuda olduğundan emin olmak için, aşağıdaki komutu çalıştırarak ikincil sunucu(lar)ınıza kurun:

apt install debian-goodies -y

Hedef sunucuda yapmanız gereken tek şey bu. Artık hedeften çıkış yapabilir ve ilk sunucunuza dönebilirsiniz.
Tarama için yeni bir sunucu eklemek için açın ve işaretin config.toml altına aşağıdaki satırları ekleyin :[servers]/usr/share/vuls-data/config.toml

[servers.target_name]
host = "target_ip"
port = "22"
user = "account_username"
keyPath = "/home/kerim/.ssh/id_rsa"
scanMode = [ "deep" ] # "fast", "fast-root" or "deep"

Yukarıdaki satırlar, yeni sunucular eklemek için bir şablondur. target_nameİstediğiniz adla, target_ip hedef sunucunun IP’siyle account_username, kullanıcı adıyla (bu eğitimde kullanır kerim-shark) değiştirmeyi ve user için özel RSA anahtarınızın yolunu sağlamayı unutmayın kerim. Vuls, SSH parola kimlik doğrulamasını desteklemez, bu nedenle a belirtilmesi keyPath gereklidir.

Dosyayı kaydedip kapatın.

Ardından, eklediğiniz her hedef sunucu için yerel makinede RSA anahtarlarını onaylayacaksınız. Bunu başarmak için, ilk sunucunuzdan hedef sunucuda uygun anahtarla oturum açacaksınız, örneğin:

ssh kerim-shark@target_ip -i /home/kerim/.ssh/id_rsa

Özel RSA anahtarınızın yolunu girmeyi unutmayın. Bağlanmaya devam etmek isteyip istemediğiniz sorulduğunda, girin yes ve ardından basarak oturumu kapatın CTRL + D.

Not: Anahtar dosya izinlerinin çok açık olduğu konusunda bir hata alırsanız 600, aşağıdaki komutu çalıştırarak izinleri açık olarak ayarlayın:

chmod 600 account_rsa_key

İzinlerin ayarlanması 600, anahtar dosyasını yalnızca sahibinin okuyup yazabilmesini sağlar.

Yeni yapılandırmanın geçerliliğini kontrol etmek için aşağıdaki komutu çalıştırın:

vuls configtest

Çıktı, bağımlılıklar, süper kullanıcı erişimi ve işletim sistemi sürümleri gibi Vuls’un kontrol ettiği her şeyi detaylandıracaktır. Herhangi bir hata varsa, config.toml bu bölümde daha önce sağlanan yapılandırmayla karşılaştırın.

Bu adımda, tarama için işaretleyerek Vuls yapılandırmanıza daha fazla sunucu eklediniz. Bir sonraki bölümde, Vul’ları periyodik olarak tarayacak ve bir Slack çalışma alanına rapor gönderecek şekilde yapılandıracaksınız.

Adım 5 — Periyodik Taramayı Yapılandırma ve Slack’e Raporlama

Artık Vul’ları Slack’e rapor gönderecek şekilde yapılandıracak ve cronVuls taramalarını periyodik olarak çalıştırmak için bir iş ayarlayacaksınız.

Slack entegrasyonunu kullanmak için, çalışma alanınız için Slack’te gelen bir web kancasına sahip olmanız gerekir . Gelen web kancaları , bir uygulamanın diğer uygulamalardan gerçek zamanlı bilgi sağlamasına olanak tanır. Bu durumda, Vul’ları Slack kanalınıza rapor verecek şekilde yapılandıracaksınız.

Bir web kancası oluşturmadıysanız, önce çalışma alanınız için bir uygulama oluşturmanız gerekir. Bunu yapmak için önce Slack’te oturum açın ve Slack’in uygulama oluşturma sayfasına gidin . Tanıyacağınız bir ad seçin, istediğiniz çalışma alanını seçin ve Uygulama Oluştur’a basın .

Yeni uygulamanın ayarlar sayfasına yönlendirileceksiniz. Sol gezinti çubuğunda Gelen Web kancaları öğesini seçin .

Gelen Web Kancalarını Etkinleştir başlığının yanındaki anahtar düğmesini Açık konumuna getirerek web kancalarını etkinleştirin .

Etkinleştirildiğinde sayfada yeni bir bölüm yüklenecektir. Çalışma Alanına Yeni Web Kancası Ekle düğmesine gidin ve ardından basın . Çalışma alanınıza erişim istemek için yeni bir sayfa açılacaktır. Raporların gönderilmesini istediğiniz kanalı seçin ve İzin Ver’e basın .

Web kancaları için ayarlar sayfasına geri yönlendirileceksiniz ve şimdi tabloda Web kancası URL’si altındaki yeni bir web kancası listelenecek . URL’yi kopyalamak ve daha sonra kullanmak üzere not almak için Kopyala’ya tıklayın .

İlk sunucunuz için terminalinize geri dönün, config.toml düzenleme için açın:

sudo nano config.toml

Aşağıdaki satırları ekleyin: /usr/share/vuls-data/config.toml

[slack]
hookURL      = "your_hook_url"
channel      = "#your_channel_name"
authUser     = "your_username"
#notifyUsers  = ["@username"]

your_hook_URL Not ettiğiniz webhook URL’si , your_channel_name istenen kanalın your_username adı ve webhook’u oluşturan Slack kullanıcısının kullanıcı adıyla değiştirin. Dosyayı kaydedip kapatın.

Entegrasyonu test etmek için aşağıdakileri çalıştırarak bir rapor oluşturabilirsiniz vuls report:

sudo vuls report -to-slack

Vul’ların çalışması ve çıkması birkaç dakika sürecektir. Bir hata döndürürse, önceki satırlara ne girdiğinizi kontrol edin.

Vuls’un raporu belirtilen kanala başarıyla gönderdiğini doğrulamak için Slack uygulamanızı kontrol edin.

Artık raporlamayı yapılandırdığınıza göre, planlanmış taramalar ayarlayabilirsiniz. Cron her Ubuntu makinesiyle birlikte gelen, zamana dayalı bir iş planlayıcıdır. crontab Bir komutun ne zaman çalıştırılması gerektiğini kesin sözdiziminde tanımlayan dosya aracılığıyla yapılandırılır . Düzenlemeye yardımcı olması için , geçerli dosyayı bir düzenleyicide crontab açan yardımcı programı kullanacaksınız. crontab

crontab Aşağıdaki komutu çalıştırarak geçerli dosyayı açın :

crontab -e

İstendiğinde, listeden tercih ettiğiniz metin editörünü seçin.

Dosyanın sonuna aşağıdaki satırı ekleyin:

0 0 * * * vuls scan -config=/usr/share/vuls-data/config.toml; vuls report -config=/usr/share/vuls-data/config.toml > /dev/null 2>&1

Bu satır , her gün öğlen ( söz diziminde ile gösterilir) belirtilen yapılandırma ile cron çalıştırılmasını bildirir. vuls scanvuls report0 0 * * *cron

Dosyayı kaydedip kapatın.

Bu adımda, Vul’ları Slack çalışma alanınıza cron bağladınız ve bir Vuls taraması çalıştıracak ve her gün öğlen Slack’e bildirecek şekilde yapılandırdınız.

Muhammed Kerim Koç

1996 yılında Giresun Şebinkarahisarda dünyaya geldim. İlk ve orta öğretimi Şebinkarahisarda tamamladım. Liseyi Şebinkarahisar Anadolu Teknik ve Endüstri Meslek Lisesinde bitirdim. Üniversite için de Şebinkarahisar Teknik Bilimler Meslek Yüksek Okulunda Bilgisayar programcılığını okudum. Üniversite stajı için gelmiş olduğum özel bir firmada işe başladım. 5,5 yıl bu firmadan çalıştıktan sonra farklı bir sektör olan inşaat sektöründe Bilgi teknolojileri Uzmanı olarak 8 ay çalıştım. Daha sonra özel bir şirkette Sistem Network Sorumlusu olarak 4 ay çalıştıktan sonra proje sonlandırılmasından dolayı işten ayrıldım. Tekrar dan 5.5 yıl çalışmış olduğum firmaya Sistem ve Network Yöneticisi olarak geri döndüm ve çalışmaya başladım. Kendimi geliştirmek için Bilge Adam Akademi den Sistem Uzmanlığı eğitimi aldım. Sanallaştırma ve Ağ tarafında kendimi sürekli olarak geliştiriyorum.

İlgili Makaleler

Başa dön tuşu