Amazon S3¶
Amazon S3, veya Amazon Simple Storage Service, Amazon Web Services (AWS) tarafından sunulan ölçeklenebilir bir bulut depolama hizmetidir. Veri yedekleme, arşivleme, içerik dağıtımı, web sitesi barındırma ve uygulama veri depolama gibi çeşitli amaçlar için kullanılır. Wallarm’ı, tespit edilen hits hakkında bilgileri Amazon S3 bucket’ınıza gönderecek şekilde yapılandırabilirsiniz. Bilgiler, her 10 dakikada bir JSON formatındaki dosyalar halinde gönderilecektir.
Her hit için veri alanları:
-
time
- Unix Timestamp biçiminde hit tespit tarih ve saati -
request_id
-
ip
- saldırganın IP’si -
Hit kaynak türü:
datacenter
,tor
,remote_country
-
application_id
-
domain
-
method
-
uri
-
protocol
-
status_code
-
attack_type
-
block_status
-
payload
-
point
-
tags
Dosyalar, S3 bucket’ınıza wallarm_hits_{timestamp}.json
veya wallarm_hits_{timestamp}.jsonl
adlandırma kuralı kullanılarak kaydedilecektir. Biçim, entegrasyon kurulumu sırasında seçiminize bağlı olarak JSON Dizisi veya Yeni Satırla Ayrılmış JSON (NDJSON) olacaktır.
Entegrasyonu yapılandırma¶
Amazon S3 ile entegrasyonu yapılandırırken hangi yetkilendirme yöntemini kullanacağınıza karar vermelisiniz:
-
Rol ARN’si aracılığıyla (önerilir) - kaynaklara erişim vermek için harici kimlik (external ID) seçeneğine sahip rollerin kullanılması, güvenliği artıran ve "confused deputy" saldırılarını önleyen bir yöntem olarak AWS tarafından önerilir. Wallarm, kuruluş hesabınız için benzersiz bir kimlik sağlar.
-
Gizli erişim anahtarı ile - daha yaygın ve daha basit bir yöntem olup AWS IAM kullanıcınızın paylaşılan erişim anahtarını gerektirir. Bu yöntemi seçerseniz, entegrasyonda kullanılan S3 bucket’ına yalnızca yazma iznine sahip ayrı bir IAM kullanıcısının erişim anahtarını kullanmanız önerilir.
Bir Amazon S3 entegrasyonu kurmak için:
-
Wallarm için bir Amazon S3 bucket’ı oluşturmak üzere talimatları izleyin.
-
Seçilen yetkilendirme yöntemine bağlı olarak farklı adımları uygulayın.
-
AWS UI’da, S3 → bucket’ınız → Properties sekmesine gidin ve bucket’ınızın AWS Region kodunu ve Amazon Resource Name (ARN) değerini kopyalayın.
Örneğin, bölge olarak
us-west-1
ve ARN olarakarn:aws:s3:::test-bucket-json
. -
Wallarm Console UI’da, Integrations bölümünü açın.
- AWS S3 bloğuna tıklayın veya Add integration düğmesine tıklayıp AWS S3’ü seçin.
- Bir entegrasyon adı girin.
- S3 bucket’ınızın daha önce kopyaladığınız AWS bölge kodunu girin.
- S3 bucket adınızı girin.
- Sağlanan Wallarm account ID’yi kopyalayın.
- Sağlanan external ID’yi kopyalayın.
- AWS UI’da, IAM → Access Management → Roles altında new role oluşturmayı başlatın.
- Trusted entity type olarak AWS account → Another AWS Account seçin.
- Wallarm Account ID’sini yapıştırın.
- Require external ID seçeneğini işaretleyin ve Wallarm tarafından sağlanan external ID’yi yapıştırın.
-
Next’e tıklayın ve rolünüz için ilke (policy) oluşturun:
-
Rol oluşturmayı tamamlayın ve rolün ARN’sini kopyalayın.
-
Wallarm Console UI’da, entegrasyon oluşturma iletişim kutunuzda, Role ARN sekmesinde rolünüzün ARN’sini yapıştırın.
- AWS UI’da, S3 → bucket’ınız → Properties sekmesine gidin ve bucket’ınızın AWS Region kodunu kopyalayın; örneğin
us-west-1
. - IAM → Dashboard → Manage access keys → Access keys bölümüne gidin.
- Bir yerde sakladığınız erişim anahtarının kimliğini (ID) alın veya burada açıklandığı gibi yeni bir anahtar oluşturun/kaybolan anahtarı geri yükleyin. Her durumda, etkin anahtarınıza ve onun ID’sine ihtiyacınız olacaktır.
- Wallarm Console UI’da, Integrations bölümünü açın.
- AWS S3 bloğuna tıklayın veya Add integration düğmesine tıklayıp AWS S3’ü seçin.
- Bir entegrasyon adı girin.
- S3 bucket’ınızın daha önce kopyaladığınız AWS bölge kodunu girin.
- S3 bucket adınızı girin.
- Secret access key sekmesinde, erişim anahtarı ID’sini ve anahtarın kendisini girin.
-
-
Wallarm verileri için biçimi seçin: JSON Dizisi veya Yeni Satırla Ayrılmış JSON (NDJSON).
-
Regular notifications bölümünde, son 10 dakikadaki hits öğelerinin gönderilmek üzere seçili olduğundan emin olun. Seçilmemişse, veriler S3 bucket’ına gönderilmeyecektir.
-
Yapılandırmanın doğruluğunu, Wallarm Cloud’a erişilebilirliği ve bildirim biçimini kontrol etmek için Test integration’a tıklayın.
Amazon S3 için, entegrasyon testi verilerle birlikte JSON dosyasını bucket’ınıza gönderir. İşte son 10 dakikada tespit edilen hits verilerini içeren JSON dosyasına bir örnek:
[ { "time":"1687241470", "request_id":"d2a900a6efac7a7c893a00903205071a", "ip":"127.0.0.1", "datacenter":"unknown", "tor":"none", "remote_country":null, "application_id":[ -1 ], "domain":"localhost", "method":"GET", "uri":"/etc/passwd", "protocol":"none", "status_code":499, "attack_type":"ptrav", "block_status":"monitored", "payload":[ "/etc/passwd" ], "point":[ "uri" ], "tags":{ "lom_id":7, "libproton_version":"4.4.11", "brute_counter":"c188cd2baa2cefb3f3688cb4008a649e", "wallarm_mode":"monitoring", "final_wallarm_mode":"monitoring" } }, { "time":"1687241475", "request_id":"b457fccec9c66cdb07eab7228b34eca6", "ip":"127.0.0.1", "datacenter":"unknown", "tor":"none", "remote_country":null, "application_id":[ -1 ], "domain":"localhost", "method":"GET", "uri":"/etc/passwd", "protocol":"none", "status_code":499, "attack_type":"ptrav", "block_status":"monitored", "payload":[ "/etc/passwd" ], "point":[ "uri" ], "tags":{ "lom_id":7, "libproton_version":"4.4.11", "brute_counter":"c188cd2baa2cefb3f3688cb4008a649e", "wallarm_mode":"monitoring", "final_wallarm_mode":"monitoring" } } ]
{"time":"1687241470","request_id":"d2a900a6efac7a7c893a00903205071a","ip":"127.0.0.1","datacenter":"unknown","tor":"none","remote_country":null,"application_id":[-1],"domain":"localhost","method":"GET","uri":"/etc/passwd","protocol":"none","status_code":499,"attack_type":"ptrav","block_status":"monitored","payload":["/etc/passwd"],"point":["uri"],"tags":{"lom_id":7,"libproton_version":"4.4.11","brute_counter":"c188cd2baa2cefb3f3688cb4008a649e","wallarm_mode":"monitoring","final_wallarm_mode":"monitoring"}} {"time":"1687241475","request_id":"b457fccec9c66cdb07eab7228b34eca6","ip":"127.0.0.1","datacenter":"unknown","tor":"none","remote_country":null,"application_id":[-1],"domain":"localhost","method":"GET","uri":"/etc/passwd","protocol":"none","status_code":499,"attack_type":"ptrav","block_status":"monitored","payload":["/etc/passwd"],"point":["uri"],"tags":{"lom_id":7,"libproton_version":"4.4.11","brute_counter":"c188cd2baa2cefb3f3688cb4008a649e","wallarm_mode":"monitoring","final_wallarm_mode":"monitoring"}}
-
Add integration’a tıklayın.
Wallarm Cloud IP addresses
To provide Wallarm Cloud access to your system, you may need a list of its public IP addresses:
Saklanan veri miktarını kontrol etmek için, Amazon S3 bucket’ınızdan eski nesnelerin otomatik silinmesini burada açıklandığı şekilde yapılandırmanız önerilir.
Entegrasyonun devre dışı bırakılması ve silinmesi¶
You can delete or temporarily disable the integration. While deleting stops sending notificatioins and completely deletes all configuration, disabling just stops sending notifications which you can at any moment re-enable with the same settings.
If for the integration the System related events are selected to trigger notifications, Wallarm will notify about both of these actions.
Sistem kullanılamazlığı ve hatalı entegrasyon parametreleri¶
Notifications to the system are sent via requests. If the system is unavailable or integration parameters are configured incorrectly, the error code is returned in the response to the request.
If the system responds to Wallarm request with any code other than 2xx
, Wallarm resends the request with the interval until the 2xx
code is received:
-
The first cycle intervals: 1, 3, 5, 10, 10 seconds
-
The second cycle intervals: 0, 1, 3, 5, 30 seconds
-
The third cycle intervals: 1, 1, 3, 5, 10, 30 minutes
If the percentage of unsuccessful requests reaches 60% in 12 hours, the integration is automatically disabled. If you receive system notifications, you will get a message about automatically disabled integration.