Daha güvenli bir DevOps hattı için GitHub Eylemlerinin güvenliğini sağlama


GitHub Actions, sürekli entegrasyon ve sürekli teslimat (CI/CD) için bir platform sağlayarak derleme, test ve dağıtım süreci otomasyonunuzu mümkün kılar. Deponuzdaki her çekme isteğini oluşturup test eden iş akışları oluşturmanıza ve onaylanmış çekme isteklerini üretim ortamına dağıtmanıza olanak tanır.

Bu Help Net Security röportajında ​​StepSecurity CEO’su Varun Sharma, GitHub Actions’ın güvenliği hakkındaki yanlış anlamalardan, üçüncü taraf eylemleri kullanmanın potansiyel risklerinden, GitHub Actions’ı güvenli bir şekilde kullanmak için önerilen en iyi uygulamalardan ve daha fazlasından bahsediyor.

GitHub Eylemleri güvenliği

GitHub Eylemlerinin güvenliğiyle ilgili bazı yaygın yanılgılar nelerdir?

Yanlış Kanı #1: GitHub Actions güvenliği yalnızca CI/CD’de SCA, SAST araçlarının kullanılması anlamına gelir

İnsanlar GitHub Actions güvenliği hakkında düşündüklerinde ilk düşünceleri CI/CD hattına SCA ve SAST araçları gibi güvenlik araçları eklemek olur. Bu, koddaki güvenlik sorunlarının bulunmasına yardımcı olsa da GitHub Actions ortamının güvenliğini sağlamak için hiçbir şey yapmaz. GitHub Eylemleri veya genel olarak CI/CD ortamları kaynak koduna erişime sahiptir, sürüm derlemeleri oluşturmak için kullanılır ve bu yapıları bulutta yayınlamak için kullanılan CI/CD gizli dizilerine erişime sahiptir. Bu, GitHub Actions’ı saldırganlar için hedef haline getiriyor. GitHub Actions güvenliği, saldırganların kodu veya CI/CD kimlik bilgilerini çalmak (Codecov ihlalindeki kodda olduğu gibi) veya kaynak kodunu kurcalamak veya oluşturma işlemi sırasında yapıtları serbest bırakmak (olduğu gibi) için CI/CD ortamından ödün veren saldırganların riskini azaltmakla ilgilidir. SolarWinds ihlalindeki kod).

Yanlış Kanı #2: GitHub Eylemlerinizi güvence altına almak için yalnızca GitHub’un Güvenlik özelliklerine ihtiyacınız var

Başka bir yanılgı, GitHub Eylemlerini güvence altına almak için, en az ayrıcalıklı belirteç izinlerini ayarlama ve üçüncü taraf Eylemlerini sabitleme yeteneği gibi yalnızca GitHub tarafından sağlanan güvenlik özelliklerini açmanız gerektiğidir. GitHub Eylemleri bir CI/CD sunucusunda (runner olarak da bilinir) çalıştığından, CI/CD sunucusunun güvenliği büyük önem taşır. Örneğin, SolarWinds ihlalinde CI/CD sunucusunun güvenliği ihlal edildi ve bir arka kapı enjekte etmek amacıyla derleme işlemi sırasında bir kaynak kod dosyasına müdahale etmek için kullanıldı. Bu durumda CI/CD sağlayıcısının sağladığı güvenlik kontrollerinin hiçbiri işe yaramazdı. Yani GitHub Actions güvenliği, GitHub Actions’ın çalıştığı CI/CD sunucularının güvenliğinin sağlanmasını da kapsar.

GitHub pazarındaki veya diğer halka açık depolardaki üçüncü taraf işlemlerini kullanmanın potansiyel risklerini açıklayabilir misiniz?

GitHub Actions pazarındaki veya diğer halka açık depolardaki üçüncü taraf Action’ları kullanmanın riski şudur: bu kod kötü amaçlı olabilir veya işlem hattında rastgele kod çalıştırmak için kullanılabilecek bir güvenlik açığına sahip olabilir. Çeşitli nedenlerden dolayı kötü amaçlı olabilir; örneğin Eylemin güvenliği ihlal edilmiş olabilir veya kötü niyetli bir bakım senaryosu olabilir.

