API Kullanımı

Başlangıç

MISP API, Tehdit İstihbaratı Paylaşım Platformu'nun (MISP), diğer sistemlerle entegrasyon için sağladığı güçlü bir araçtır. API, tehdit aktörlerinden zararlı yazılımlara kadar geniş bir yelpazedeki güvenlik verilerini paylaşmak için bir ortam sağlar. MISP API, otomatik veri alışverişi, analiz ve uyarı oluşturma gibi çeşitli güvenlik senaryolarında önemli rol oynar.

MISP API, uygulama geliştiricilerine, organizasyonların MISP platformunu kendi güvenlik altyapılarına entegre etmelerini sağlar. Bu entegrasyon, gerçek zamanlı tehdit bilgilerine erişim sağlayarak güvenlik operasyonlarını güçlendirir ve yanıt sürelerini iyileştirir. Ayrıca, MISP API, çeşitli güvenlik araçları ve sistemlerle etkileşim kurarak tehdit tespiti ve müdahale süreçlerini otomatikleştirmeyi kolaylaştırır. Bu sayede, kurumlar tehditlerle mücadele etmek için daha hızlı ve etkili bir şekilde hareket edebilirler.

OpenAPI Belgesi Kullanımı:

OpenAPI belgeleri, MISP API'nin kullanımını tanımlayan bir rehberdir. Bu belgeler, API endpoint'lerinin, parametrelerin ve kullanım yönergelerinin yanı sıra API'ye yapılan isteklerin nasıl yapılandırılacağı hakkında ayrıntılı bilgi sağlar. Özellikle, belgede her endpoint'in URL'si, desteklediği HTTP metotları (GET, POST, PUT, DELETE vb.), gerekli ve isteğe bağlı parametreler, yanıt formatı ve hata durumları gibi bilgiler bulunur.

OpenAPI belgeleri, MISP API'nin sağladığı işlevlerin ve servislerin ayrıntılı bir tanımını içerir. Bu belgeler, API'nin nasıl kullanılacağı hakkında kapsamlı bir rehber sağlar ve API'nin işlevselliğini tam olarak anlamak için önemlidir.

REST Client Arayüzü Kullanımı:

REST client arayüzü, kullanıcılara API'ye doğrudan erişim ve istek gönderme imkanı sağlar. Bu arayüz, API belgelerinde belirtilen parametreleri kullanarak istekler oluşturabilir ve cevapları alabilir. Kullanıcılar, API isteklerini kolayca yapılandırabilir, istenen parametreleri ekleyebilir ve istekleri göndererek API'den veri alabilirler.

REST client arayüzü genellikle bir web tabanlı uygulama veya bir masaüstü uygulama olarak sunulur. Kullanıcılar, bu arayüzü kullanarak belirli bir API endpoint'ine istek göndermek için gereken HTTP yöntemini (GET, POST, PUT, DELETE vb.) seçebilirler. Ardından, istek için gereken parametreleri ve verileri ekleyebilirler ve isteği göndererek API'den cevap alabilirler.

Bu arayüz, API'ye hızlı ve etkili bir şekilde erişmek için kullanışlı bir araçtır ve API'nin nasıl kullanılacağını anlamak için OpenAPI belgeleriyle birlikte kullanılabilir.

API Erişimi ve Yetkilendirme

MISP API'ye erişim, kullanıcıların güvenlik bilgilerini sağlamaları gereken yetkilendirme mekanizması üzerinden gerçekleşir. API'ye erişim için bir API anahtarı (Auth key) gereklidir ve bu anahtar, MISP kullanıcı arayüzünden ya da komut satırı aracılığı ile alınabilir.

API anahtarı, erişimin güvenliğini sağlamak için özenle saklanmalıdır, çünkü bu anahtar tüm veri tabanına erişim sağlar.

Kullanıcı Arayüzü:

  1. Profilim -> Kimlik Doğrulama Anahtarları Bölümü:
    • Bu adımlar, kullanıcının kendi API anahtarını oluşturmasını sağlar.
    • Kullanıcı, kendi hesabına giriş yaparak "Profilim" sekmesine gitmelidir.
    • Ardından, "Kimlik Doğrulama Anahtarları" bölümüne tıklamalı ve "Kimlik Doğrulama Anahtarı Ekle" seçeneğini seçmelidir.
    • Bu adımları takip ederek, kullanıcı kendi API anahtarını oluşturabilir ve kullanabilir.

