AWS DevOps Agent ile AWS Network Firewall Olaylarının CI/CD Korumalarıyla Önlenmesi

AWS DevOps Agent, AWS Network Firewall olaylarını analiz ederek CI/CD süreçlerinde otomatik koruma sağlar. Firewall log'ları, VPC Flow Log'ları ve CloudTrail aktivitelerini ilişkilendirerek öneriler sunar ve gelecekteki hataları engellemek için guardrails oluşturur.

I
ITWISE
3 görüntülenme
AWS DevOps Agent ile AWS Network Firewall Olaylarının CI/CD Korumalarıyla Önlenmesi

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

  1. Firewall Log'larının Toplanması:
    aws network-firewall describe-firewall --firewall-name 
    
    Bu komut, belirtilen firewall'un yapılandırmasını ve durumunu döndürür.
  2. VPC Flow Log'larının Analizi:
    aws ec2 describe-flow-logs --filter Name=resource-id,Values=
    
    VPC'deki ağ trafiğini inceleyerek anormal desenleri tespit eder.
  3. CloudTrail Aktivitelerinin İncelenmesi:
    aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=CreateFirewallPolicy
    
    Firewall politikalarında yapılan değişiklikleri izler.
  4. Rotaların Doğrulanması:
    aws ec2 describe-route-tables --filters Name=vpc-id,Values=
    
    Yanlış yapılandırılmış rotaları tespit eder.

İ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:

  1. Firewall Kurallarının Düzeltilmesi:
    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"}]}
    
    Bu komut, firewall politikasını güncelleyerek stateless kurallarını düzeltir.
  2. VPC Flow Log'larının Filtrelenmesi:
    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}
    
    Anormal trafik desenlerini izlemek için VPC Flow Log'larını yapılandırır.
  3. CloudTrail Politikalarının Güçlendirilmesi:
    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/*"]}]}]
    
    Firewall politikalarında yapılan değişiklikleri izlemek için CloudTrail politikalarını güçlendirir.

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:

  1. 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
    
  2. 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."}
    
  3. 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:

  1. Firewall log'larını ve CloudTrail aktivitelerini analiz eder.
  2. Yanlış yapılandırılmış firewall politikasının kök nedenini tespit eder.
  3. Güvenlik ekibine önerilen düzeltmeleri sunar (örneğin, firewall politikasının eski haline getirilmesi).
  4. 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.

Kaynaklar

Kaynak

4sysops