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 kerim
iç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 git
, gcc
, make
, sqlite
ve . 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 PATH
. GOPATH
Go 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-dictionary
Vul’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ü ( cveDict
, ovalDict
ve 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ı sudoers
hata 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-shark
apt-get update
checkrestart
stat
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, sudoers
Vul’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. sudoers
localhost
sudoers
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 cron
Vuls 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 scan
vuls report
0 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.