image.png

Yönetici Arayüzü:

  1. Yönetici Olarak Başka Bir Kullanıcı İçin API Anahtarı Oluşturma:
    • Bu adımlar, yöneticinin başka bir kullanıcı adına API anahtarı oluşturmasını sağlar.
    • Yönetici, yönetici hesabına giriş yapmalı ve "Yönetim" sekmesine gitmelidir.
    • Ardından, "Kullanıcıları Listele" bölümüne tıklamalı ve istenen kullanıcının "Görünüm" sayfasına gitmelidir.
    • Kullanıcının sayfasında, "Kimlik Doğrulama Anahtarları" bölümünde "Kimlik Doğrulama Anahtarı Ekle" seçeneğini seçmelidir.
    • Bu adımları takip ederek, yönetici belirli bir kullanıcı adına API anahtarı oluşturabilir ve kullanıcıya iletebilir.

image.png

Ekran Görüntüsü - 2024-04-11 16-25-43.png

Kullanıcı Komut Satırı:

  1. Komut Satırı Kullanarak Kendi API Anahtarınızı Oluşturma:
    • Kullanıcı, MISP'in yüklemesinin yapıldığı dizindeki CLI (Command Line Interface) aracını kullanarak API anahtarı oluşturabilir.
    • CLI aracını çalıştırmak için aşağıdaki komutu kullanabilir:
      ./app/Console/cake user change_authkey [e-posta/kullanıcı_kimliği]
    • Bu komut, belirtilen kullanıcının API anahtarını değiştirir veya yeni bir API anahtarı oluşturur.

Yönetici Komut Satırı:

  1. Komut Satırı Kullanarak Başka Bir Kullanıcı İçin API Anahtarı Oluşturma:
    • API Yönetici düzeyinde bir API anahtarınız olması koşuluyla, başka bir kullanıcı adına API anahtarı oluşturabilirsiniz.
    • Bu işlem için [POST]/auth_keys/add/{{user_id}} uç noktasını kullanabilirsiniz. Burada {{user_id}}, API anahtarı oluşturmak istediğiniz kullanıcının kimliğini belirtir.
    • Bu istek, API yöneticisi tarafından yetkilendirilmiş olmalı ve belirtilen kullanıcının API anahtarını oluşturmak için gerekli izinlere sahip olmalısınız.
    • Bu şekilde, başka bir kullanıcı adına API anahtarı oluşturabilir ve belirli bir kullanıcıya iletebilirsiniz.

Kimlik doğrulama anahtarınız yalnızca bir kez görüntülenecek ve daha sonra tekrar erişilemeyecektir. Bu nedenle, anahtarı güvenli bir şekilde saklamanız önemlidir. Not almak veya güvenli bir parola yöneticisinde saklamak gibi uygun önlemler almanızı öneririz.

Ekran Görüntüsü - 2024-04-11 17-00-40.png

Bu anahtarlar, API'ye yetkilendirilmiş istekler göndermek için kullanılır ve kullanıcılara belirli bir güvenlik kimliği sağlar. API anahtarları, kullanıcıların MISP üzerinde belirli işlemleri otomatize etmelerine ve entegrasyonlar oluşturmalarına olanak tanır.

Rest Client Nedir?

REST Client, MISP API'yi etkili bir şekilde kullanmak için tasarlanmış bir araçtır. Bu araç, MISP platformuyla etkileşim kurmak için REST (Representational State Transfer) protokolünü kullanır ve bu sayede çeşitli güvenlik senaryolarında veri alışverişi yapmak için bir arabirim sunar.

REST client, Representational State Transfer (REST) prensiplerine uygun bir şekilde çalışan bir istemcidir. Bu istemci, bir RESTful web servisiyle etkileşim kurmak için HTTP protokolünü kullanır. 

