Giriş
AWS Network Firewall, VPC'lerdeki ağ trafiğini filtrelemek ve korumak için kullanılan bir hizmettir. Ancak, yanlış yapılandırılmış kurallar, politika değişiklikleri veya ağ trafiğindeki anormallikler nedeniyle oluşan firewall olayları, CI/CD (Sürekli Entegrasyon/Sürekli Dağıtım) süreçlerinde ciddi aksamalara yol açabilir. AWS, bu sorunları otomatik olarak tespit eden ve çözüm önerileri sunan AWS DevOps Agent adlı yeni bir aracı tanıttı. Bu araç, firewall olaylarını analiz ederek, geçmiş verilerden faydalanır ve gelecekteki hataların tekrarlanmasını önlemek için CI/CD guardrails (koruma mekanizmaları) önerir.
Sorun Tanımı
AWS Network Firewall olayları genellikle aşağıdaki durumlarda ortaya çıkar:
- Yanlış yapılandırılmış firewall kuralları (örneğin, izin verilen trafiğin engellenmesi veya yasaklanması gereken trafiğin geçmesi).
- VPC Flow Log'larında anormal trafik desenleri (örneğin, DDoS saldırıları veya verimsiz ağ trafiği).
- CloudTrail aktivitelerinde tespit edilen yetkisiz değişiklikler (örneğin, firewall politikalarının değiştirilmesi).
- Ağ rotalarındaki hatalar (örneğin, yanlış subnet atamaları veya NAT Gateway sorunları).
Bu olaylar, CI/CD boru hatlarında (pipelines) beklenmedik duruşlara, dağıtımların başarısız olmasına veya güvenlik açıklarına neden olabilir. Geleneksel yöntemlerle bu olayların kök nedenini bulmak ve kalıcı çözümler üretmek zaman alıcı ve hataya açıktır.
Çözüm: AWS DevOps Agent ile Otomatik Analiz ve Koruma
AWS DevOps Agent, aşağıdaki adımları otomatik olarak gerçekleştirerek firewall olaylarını analiz eder ve CI/CD guardrails önerir:
1. Olayların Toplanması ve İlişkilendirilmesi
- Firewall Log'larının Toplanması:
Bu komut, belirtilen firewall'un yapılandırmasını ve durumunu döndürür.aws network-firewall describe-firewall --firewall-name - VPC Flow Log'larının Analizi:
VPC'deki ağ trafiğini inceleyerek anormal desenleri tespit eder.aws ec2 describe-flow-logs --filter Name=resource-id,Values= - CloudTrail Aktivitelerinin İncelenmesi:
Firewall politikalarında yapılan değişiklikleri izler.aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=CreateFirewallPolicy - Rotaların Doğrulanması:
Yanlış yapılandırılmış rotaları tespit eder.aws ec2 describe-route-tables --filters Name=vpc-id,Values=
İpucu: AWS DevOps Agent, yukarıdaki kaynakları otomatik olarak toplar ve birbirleriyle ilişkilendirir. Manuel olarak bu verileri toplamak ve analiz etmek, özellikle büyük ölçekli ortamlarda oldukça karmaşıktır.
2. Olayların Kök Nedeninin Belirlenmesi
Toplanan veriler ışığında AWS DevOps Agent, aşağıdaki sorunları tespit eder:
- Firewall kurallarının yanlış yapılandırılması (örneğin, `DENY` yerine `ALLOW` kullanılması).
- VPC Flow Log'larında tespit edilen DDoS saldırıları veya port tarama aktiviteleri.
- CloudTrail'deki yetkisiz firewall politikası değişiklikleri.
- Ağ rotalarındaki hatalar (örneğin, yanlış subnet atamaları).
Uyarı: AWS DevOps Agent, sadece olayları tespit etmekle kalmaz, aynı zamanda bunların kök nedenini de belirler. Bu, gelecekteki olayların önlenmesi için kritik önem taşır.
3. Önerilen Düzeltmelerin Sunulması
AWS DevOps Agent, tespit edilen sorunlara yönelik aşağıdaki önerileri sunar:
- Firewall Kurallarının Düzeltilmesi:
Bu komut, firewall politikasını güncelleyerek stateless kurallarını düzeltir.aws network-firewall update-firewall-policy --firewall-policy-arn --update-token --firewall-policy {"statelessDefaultActions":["aws:drop"],"statelessRuleGroupReferences":[{"resourceArn":"arn:aws:network-firewall:us-east-1:123456789012:stateless-rulegroup/my-rule-group"}]} - VPC Flow Log'larının Filtrelenmesi:
Anormal trafik desenlerini izlemek için VPC Flow Log'larını yapılandırır.aws ec2 create-flow-logs --resource-type Vpc --resource-ids --traffic-type ALL --log-destination-type cloud-watch-logs --log-group-name /aws/vpc/flowlogs --destination-options {"fileFormat":"plain-text","hive-compatible-partitions":false} - CloudTrail Politikalarının Güçlendirilmesi:
Firewall politikalarında yapılan değişiklikleri izlemek için CloudTrail politikalarını güçlendirir.aws cloudtrail put-event-selectors --trail-name --event-selectors [{"ReadWriteType":"All","IncludeManagementEvents":true,"DataResources":[{"Type":"AWS::NetworkFirewall::FirewallPolicy","Values":["arn:aws:network-firewall:us-east-1:123456789012:firewall-policy/*"]}]}]
4. CI/CD Guardrails'lerin Oluşturulması
AWS DevOps Agent, gelecekteki firewall olaylarını önlemek için CI/CD guardrails önerir. Bu guardrails, aşağıdaki adımlarla uygulanır:
- Firewall Politikalarının Değişikliklerinin Denetlenmesi:
AWS DevOps Agent, AWS CodePipeline veya GitHub Actions gibi CI/CD araçlarında firewall politikası değişikliklerini otomatik olarak denetler. Eğer bir değişiklik tespit edilirse, pipeline durdurulur ve güvenlik ekibi uyarılır.
# GitHub Actions örneği name: Validate Firewall Policy on: pull_request: paths: - 'network-firewall/policies/**' jobs: validate: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Validate Firewall Policy run: | aws network-firewall validate-firewall-policy --firewall-policy-file network-firewall/policies/my-policy.json - Otomatik Testlerin Eklenmesi:
CI/CD boru hatlarına, firewall kurallarının doğruluğunu test eden otomatik testler eklenir. Örneğin, AWS Lambda fonksiyonları kullanılarak firewall politikaları doğrulanabilir.
# AWS Lambda fonksiyonu örneği (Python) def lambda_handler(event, context): import boto3 client = boto3.client('network-firewall') response = client.describe_firewall_policy(FirewallPolicyArn='arn:aws:network-firewall:us-east-1:123456789012:firewall-policy/my-policy') if response['FirewallPolicy']['StatelessDefaultActions'] != ['aws:drop']: raise Exception("Firewall policy is not secure!") return {"statusCode": 200, "body": "Firewall policy is secure."} - Guardrails'lerin Uygulanması:
AWS DevOps Agent, önerilen guardrails'leri otomatik olarak CI/CD boru hatlarına entegre eder. Bu sayede, gelecekteki firewall olayları önlenmiş olur.
Uygulama Örneği: Gerçek Bir Senaryo
Bir kuruluş, AWS Network Firewall kullanarak VPC'lerini korumaktadır. Ancak, bir geliştirici yanlışlıkla firewall politikasını değiştirerek tüm trafiğin engellenmesine neden olur. Bu durum, CI/CD boru hattında dağıtımların başarısız olmasına yol açar. AWS DevOps Agent aşağıdaki adımları gerçekleştirir:
- Firewall log'larını ve CloudTrail aktivitelerini analiz eder.
- Yanlış yapılandırılmış firewall politikasının kök nedenini tespit eder.
- Güvenlik ekibine önerilen düzeltmeleri sunar (örneğin, firewall politikasının eski haline getirilmesi).
- CI/CD boru hattına, gelecekteki firewall değişikliklerini denetleyen bir guardrail ekler.
Sonuç olarak, kuruluş, gelecekteki firewall olaylarını otomatik olarak önleyebilir ve CI/CD süreçlerinin güvenilirliğini artırabilir.
Sonuç
AWS DevOps Agent, AWS Network Firewall olaylarını otomatik olarak analiz ederek, kök nedenlerini belirler ve gelecekteki hataların tekrarlanmasını önlemek için CI/CD guardrails önerir. Bu sayede, kuruluşlar firewall olaylarını daha hızlı çözebilir ve CI/CD süreçlerinin güvenilirliğini artırabilir. AWS DevOps Agent, özellikle büyük ölçekli AWS ortamlarında çalışan ekipler için değerli bir araçtır.



