Güvenlik Olayları (Security Events)
Yönetim → Denetim & Uyumluluk → Güvenlik Olayları yolunu izleyerek bu ekrana erişebilirsiniz.
İki Sekme
Ekran iki sekmeden oluşur ve sekmeler yalnızca hangi istekleri kapsadıkları bakımından ayrılır. Filtreler, kolonlar ve yetki kuralı ikisinde de aynıdır.
| Sekme | Kapsamı | Koleksiyon | Varsayılan olarak kaydedilir mi |
|---|---|---|---|
| API Güvenliği | Yalnızca bir politikanın engellediği veya hatayla sonuçlanan istekler | log_apisecurityevent | Evet, her zaman |
| API Erişimi | Ağ geçidinden geçen her istek, başarılılar dâhil | log_apiaccess | Hayır — bkz. API Erişimi |
Sekme değiştirdiğinizde filtreleriniz korunur; böylece aynı tarih aralığı ve API Proxy ile iki görünümü karşılaştırabilirsiniz. Değişen tek filtre Sonuç'tur: Başarılı değeri yalnızca API Erişimi sekmesinde sunulur ve seçiliyken API Güvenliği sekmesine döndüğünüzde sizin için temizlenir — çünkü API Güvenliği hattında eşleşecek başarılı istek yoktur.