Kullanım senaryoları:

  1. Veri Alma: MISP REST Client, MISP platformundan güncel tehdit bilgilerini almak için kullanılabilir. Tehdit istihbaratı paylaşımını güncel tutmak ve kuruluşun güvenlik durumunu izlemek için önemlidir.

  2. Veri Gönderme: MISP REST Client, kuruluşun kendi tehdit istihbaratı verilerini MISP platformuna göndermesine olanak tanır. Kuruluşun kendi gözlemlerini diğer kuruluşlarla paylaşarak daha geniş bir tehdit görüşünü sağlamak için önemlidir.

  3. Otomatik Analiz ve Uyarı: MISP REST Client, MISP platformundan alınan verileri otomatik olarak analiz ederek ve belirlenen kriterlere göre uyarılar oluşturarak güvenlik operasyonlarını otomatikleştirmek için kullanılabilir.

  4. Entegrasyon: MISP REST Client, diğer güvenlik araçları ve sistemleriyle entegrasyon sağlamak için kullanılabilir. Bu, MISP platformunun güvenlik altyapısına kolayca entegre edilmesini ve çeşitli güvenlik araçlarının birlikte çalışmasını sağlar.

REST Client ile API İstekleri

Ekran Görüntüsü - 2024-04-11 17-42-18.png

image.png

Ekran Görüntüsü - 2024-04-11 18-07-20.png

Sorgu oluşturucu butonuna tıklandığı zaman yeni bir alan açılır.

Ekran Görüntüsü - 2024-04-11 18-27-28.png

Kullanıcının daha karmaşık ve özelleştirilmiş sorgular oluşturmasına olanak tanıyan bir araçtır. Bu alanda kullanıcılar, isteklerini daha fazla filtrelemek veya belirli koşulları karşılayan verileri sorgulamak için kapsamlı sorgu kuralları oluşturabilirler.

Örneğin, bir kullanıcı belirli bir tarihten sonra oluşturulan etkinlikleri veya belirli bir tehdit seviyesine sahip olanları filtrelemek istiyorsa, query builder aracını kullanarak bu koşulları belirtebilirler. Ayrıca, bu araç sayesinde birden fazla koşulu birleştirerek daha karmaşık sorgular da oluşturulabilir.

Bu yeni alan, kullanıcılara API isteklerini daha esnek ve özelleştirilmiş bir şekilde oluşturma imkanı sunar ve istenen verilere daha doğru bir şekilde erişmelerini sağlar.

PyMISP ile Otomasyon

PyMISP - MISP'e Erişmek İçin Python Kütüphanesi

PyMISP, MISP platformlarına Python programlama dili aracılığıyla REST API'leri kullanarak erişim sağlayan bir kütüphanedir. Bu kütüphane, MISP platformları ile etkileşimi kolaylaştırır ve otomasyon için bir arayüz sunar.

PyMISP'nin Sağladığı Yetenekler:

PyMISP, MISP platformlarındaki olaylara ve verilere erişimi sağlar ve çeşitli işlemleri gerçekleştirmenizi sağlar. Bu yetenekler arasında şunlar bulunur:

Kurulum:

PyMISP'yi pip kullanarak veya GitHub deposundan en son sürümü alarak yükleyebilirsiniz. Kurulum talimatlarına aşağıdaki şekillerde ulaşabilirsiniz:

PyMISP kütüphanesini kullanabilmek için MISP örneğinizde bir Kimlik Doğrulama Anahtarı'na ihtiyacınız olacaktır.

Başlarken:

PyMISP'yi kullanmaya başlamadan önce, MISP otomasyon anahtarınızı almanız gerekmektedir. Otomasyon anahtarınızı MISP web arayüzündeki otomasyon bölümünde veya profilinizde bulabilirsiniz.

PyMISP kütüphanesini kullanarak örnekler çalıştırmak için, git clone https://github.com/MISP/PyMISP.git komutunu kullanarak depoyu klonlayabilir ve örnekler klasöründeki keys.py dosyasını düzenleyerek MISP örneğinizin URL'sini ve otomasyon anahtarınızı belirtebilirsiniz.

PyMISP Kullanımı:

PyMISP'nin kullanımını daha iyi anlamak için mevcut örneklerden birine bakalım: add_named_attribute.py. Bu komut dosyası, sadece türünü bildiğiniz bir özniteliği mevcut bir etkinliğe eklemenizi sağlar (kategori varsayılan olarak belirlenir).