Ağ Geçidi Ortamlarına Konnektör Eklenmesi
Ortamlarda API Proxyler üzerindeki API trafiğinin kayıt altına alınması söz konusu olduğunda aşağıdaki ayarlar ile ilgili logların nerede saklanması gerektiği ayarı yapılabilmektedir.
Ağ geçidi ortamlarındaki API trafiğini diğer ortamlara göndermek için aşağıdaki konnektörler kullanılabilir:
- Veritabanı Konnektörü
- Elasticsearch Konnektörü
- Kafka Konnektörü
- RabbitMQ Konnektörü
- ActiveMQ Konnektörü
- Syslog Konnektörü
- Webhook Konnektörü
- Logback Konnektörü
Bu konnektörlere gönderilecek olan verinin yapısını incelemek için şu dokümana göz atabilirsiniz.
Ağ geçidi ortamlarına konnektör eklenmesini içeren görsele aşağıda yer verilmiştir:
- Apinizer Yönetim Konsolunda ilgili API Trafiğinin sorgulanması ve analitik olarak görselleştirilmesi ancak ilgili ortama Elasticsearch Konnektörü eklenmesi ile mümkün olmaktadır.
- Eğer birden fazla Elasticsearch Konnektörü tanımlanması durumunda Apinizer Yönetim Konsolunda ilk eklenen Elasticsearch Konnektöründeki veriler görüntülenebilir.
- Eğer Elasticsearch Konnektörü hiç eklenmemiş ise aşağıdaki alanlar/menüler tamamen kapatılır:
- Analitikle ilgili tüm ekranlar ve menüler
- API Proxy'nin Trace, API Trafiği ve Analitikler sekmeleri
- Monitör menüsündeki Anomali Dedektörü
- Yönetim menüsündeki Genel Bakış'a ait Analitik kısmı
- OAuth2 politikası
- Test konsolda yer alan Log sekmesi
- Denetim menüsünde yer alan Token İstekleri
- Rapor oluşturucu menüsü
- Portaldaki Pano ve API Trafiği
Konnektörlerdeki Ortak Alanlar
Konnektör oluşturulurken her tip için aynı olan bazı girdi alanları vardır. Bu bilgiler aşağıdaki görselde seçili alanlardır.
Konnektörlerdeki ortak bilgilerin konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama |
---|---|
API Proxy Trafik Log Ayarları Ayrıntılarını Yapılandır (Configure API Proxy Traffic Log Setting Detail) | Bu ayar aktifleştirildiğinde loglanacak olan alanlar seçilir. Loglama için gönderilecek alanlar arasında uzun metinler yer alıyorsa bu alanlar için boyut limiti ayarlanabilir. |
Etkinleştirilse, API Proxy'sinin bulunamadığı veya mevcut olmadığı tüm trafik log kayıtları da hedefe aktarılır (If enabled, all traffic logs of which API proxy is not found or not exists are also exported to target) | Bu ayar ile istenirse API Proxy'nin bulunmadığı veya mevcut olmadığı tüm trafik logları da hedefe aktarılır. |
API Proxy Trafik Gizlilik Ayarlarını Yapılandır (Configure API Proxy Traffic Privacy Setting) | Bu ayar aktifleştirildiğinde log kayıtları içerisinde açık bir şekilde erişilmesi istenmeyen verilerin, olduğu gibi görüntülenmesinin önüne geçilebilir. Bu bölüme ilişkin detaylı bilgi aşağıda anlatılmaktadır. |
Etkinleştirilirse, gönderilmemiş istekler failover bağlantısına gönderilir (If enabled, unsent requests will be sent to failover connector) | Konnektör çevrimdışıysa veya erişilemiyorsa, bu durumda gönderilemeyen log kayıtları için yeni failover bağlantısı tanımlanabilir. |
Failover Executable Tipi (Failover Connector Type) | Tanımlanacak failover konnektörünün tipi seçilir. |
Tip (Type) | Failover tipinin Veritabanı (Database) seçilmesi durumunda bu alan aktifleşir. Veritabanı tipi seçilir. |
Failover Bağlantısı (Failover Connection) | Seçilen failover tipine göre tanımlanacak failover bağlantısı seçilir. |
Operasyon (Operation) | Failover tipinin Veritabanı (Database) seçilmesi durumunda bu alan aktifleşir. Operasyon tipi seçilir. |
API Proxy Trafik Gizlilik Ayarlarını Yapılandırma
Apinizer üzerinden akan mesaj trafiğinin (istek ve yanıt) kayıtlarını tutmaktadır.
Mesajların herhangi bir bölümünde (başlık, parametre, gövde) kredi kartı bilgileri, şifre, telefon numarası gibi hassas ya da kişisel veriler bulunabilir.
Bu verilerin log kayıtları içerisinde açık bir şekilde erişilmesi istenmediği durumlarda Apinizer "API Proxy Trafik Gizlilik Ayarları" ile log kayıtları içerisindeki hassasiyet/gizlilik taşıyan alanlara aşağıdaki işlemleri uygulayarak, verinin olduğu gibi görüntülenmesinin önüne geçilebilir:
- Maskeleme: Alanın değerine * işaretiyle maske uygulanır.
- Silme: Alanın değeri loglanırken silinir.
- Şifreleme: Uygulama bazında üretilen salt kodu ile alanın değeri şifrelenir.
- Hashleme: Alanın değeri hashlenerek loglanır.
API Proxy Trafik Gizlilik Ayarları, sadece Apinizer üzerinde tutulan log kayıtlarındaki verinin saklanması ile ilgilidir. Herhangi bir şekilde Backend API'ye giden veri veya Client'a dönen veri ile ilgili değildir! Bu veriler üzerinde işlem yapmak için politikalardan faydalanabilirsiniz.
Gizlilik Ayarlarının Uygulanması
Log kaydının oluşturulması zamanında tanımlanan element adları ile istek ve yanıt mesajlarının "başlık, parametre ve gövde" alanları üzerinde tarama yapılır. Bulunan element adları için element adına özel tanımlanan işlem (maskeleme, silme, şifreleme, hashleme) uygulanır.
İstek veya yanıt gövdesi üzerinde element adının aranması için gövde değerinin XML, JSON veya Form verisi (form-data, x-www-form-urlencoded) olması gereklidir.
Veri eğer XML veya JSON ise tüm element isimlerinde (recursive olarak), form verisi ise tüm anahtar kelimelerde "hassas veri element adı" değeri aranır, bulunması durumunda XML veya JSON ise element değerine, form verisi ise anahtar karşılığındaki değere ilgili işlem (maskeleme, silme, şifreleme, hashleme) uygulanır. Veri üzerindeki ilgili element/anahtar adının sonuna da işlem yapıldığını belirtmek amacıyla "-PA" suffix'i eklenir. PA: Privacy Applied anlamındadır.
Tanımlanan bir alan başına "API Proxy Trafik Gizlilik Ayarları"nın uygulanması için şu alanların tamamında tarama yapılır:
- İstemciden Gelen Mesajın Başlık, Sorgu(Query) Parametresi ve Gövdesi
- Backend'e Giden Mesajın Başlık, Sorgu(Query) Parametresi ve Gövdesi
- Backend'den Dönen Mesajın Başlık ve Gövdesi
- İstemciye Dönen Mesajın Başlık ve Gövdesi
Taranan alanlardan da anlaşılacağı üzere API Proxy Trafik Gizlilik Ayarları performans anlamında maliyetli bir işlemdir.
Loglama işlemleri asenkron yapıldığından her ne kadar API Trafiğine etkisi olmasa da yoğun olarak kullanılacaksa işlemci gücüne olacak etkisi göz önüne alınarak sistem konfigürasyonu yapılmalıdır.
Tanımlar Ekranı
"API Proxy Trafik Gizlilik Ayarları"nı aktif hale getirmek için Aktifleştir (Enabled) seçeneği etkin olmalıdır.
API Proxy Trafik Gizlilik Ayarları aktifleştirildiğinde karşımıza gelen ekranı içeren görsele aşağıda yer verilmiştir:
Element adı ve bu tanıma ne yapılacağı (işlem bilgisi) ikilileri tanımlanır. Ekle tuşu ile tanım listesine eklenir.
Burada tanımlanan bir element adı ve ilgili işlem tüm API Proxyler için geçerli olur.
Bir tanım oluşturulduğunda otomatik olarak tüm API Proxy'lere eklenir. Bir tanım silindiğinde ise tüm API Proxy'lerden bu ayar kaldırılır.
Eğer bir API Proxy yoksa, gelen isteklere tanımların hepsi uygulanır.
Salt Nedir?
API Proxy Trafik Gizlilik Ayarları işlemlerinden bir tanesi de hashlemedir.
Hashleme yöntemi seçildiğinde verinin bir algoritma ile geri dönüşmeyecek şekilde hashlenerek tutulması sağlanır. Hashlenen veri tek yönlüdür, ve geri getirilemez. Sadece hashli verinin tekrar oluşturulması sağlanabilir.
Salt ile normalde hash algoritması seçilerek oluşacak olan çıktının farklı oluşması sağlanarak hashlenen değerin kıyaslama yapılarak bulunabilmesinin önüne geçilir.
API Proxy Trafik Gizlilik Ayarları ilk aktif hale getirildiğinde Apinizer bir tane salt değeri oluşturur ve verileri bununla hashler.
Normalde her değerin farklı saltlar ile hashlenmesi daha doğru gibi gözükse de, bazı durumlarda verinin aranarak bulunması veya verinin değerinin doğru olduğunun da bilinmesi gerekliliği oluşabileceğinden, bu salt Apinizer tarafından değiştirilmeden gizli bir şekilde saklanır. Kullanıcıya ise değer girerek aynı hashli veriyi ekran üzerinden oluşturabilmesine izin verilir.