Güvenlik

Checkpoint USOM Entegrasyonu

 USOM nedir?

Ulusal Siber Olaylara Müdahale Merkezi (USOM), 20 Haziran 2013 tarihinde Bakanlar Kurulu Kararı ile yayınlanan “Ulusal Siber Güvenlik Stratejisi ve 2013-2014 Eylem Planı” 4. maddesi çerçevesinde Bilgi Teknolojileri ve İletişim Kurumu bünyesinde kurulmuştur.

Tüm dünya Threat Intelligence olarak bilgi paylaşımları yaparken bir çok URL Filter , Malware, Anti Spam özelliğini içeren ürünler Türkiye ve Türk kullanıcılarına yapılan saldırı tiplerinde sınıfta kalabiliyorlar. ( Özellikle phishing içeren bir çok yeni sitelerde)

Bu noktada USOM bize geniş ve sürekli güncellenen bir url listesi vererek aslında korunmamızı sağlıyor.

Checkpoint IOC nedir? Custom Intelligence Feed dedikleri ne oluyor?

Checkpoint kendi istihbaratı ile ünlenmiş bir şirket, fakat konu Türkçe domainler olunca bu istihbarat biraz yetersiz kalabiliyor. Aynı şekilde Dünya’nın farklı yerlerinde bizimle aynı sıkıntıyı çeken müşteriler yüzünden R80.20 sürümü içerisine kendi istihbaratlarımızı ekleyebilme özelliği getirdi. ( Daha önceki sürümlerde bu bazı scriptlerle oluyordu, fakat böyle direk dahili olması işlerimizi çok daha kolaylaştırıyor. )

Temel olarak bir link ya da dosyadan ilgili içerikleri okuyup Anti-Virus ve Anti-Bot blade leri ile bunları engelliyor. Yani cihazınızda bu bladeler açık olması gerekiyor.

IOC Ekleme methodları neler?