Bunu yüksek riskli bir duruma getiren şey, GitHub Actions iş akışlarının sırlara erişiminin olmasıdır ve bu sırlar, görüntüleri kapsayıcı kayıt defterlerine göndermek veya buluta dağıtmak için kullanılan imzalama anahtarları veya kimlik bilgileri olabilir. Örneğin, Codecov ihlalinde, Codecov’un kullandığı bash yükleyicisinin güvenliği bir saldırgan tarafından ele geçirildi ve saldırgan daha sonra yükleyiciyi değiştirerek saldırganın IP adresine CI/CD kimlik bilgilerini sızdırdı. Bu, binlerce kuruluşun CI/CD kimlik bilgilerinin ele geçirilmesine yol açtı. Örnek olarak, HashiCorp ürün indirmelerini doğrulamak için karmaları imzalamak için kullanılan GPG özel anahtarı bu olay nedeniyle açığa çıktı.

GitHub Eylemlerini, özellikle de mevcut bir DevOps işlem hattına entegre ederken güvenli bir şekilde kullanmak için önerilen en iyi uygulamalardan bazıları nelerdir?

GitHub tarafından sağlanan güvenlik özelliklerine ek olarak GitHub Eylemlerini güvenli bir şekilde kullanmak için önerilen bazı en iyi uygulamalar şunlardır:

Geçici GitHub Actions çalıştırıcılarını kullanın

Geçici GitHub Eylemleri çalıştırıcılarının kullanılması, her işin yeni bir ortamda çalıştırılmasını sağlar; böylece güvenliği ihlal edilmiş bir Eylem veya bağımlılık CI/CD sunucusunda kalamaz ve diğer derleme işlerini etkileyemez. GitHub tarafından barındırılan koşucular geçicidir. Şirket içinde barındırılan GitHub Actions çalıştırıcıları için açık kaynaklı Actions Runner Controller (ARC) projesi bunu yapmak için mükemmel bir seçenektir. Actions Runner Controller, GitHub Actions işlerini bölmeler halinde düzenleyen bir Kubernetes operatörüdür. Her iş ayrı bir bölme olarak çalışır ve iş bittikten sonra silinir.

GitHub Actions çalıştırıcılarından giden trafiği filtreleyin

Kodun ve CI/CD kimlik bilgilerinin sızması riskine karşı koymak için en iyi uygulama, GitHub Actions çalıştırıcılarından giden trafiği izlemek ve mümkünse erişimi yalnızca ihtiyaç duyulan uç noktalarla sınırlamaktır. Örneğin, çıkış izleme ve filtreleme mevcut olsaydı, saldırganlar Codecov olayında kimlik bilgilerini sızdıramayacaktı.

CI/CD sunucularında Gerçek Zamanlı dosya izleme

Oluşturma işlemi sırasında kaynak kodun veya yapıtların kurcalanması riskine karşı koymak için CI/CD sunucusunda gerçek zamanlı bir dosya izleme çözümünün kullanılması önerilir. Örneğin, böyle bir gerçek zamanlı dosya izleme çözümü mevcut olsaydı, oluşturma süreci sırasında kaynak kodunda yapılan değişiklikleri tespit edebilir ve SolarWinds ihlali önlenebilirdi.

GitHub Actions güvenlik tehditleri ve karşı önlemleriyle ilgili uygulamalı deneyim kazanmanın harika bir yolu, açık kaynaklı bir eğitim projesi olan GitHub Actions Goat’ı keşfetmektir.

GitHub Actions güvenliği alanında gelecekte ne gibi gelişmeler bekliyorsunuz?

Mevcut güvenlik çözümleri CI/CD senaryoları için iyi çalışmıyor. Sektör daha iyi CI/CD güvenliğine olan ihtiyacın farkına varıyor. Örneğin, CISA ve NSA yakın zamanda CI/CD ortamlarının korunmasına ilişkin kılavuz yayınlayarak sağlam CI/CD güvenlik kontrollerinin aciliyetini vurguladı. Bulut güvenliği gibi daha olgun güvenlik endüstrileriyle karşılaştırıldığında CI/CD güvenliği yeni yeni ortaya çıkıyor. GitHub Actions’ın benimsenmesi hızlandıkça, birinci taraf ve üçüncü taraf GitHub Actions güvenlik çözümlerinden oluşan zengin bir ekosistemin oluşacağına inanıyorum.



Source link