Genel Bakış
Güvenlik Olayları ekranının API Güvenliği sekmesi, ağ geçidinde engellenen veya hata veren her HTTP, gRPC ve WebSocket isteğini kaydeder. Başarıyla tamamlanan istekler bu sekmede hiçbir zaman görünmez; onlar, hat açıksa API Erişimi sekmesinde yer alır.
Her iki sekmedeki her kayıt gövdesizdir — istek/yanıt gövdesi, header'lar, sorgu dizesi ve herhangi bir gizli değer hiçbir zaman tutulmaz:
- Yol kolonunda sorgu dizesi bulunmaz ve değer 512 karakterle sınırlıdır.
- İstemci IP kolonu yalnızca isteğin doğrudan bağlandığı adresi taşır; iletilen başlıklar (X-Forwarded-For vb.) dikkate alınmaz.
- İstek herhangi bir kimlik bilgisi taşımıyorsa Kimlik Bilgisi kolonunda
anonymousgösterilir. - Çözülen kimlik bilgisinin kendisi canlı bir gizli değer gibi görünüyorsa — bir bearer token, bir JWT veya benzer opak-token-şekilli bir değer, ki bu bir Kota veya Hız Sınırlama politikası sınırını bir header üzerinden uyguladığında ortaya çıkabilir — Kimlik Bilgisi kolonu ham değer yerine kısa, tek yönlü bir özet (hash) gösterir; böylece yakalanmış bir gizli değer bir Güvenlik Olayları kaydından asla geri okunamaz. Düz bir kullanıcı adı veya adlandırılmış bir API anahtarı bundan etkilenmez ve olduğu gibi gösterilir.
Kategoriler
Her kayıt, isteği durduran veya hataya yol açan durumun ailesine göre aşağıdaki kategorilerden birine atanır:
| Kategori | Ne zaman atanır |
|---|---|
| Kimlik Doğrulama | Kimlik doğrulama hatası — Basic Auth, API Key gibi genel kimlik doğrulama kontrolleri, OIDC, OAuth2, SAML, JOSE token doğrulaması, karşılıklı TLS (mTLS) istemci sertifikası veya WS-Security kimlik doğrulaması başarısız olduğunda. |
| Yetkilendirme | Yetkilendirme hatası — rol/grup kontrolü veya istemci engelleme (banner) kuralı isteği durdurduğunda. |
| Kota | Bir kota politikası aşıldığında. |
| Hız Sınırlama | Hız sınırlama devreye girdiğinde — endpoint hız sınırı ve AI token hız sınırlama dahil. |
| Doğrulama | İçerik filtresi, mesaj boyutu sınırı, JSON/XML şema doğrulaması veya şifre çözme/imza doğrulaması başarısız olduğunda. |
| IP Güvenliği | IP beyaz/kara liste kuralı, izinli çalışma saatleri veya CORS kuralı isteği engellediğinde. |
| Tehdit | Bir AI koruma politikası (prompt koruması, veri sızıntısı önleme, döngü/konu koruması, bağlam bütünlüğü, groundedness, RAG enjeksiyon koruması veya kişisel veri maskeleme) isteği durdurduğunda. |
| Yönlendirme | Yönlendirme veya AI yönlendirme sırasında bir hata oluştuğunda. |
| Ağ Geçidi | Proxy yapılandırması, koşul değerlendirmesi, lisans veya ağ geçidinin iç işleyişiyle ilgili bir hata oluştuğunda. |
| Diğer | Yukarıdaki kategorilerin hiçbirine girmeyen politika hataları. |
gRPC ve WebSocket isteklerinde hata tipi bilgisi taşınmaz; bu nedenle kategori kaba biçimde belirlenir — engellenen bir istek Diğer, hata veren bir istek Ağ Geçidi kategorisine düşer ve Hata Tipi kolonu boş kalır.
Sonuç
Her kayıt iki sonuçtan biriyle etiketlenir:
- Başarılı — istek tamamlandı. Yalnızca API Erişimi sekmesinde görünür.
- Reddedildi — bir güvenlik veya politika kuralı isteği durdurdu (örneğin kimlik doğrulama başarısız oldu, kota aşıldı veya IP listesi eşleşti).
- Başarısız — istek işlenirken beklenmeyen bir hata oluştu (örneğin ağ geçidi iç hatası veya yönlendirme hatası).
Kolonlar
| Kolon | Açıklama |
|---|---|
| Zaman | Olayın gerçekleştiği zaman damgası. |
| Kategori | Olayın ait olduğu güvenlik kategorisi (yukarıdaki tabloya bakınız). |
| Hata Tipi | İsteği durduran veya hataya yol açan spesifik hata tipi. HTTP isteklerinde her zaman doldurulur; gRPC ve WebSocket isteklerinde boştur. |
| Sonuç | Başarılı (yalnızca API Erişimi sekmesinde), Reddedildi veya Başarısız. |
| Durum Kodu | İsteğe verilen HTTP/gRPC/WebSocket durum kodu. |
| Protokol | İsteğin protokolü — HTTP, gRPC veya WebSocket. |
| Metot | HTTP metodu (HTTP isteklerinde) veya gRPC metot adı; WebSocket isteklerinde boştur. |
| Yol | İsteğin yolu. Sorgu dizesi hiçbir zaman kaydedilmez ve yol 512 karakterle sınırlıdır. |
| API Proxy | İsteğin yönlendirildiği API Proxy. |
| İstemci IP | İsteği gönderen istemcinin doğrudan bağlandığı adres. |
| Kimlik Bilgisi | İsteğin taşıdığı kimlik bilgisi veya istemci anahtarı; istek herhangi bir kimlik bilgisi taşımıyorsa anonymous gösterilir. Çözülen kimlik bilgisi bir isim yerine token-şekilliyse ham değer yerine kısa bir özet (hash) olarak gösterilir — yukarıya bakınız. |
| Correlation ID | Aynı isteğe ait diğer kayıtlarla eşleştirme için kullanılan kimlik. |
| Gecikme (ms) | İsteğin işlenme süresi (milisaniye). |
Filtreleme
Sayfanın üst tarafındaki filtre bölümünden aşağıdaki kriterlerle sonuçları daraltabilirsiniz: tarih aralığı, kategori (birden çok seçilebilir), hata tipi, API Proxy, istemci IP, kimlik bilgisi, durum kodu, protokol ve sonuç.
Tarih alanları saat bilgisi de taşır. Takvimden bir gün seçtiğinizde başlangıç alanı 00:00:00, bitiş alanı 23:59:59 olarak gelir; böylece seçtiğiniz günler bütünüyle kapsanır. Belirli bir zaman aralığı istiyorsanız saat değerlerini elle değiştirebilirsiniz.
Serbest metin filtreleri — Hata Tipi, İstemci IP ve Kimlik Bilgisi — tam eşleşme ile çalışır, parça eşleşmesiyle değil: 203.0.113 hiçbir kayıt getirmez, 203.0.113.7 o adrese ait kayıtları getirir.
Kimlik Bilgisi filtresi tam eşleşme olduğu için, token-şekilli bir kimlik bilgisini aramak token'ı değil özetini (hash) aramak demektir. Kaydın taşıdığı değeri kendiniz üretmek için kimlik bilgisinin SHA-256 özetini alın, onaltılık çıktının ilk 16 karakterini saklayın ve başına sha256: ekleyin.
Özetini aldığınız metin, Kimlik Bilgisi kolonunda ham hâliyle görünecek olan dizenin birebir aynısı olmalıdır; bu nedenle üç noktaya dikkat edin:
- Şema önekini dahil edin. Bir Kota veya Hız Sınırlama politikası sınırını
Authorizationheader'ı üzerinden uyguladığında kimlik bilgisi, başlığın tamamıdır — tek başına token değil,Bearer eyJ…biçimidir. - Kota ve Hız Sınırlama için URL-kodlanmış biçimi kullanın. Bu iki politika, sınırı uyguladıkları kimliği URL-kodlar; bu nedenle
Bearersonrasındaki boşluk kayda+olarak (Bearer+eyJ…), standart Base64 bir değerin+ / =karakterleri ise%2B %2F %3Dolarak ulaşır. - Baştaki ve sondaki boşlukları atın. Değer özeti alınmadan önce kırpılır.
# Linux: sha256sum | macOS: shasum -a 256
# Sınırını Authorization header'ı üzerinden uygulayan bir Kota/Hız Sınırlama politikası
# (URL-kodlanmış biçim — token-şekilli kimlik bilgisinde olağan durum):
printf '%s' 'Bearer+eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.sig' | sha256sum | cut -c1-16
# 6a6b046bb257973a → aranacak değer: sha256:6a6b046bb257973a
# Değerin kayda olduğu gibi ulaştığı diğer kaynaklar:
printf '%s' 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.sig' | sha256sum | cut -c1-16
# 09268e89ea3eb2a2 → aranacak değer: sha256:09268e89ea3eb2a2
Kaydın hangi biçimi taşıdığından emin değilseniz ikisini de deneyin; özet almanın maliyeti yoktur ve yalnızca biri eşleşebilir.
Detay Ekranı
Bu ekranda — iki sekmede de — satır bazlı bir detay görünümü yoktur. Her kayıt zaten gövdesiz olduğu için — istek/yanıt gövdesi, header'lar ve sorgu dizesi hiçbir zaman tutulmadığı için — tablodaki kolonlar kaydın taşıdığı tüm bilgiyi kapsar.
Kimlerin Erişebileceği
Sistem Yöneticisi ve Proje Yöneticisi rolündeki kullanıcılar tüm kayıtları görür. Diğer kullanıcılar yalnızca Denetim → Görüntüleme yetkisine sahip oldukları projelerin güvenlik olaylarını görebilir — bu, Denetim Kayıtları sayfasındaki kapsam kuralıyla aynıdır.
API Erişimi
API Erişimi sekmesi yalnızca ters gideni değil, ağ geçidinin işlediği her şeyi kapsar; bu yüzden "ne engellendi" değil "kim neyi ne zaman çağırdı" sorusunu yanıtlamak istediğinizde başvuracağınız sekmedir. Bu tamlığın bir bedeli vardır: istek başına bir satır yazılır, yani koleksiyon trafik hacminizle birlikte büyür.
Bu nedenle sekme varsayılan olarak kapalıdır ve sürüm yükseltmesinden sonra da kapalı kalır. Açmak için Yönetim → Sistem Ayarları → SIEM ve Log Yönlendirme → Hatlar yolunu izleyin ve API Erişimi satırındaki Apinizer veritabanında sakla anahtarını açın. Anahtar açılmadan önce onay ister; değişiklik sayfayı kaydettiğinizde uygulanır. Anahtar kapalıyken sekme boş kalır — hat bir SIEM hedefine yönlendiriliyor olsa bile, çünkü o ayrı bir ayardır.
Açmadan önce koleksiyona kısa bir saklama süresi tanımlayın: API Güvenliği için uygun olan 30 güne karşılık burada önerilen aralık 3-7 gündür.
Engellenen veya hata veren bir istek iki sekmede birden görünür. Bu bilinçlidir: API Erişimi açık olsun ya da olmasın, API Güvenliği sekmesi temiz bir olay listesi olarak kalır. İki hattı da bir SIEM'e yönlendirdiğinizde çift sayımı nasıl önleyeceğiniz için bkz. SIEM ve Log Yönlendirme.

Saklama
API Güvenliği olayları, Denetim ve Oturum kayıtları gibi Apinizer veritabanında her zaman saklanır; o sekme için yerel saklama kapatılamaz. API Erişimi olayları ise yalnızca kendi anahtarı açıkken yazılır (yukarıya bakınız).
Otomatik temizleme her ikisi için de isteğe bağlıdır ve varsayılan olarak kapalıdır:
- Yönetim → Sistem Ayarları → Sistem Ayarları ve Limitleri sayfasındaki Log Saklama bölümünden, veya
- Uygulama Logu Temizleme Görevleri sayfasındaki API Security Events ve API Access Events satırlarından
açılabilir; her iki ekran da hem günlük hem saatlik temizleme görevini kapsar. Açıldığında varsayılan birim gündür; varsayılan değer API Güvenliği için 30, API Erişimi için 7 gündür.
Veri Saklama Profili ile İlişkisi
Bir proxy ya da proje Kalıcı Kayıt Yok (NO_PERSIST) profilindeyse, o proxy/proje kapsamındaki olay iki sekmenin hiçbirine ve SIEM hedefine yazılmaz — trafik logu ile aynı kapı uygulanır. Gövde Yok (NO_PAYLOAD) profili bu ekranı etkilemez; güvenlik olayları zaten gövde taşımadığı için bu profilin engellediği bir şey yoktur.
SIEM ile İlişki
Bu ekranda g örüntülenen olaylar, isteğe bağlı olarak SIEM sisteminize de yönlendirilebilir: API Güvenliği sekmesi API Güvenliği hattı, API Erişimi sekmesi ise API Erişimi hattı olarak. Yapılandırma için SIEM ve Log Yönlendirme sayfasına bakınız; bu hat üzerinden yalnızca Apinizer JSON v2, CEF veya LEEF yük profilleri kullanılabilir. Bu hat için oluşturduğunuz bir hedef, varsayılan bir maskeleme profiliyle (TCKN, IBAN, kart numarası) başlar; kaydetmeden önce hedefin gizlilik tablosundan gözden geçirebilir ve düzenleyebilirsiniz.