Eğer kendiniz bir IOC dosyası verecekseniz, şu kurallara uymanız bekleniyor.

  • Başlıkları ayırmak için ‘,’
  • Kayıtları ayırmak için ‘\n’
  • Başlıklar düz text olmalı(Herhangi bir noktalama olmamalı)
  • Her kayıt başlığa uygun olmalı ( Bir veride IP numarası ilk bölümde, ikinci veride Data,IP gibi olmamalı. Eğer vereceğiniz IP listesi ise, bütün hepsi IP listesi olmalı
  • Açıklama kısmı girebilirsiniz. ( Comment parametresi ile ayırabiliyorsunuz)
  • # işareti ile ilk satır olduğunu işaret edersiniz.

Bazı örnekler;

Dosyanızda sadece IP adresleri var ise;

ioc_feeds add –feed_name ip_list –transport http –resource “http://blocklist.greensnow.co/greensnow.txt” –format [value:1,type:ip]

46.38.144.146
104.131.154.154
192.42.116.41
46.38.144.17
46.38.144.32
46.38.144.57

Dosyanızda sadece domain adresleri var ise;

ioc_feeds add –feed_name ip_cidr_list_with_delimiter –transport https –resource “https://www.spamhaus.org/drop/edrop.txt” –format [value:1,type:ip] –delimiter “;” –comment “;”

#
#   DShield.org Suspicious Domain List
#    (c) 2020 DShield.org
#   some rights reserved. Details http://creativecommons.org/licenses/by-nc-sa/2.5/
#   use on your own risk. No warranties implied.
#   primary URL: http://www.dshield.org/feeds/suspiciousdomains_High.txt
#
#   comments: [email protected]
#    updated: Sat Jan  4 04:04:03 2020 UTC
#   
#    This list consists of High Level Sensitivity website URLs
#     Columns (tab delimited):
#
#      (1) site
#
# Site
3qbyaoohkcqkzrz6.torgate.es
pmenboeqhyrpvomq.swissprogramms.bid
fapet.ipb.ac.id
wasabi.mine.nu
52uo5k3t73ypjije.7jiff7.top
wjfkoqueatxdmqw.biz
52uo5k3t73ypjije.m5fgoi.top
974gfbjhb23hbfkyfaby3byqlyuebvly5q254y.mendilobo.com
cerberhhyed5frqa.lfotp5.top
76tguy6hh6tgftrt7tg.su
preapprovedloansonline.kz
cerberhhyed5frqa.zgf48j.win
bolerakopsoa.pw

Dosyanızda birden çok bilgi var olup, belli bir işaret ile ayrılmış ise;

ioc_feeds add –feed_name ip_list_with_spaces –transport local_file –resource “/home/admin/ioc/ip_list_with_spaces.txt” –format [value:3,comment:#2,type:ip] –comment [#] –delimiter “|”

IOC eklemek için kullanabileceğimiz CLI Komutları

ParametreAçıklamaÖrnek
pushFeed’i tetiklerioc_feeds push
showTüm feedleri görüntülerioc_feeds show
show -feed-name feed_adiSeçtiğiniz feed’in özelliklerini gösteririoc_feeds feed-name feed_adi
show_intervalFeedlerin kaynaktan kaç saniyede okuyacağını gösterir ioc_feeds show_interval 
set_interval secFeedlerin kaynaktan kaç saniyede okuyacağını değiştirir
ioc_feeds set_interval xxx
show_scanning_mode Scanning modun ayarlarını gösterir ioc_feeds show_scanning_mode 
set_scanning_mode  Scanning modun kapatıp açılmasını sağlar ioc_feeds set_scanning_mode off / on
add  Yeni Feed eklemek için
kullanabileceğiniz parametreler;

–feed_name  feed_adi
–transport <http/https/local_file/local_directory>
–resource <url/full_path>

Opsiyonel ayarlar;

–state <true/false> (active/inactive. default – True)
–feed_action <Prevent/Detect/Ask> (default – Prevent)
–user_name <user>
–proxy <proxy:port>
–proxy <none> don’t use proxy
–proxy <proxy:port> – Eğer gw ler çıkışta bir fw kullanıyor ise;
–proxy_user_name <user>
–test true
ioc_feeds add –feed_name local_feed –transport local_file –resource /home/admin/my_feed.csv

ioc_feeds add –feed_name remote_feed –transport http –resource 10.0.0.1/my_feeds/stix_feed.xml –proxy 127.10.10.1:8080 –state false feed_action detect –user_name [email protected]
modify  Eklediğiniz feedi düzenleme yarar ioc_feeds modify –feed_name feed_adi –state true
delete  Eklediğiniz feedi silmeye yarar ioc_feeds delete –feed_name feed_adi 

USOM dan dosyaları indirmek

Burada 2 yöntem kullanılabiliyor, 1. yöntem direk firewall üzerinden yapmak, 2. yöntem ise bir sunucu aracılığı ile firewall a tanıtmak. Firewall varken neden bir sunucuya ihtiyacım var derseniz, USOM istek sınırı getirmiş olmasından dolayı. Örneğin bir dosyayı beğenmeyip aynı anda bir daha çekmek isterseniz usom, sizi anlık olarak blocklayabiliyor. belli bir süre geçmesi gerekiyor. Ya da 1 den fazla cihazınız var ise, crontabları tek tek yapmanız gerekiyor, çünkü 2 veya daha fazla firewallınız aynı anda istek yapınca USOM gene blocklayacak. Belki bir cihazınız almışken, diğer cihazınız almamış olacak ya da eski kalmış olacak.

Normal şartlarda, Dünya üzerinde belli başlı ücretsiz servisleri eklerken çok bir işlem yapmanıza gerek kalmıyor, belli bir standartta geliyor. Ama şu anda en azından USOM’ı eklerken bazı düzenlemeler yapmamız gerekiyor. USOM Dosyası verirken çünkü hem domain veriyor, hem IP veriyor, hemde url veriyor. En temiz yöntem olarak ben hem URL yöntemine çevirmek hem de IP olarak ayrıştırıp eklemekte çözüm üretebildim.

Firewall Gateway lerimize bağlanarak işlemlere başlayalım.

mkdir /var/tmp/IOC
mkdir /var/tmp/IOC/sh
mkdir /var/tmp/IOC/data
mkdir /var/tmp/IOC/gecici

/var/tmp/IOC altında 4 klasör oluşturacağız. SH scriptimizin çalışacağı klasör sh klasörü, data klasörünün çalışacağı ise data klasörü. Bunların temizliklerini yaparken ise, gecici klasörünü kullanacağız.

Ardından sh çalışacak scriptimizi yaratalım.

vi /var/tmp/IOC/sh/usom.sh
#!/bin/sh

source /etc/profile.d/CP.sh


#Degerleri Ata

Gecici=/var/tmp/IOC/gecici
Kalici=/var/tmp/IOC/data


#USOM Dosyalarini indir ve temizle

curl_cli --insecure --retry 3 --retry-delay 180 https://www.usom.gov.tr/url-list.txt -o $Gecici/usom_domain.txt

#Dosyalari temizle

sed -i '/^$/d' $Gecici/usom_domain.txt
sed -i 's/,//g' $Gecici/usom_domain.txt
sed -i '/^http:\/\//! s/^/http:\/\//g' $Gecici/usom_domain.txt

#Dosyalari bos olmayanlari tasi

find $Gecici -size -1024k -delete
mv $Gecici/*.txt $Kalici/

Çıkmak için Escape tuşuna basıp :wq! yazabilirsiniz

Üstteki betiği özetlemek gerekirse, ilk 2 satırdaki checkpoint’e eğer crontab koyacaksanız güvenlik olarak bu şekilde eklemeniz gerekiyor. Aksi halde chmod dahi yapsanız çalışmayabiliyor.

Gecici ve Kalıcı olarak 2 değer atadık, neden direk dosyayı indirip üzerinde çalışmıyorsun derseniz, bazı durumlarda USOM dediğim gibi IP mizi bloklayabiliyor, bu zamanda da var olan dosyamız bozulmasın diye ayrı bir klasörde işlemleri yapıyoruz.

curl_cli –insecure ile https hatalarını bypass edip olası bir bağlantı probleminde 3 kere deneme üzerine ayarladık. Denemeler arasında ise 3 dakikalık bir ara bıraktık.

sed parametresi ise dosya içerisindeki bazı bozuk karakterleri temizliyor, örneğin direk usom dosyasında bir domain ‘,’ işareti ile bitiyor, bu yüzdende checkpoint bunu algılayamıyor. En son ise yazının başında belirttiğim gibi URL olarak ekleyeceğim için http:// yi tüm satırlarına başına ekliyoruz.

Olası bir durumda USOM ipnize block koyduysa, bir hata mesajı gönderiyor. Bu var olan dosyamızı bozmasın diye 1 mb altındaki bütün dosyaları siliyoruz.

Dosyamızı çalıştıralım.

sh /var/tmp/IOC/sh/usom.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1240k 100 1240k 0 0 2414k 0 –:–:– –:–:– –:–:– 2431k

Dosyamız data klasöründe usom_domain.txt adında bulunuyor. Dilerseniz icerigine bakabilirsiniz, şu şekilde domainler olması gerekiyor.

Dosyamız indiğine göre, artık ioc_feeds özelliği ile gatewayimize tanıtabiliriz.

ioc_feeds add –feed_name usom_domain –transport local_file –resource “/var/tmp/IOC/data/usom_domain.txt” –format type:url,value:1 –feed_action Prevent

Aşağıdaki şekilde bir bekleme süresi gelecek. Ondan sonra tanımlanmış olacak.

Doğru yüklenip yüklenmediğine bakmak için, usom listesindeki bir domaine istekte bulunalım.

Aşağıdaki listeden DNS Bilgisi olanı rastgele seçiyorum.

Firewall loglarımızda ilgili isteği görelim. IOC ler anti-virus blade’i altında bulunuyor. Bu yüzden log ekranına blade:anti-virus yazarak görebiliriz.

Eğer Blade üzerinde herhangi bir ayar yapmazsanız, bu istekler direk olarak checkpoint sunucularına gidiyor, ben logları göreyim ama istekler dışarıya çıkmasın diye, DNS trap özelliği ile 127.0.0.1 olarak ayarladım. Böylece istek yapan makine kendi içerisinde kalıyor.

Bunun ayarı için Threat Prevention tarafında Anti-Virus blade’i açık policy mizi edit yapıyoruz

Ve Malware DNS Trap bölümünde 127.0.0.1 olarak güncelliyoruz.

Bundan sonrası tamamen size kalmış. İsterseniz gaia OS ekranında Schedule edebilirsiniz, dilerseniz elle zaman zaman güncelleyebilirsiniz.

İlgili Makaleler

4 Yorum

  1. Hocam ben tam anlamadım şimdi bu yazının amacı anti usommu? Lütfen yardımcı olun

  2. Hayır, USOM’daki güncel linkler ile güvenlik duvarını entegre ederek, şirkette ilgili güvenlik duvarını kullanan kullanıcıların USOM’daki linklere gidişini engellemek.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu