GitHub Güvenliği - GitHub Gelişmiş Güvenlik

GitHub Güvenlik SSS: Her Geliştiricinin Bilmesi Gerekenler

GitHub Güvenlik, modern DevOps'ta kritik bir rol oynar. Ekipler kod işbirliği, otomasyon ve güvenlik için giderek daha fazla GitHub'a güvendikçe... CI/CDAyrıca, sızdırılan sırlar, yanlış yapılandırılmış iş akışları, savunmasız bağımlılıklar ve güvenli olmayan birleştirmeler gibi yeni risklerle de karşı karşıya kalırlar. Bu nedenle, GitHub ortamınızı etkili bir şekilde nasıl güvence altına alacağınızı anlamak çok önemlidir. Bu SSS, geliştiricilerin en sık sorduğu soruları ele alıyor ve GitHub Gelişmiş Güvenlik'in Xygeni gibi araçlarla birlikte, GitHub projenizin her aşamasını nasıl koruyabileceğinizi açıklıyor. pipelineAyrıca, dal koruması, uygulama güvenliği ve güvenli GitHub Actions gibi konulara ilişkin ayrıntılı kılavuzlara bağlantılar bulacaksınız, böylece ihtiyaç duyduğunuzda daha derinlemesine bilgi edinebilirsiniz.

GitHub'ı Güvenli Bir Şekilde Nasıl Kullanabilirsiniz?

GitHub Gelişmiş Güvenlik'i kullanmak, güvenliği iş akışınızın her adımına entegre etmek anlamına gelir. Bu sadece kod tabanını korumakla ilgili değil; aynı zamanda kimlik, sırlar, otomasyon ve tedarik zinciri bağımlılıkları genelinde riskleri azaltmakla da ilgilidir. Güvenlik erken aşamada entegre edildiğinde, ekipler kaliteden ödün vermeden hızlı hareket edebilir.

Aşağıdaki en iyi uygulamalar, geliştiricilerin GitHub'da güvenli bir şekilde çalışmasına yardımcı olur:

İki faktörlü kimlik doğrulamayı etkinleştir (2FA)

Tek bir şifrenin ele geçirilmesi bile yeterli. Tüm hesaplarda iki faktörlü kimlik doğrulama (2FA) zorunluluğu getirerek, yetkisiz erişim riskini önemli ölçüde azaltırsınız.

Önlemek commitDeponuzdaki sırları gizleyin

API anahtarları, token'lar ve parolalar gibi gizli bilgiler asla Git'te saklanmamalıdır. Geliştirici yanlışlıkla bir .env dosyası veya yapılandırma dosyası gönderirse, özel depolar bile sızdırılabilir. GitHub Gelişmiş Güvenlik, açığa çıkan gizli bilgileri tarayabilirken, Xygeni birleştirme öncesinde gizli bilgileri tespit ederek, kullanımlarını doğrulayarak ve gerekirse otomatik iptal ve uyarı tetikleyerek ek koruma sağlar.

Hassas dosyaların sürümlendirilmesini önlemek için .gitignore dosyasını kullanın.

Yerel ortam dosyalarını, kimlik bilgilerini, SSH anahtarlarını veya gizli bilgiler içeren yapılandırma dosyalarını hariç tutun. Bu, bir işlem sırasında kazara ifşa olma olasılığını azaltır. commit or pull request.

Şube koruma kurallarını ayarlayın

Durum kontrollerini zorunlu kılın, PR onaylarını uygulayın ve ana dallara doğrudan push işlemlerini engelleyin. Bu kontroller, incelenmemiş veya güvenlik açığı bulunan kodların üretime ulaşmasını önlemek için çok önemlidir.

Depo görünürlüğünü ve erişim izinlerini düzenli olarak gözden geçirin.

Depolar, kamuya açık hale getirilmelerini gerektiren güçlü bir neden olmadığı sürece varsayılan olarak özel olmalıdır. Paylaşımlı ortamlarda, geliştiricilere çalışmalarını gerçekleştirmek için gereken minimum erişim izni verilmelidir.

GitHub Actions iş akışlarınızı denetleyin.

İş akışları genellikle göz ardı edilir, ancak saldırı yüzeyinizin bir parçasıdır. Üçüncü taraf işlemlerini her zaman şu şekilde sabitleyin: commit SHA algoritmasını kullanarak, belirteçler üzerindeki gereksiz yazma izinlerinden kaçının ve girdileri doğrulayın. Xygeni, her iş akışı dosyasını yanlış yapılandırmalar, aşırı izinler veya riskli kalıplar açısından tarayarak bu konuda yardımcı olur. GitHub ile entegre olur. pipeline Güvenli olmayan iş akışlarının birleştirilmeden önce durdurulması.

Kodları, bağımlılıkları, sırları ve diğer bilgileri tarayın. IaC otomatik olarak

Manuel incelemeler yeterli değil. GitHub Gelişmiş Güvenlik, kod ve bağımlılıklar için tarama sağlar, ancak çoğu ekip daha geniş bir kapsama alanına ihtiyaç duyar. Xygeni bunu ekler. Kaynak kod genelinde tam kapsamlı analizaçık kaynak kütüphaneleri, kod olarak altyapı ve CI/CD Mantıkta çalışır. pull requests, pipelines ve birleştirme sonrası işlemler, hiçbir şeyin gözden kaçmamasını sağlamak için yapılır.

Güvenli geliştirici uygulamalarını sürekli ve otomatik tarama ile birleştirerek, GitHub'ı varsayılan olarak güvenli bir ortama dönüştürebilirsiniz. Güvende kalmak için yavaşlamanıza gerek yok. GitHub Güvenliği proaktif olarak ele alındığında, geliştiriciler hata aramakla daha az zaman harcar ve daha çok zamanlarını geliştirmeye ayırırlar.

Ekibiniz halihazırda GitHub Advanced Security kullanıyorsa, Xygeni gibi araçlarla bunu genişletmek, koddan buluta kadar yazılım geliştirme yaşam döngüsünün tamamında size tam görünürlük sağlar.

Bir sonraki bölüme hazır olduğunuzda veya bunun bağımsız bir makale veya eğitim haline getirilmesini istediğinizde bana bildirin.

GitHub Actions'ı Nasıl Güvenli Hale Getirirsiniz? Pipelines

GitHub Actions, GitHub'ın sunduğu en güçlü özelliklerden biridir. CI/CDAncak bu güç beraberinde risk de getirir. Yanlış yapılandırılmış iş akışları şunlara yol açabilir: leak secretYetki sınırlarını aşan izin belirteçleri veya güvenilmeyen kod yürütülmesine izin vermek gibi durumlar söz konusu olabilir. Güvenliğinizi sağlamak için pipelines, şu adımları izleyin:

  • Tokenlar için en az ayrıcalık ilkesini uygulayın.
    İşlemler varsayılan olarak bir GITHUB_TOKEN alır. Erişim kapsamını iş için gereken minimum düzeyle sınırlayın. Kesinlikle gerekli olmadıkça kişisel erişim belirteçlerini kullanmaktan kaçının.
  • SHA tarafından gerçekleştirilen tüm üçüncü taraf işlemlerini sabitleyin.
    @main veya @latest ile eylemlere referans vermek sizi tedarik zinciri saldırılarına karşı savunmasız hale getirir. Sürümleri her zaman belirli bir etikete sabitleyin. commit.
  • Tüm girdileri doğrulayın ve çatallardan gelen verileri temizleyin.
    Açık Alan pull requests Bu durum iş akışlarını tetikleyebilir. Bu iş akışlarının çalıştırılmadan önce gözden geçirildiğinden emin olun ve dağıtım adımlarındaki doğrulanmamış girdilere asla güvenmeyin.
  • Hassas ve hassas olmayan iş akışlarını ayırın.
    Harici katkıda bulunanların altyapı dağıtımı veya paket yayınlama işlemlerini tetiklemesine izin vermeyin.
  • Risk açısından iş akışı tanımlarını tarayın.
    GitHub Gelişmiş Güvenlik, CI mantığına değil, koda odaklanır. Xygeni ise, iş akışı .yml dosyalarını güvensiz kalıplar, sabitlenmemiş eylemler ve token aşırı kullanımı açısından tarayarak bunu tamamlar. Bu, otomasyonunuzda GitHub Güvenlik politikalarını uygulamanıza yardımcı olur.

GitHub varsayılan olarak size temel araçlar sunar. İş akışı suistimaline ve ayrıcalık yükseltmesine karşı korunmak için, güvenlik bilincine sahip ekiplerin çoğu sürekli politika uygulama yöntemini de ekler.

nasıl Commit GitHub'a

Bir Git commit Bu sadece bir sürüm kontrol noktası değil. Gizli bilgilerin, güvensiz kodların veya uyumsuz değişikliklerin girebileceği potansiyel bir giriş noktasıdır. İşte bunu güvenli bir şekilde nasıl yapacağınız:

  • Öncelikle neyi sahneye koyacağınızı kontrol edin. commitçınlama
    Hassas dosyaların veya kimlik bilgilerinin izlenmediğini doğrulamak için git status ve git diff komutlarını kullanın.
  • Anlamlı ve imzalı yazın. commit mesajları
    imzalı commitBu, özellikle düzenlemeye tabi ortamlarda yazarlık bütünlüğünün sağlanmasına yardımcı olur.
  • Kullanım pre-commit hooks veya CI kontrolleri
    Gizli bilgilerin veya yanlış yapılandırmaların ele geçirilmesini önlemek için kontrolleri otomatikleştirin. committed.
  • .gitignore dosyasını titizlikle uygulayın.
    Bilgisayarınızdan asla dışarı çıkmaması gereken geçici dosyaları, kimlik bilgilerini ve yerel yapılandırma dosyalarını hariç tutun.

Xygeni, GitHub ile entegre olarak burada değer katıyor. pull requests hem de commitBu, içeriğinizi tarar. commitBu, gizli bilgiler, savunmasız kodlar, yanlış yapılandırmalar ve güvensiz açık kaynak kütüphaneleri için geçerlidir. Bu sayede geliştiriciler, sorunlar güvenlik olayına dönüşmeden önce bunları erken aşamada düzeltebilirler.

GitHub'da Dalları Birleştirme Nasıl Yapılır?

Kod birleştirme, geliştirme sürecinde rutin bir adımdır, ancak kontroller olmadan yapıldığında güvenlik açıklarına yol açabilir. Birleştirme sırasında riski azaltmak için:

  • Kullanım pull requests şube koruma kurallarıyla
    Ana dala birleştirme işlemine izin verilmeden önce onayların alınması, durum kontrollerinin geçilmesi ve kod incelemesinin yapılması gerekmektedir.
  • PR'da güvenlik taramalarını otomatikleştirin. pipeline
    Birleştirmeden önce statik kod analizi, gizli bilgi tespiti ve bağımlılık kontrolleri gerçekleştirin.
  • Doğru birleşme stratejisi seçin
    ezme commitBu özellik, temiz bir geçmiş oluşturmaya yardımcı olur ve eski kayıtlardaki yanlışlıkla girilen kimlik bilgilerinin veya hassas verilerin aktarılmasını önler. commits.
  • Kritik riskler tespit edilirse blok birleştirme işlemi gerçekleştirilir.
    Ayarlayın pipeline Güvenlik taramaları başarısız olduğunda derlemelerin de başarısız olmasını sağlamak.

GitHub Gelişmiş Güvenlik, bu korumalardan bazılarını etkinleştirmenize olanak tanır, ancak Xygeni gibi araçlar politikayı birleştirme aşamasında uygular. Güvenlik sorunları için çekme isteklerini tarar, güvenli olmayan birleştirmeleri engeller ve güvenliği sağlar. CI/CD İş akışlarınız kuruluşunuzun politikalarına uygundur.

Ayrıntılı bir rehbere mi ihtiyacınız var?
GitHub'da taramalar kullanarak güvenli bir şekilde birleştirme işlemini nasıl yapacağınızı okuyun. guardrails

GitHub Deposu Nedir?

GitHub deposu, projenizin bulunduğu yerdir. Kod tabanınızı içerir, commit Tarihçe, dokümantasyon, CI iş akışları ve yapılandırma dosyaları. İster herkese açık ister özel olsun, bir depo hassas bir varlık olarak ele alınmalıdır.

Depoların güvenliğini şu şekilde sağlayabilirsiniz:

  • Özel depoları kullanın kamuya açık erişim gerekmediği sürece
  • İşbirlikçi erişimini sınırla sadece ihtiyaç duyulanlara
  • Gizli bilgilere, kötü amaçlı yazılımlara karşı izleme yapın, or hatalı yapılandırmalar düzenli
  • Varsayılan dalları koruyun kurallar ve incelemelerle birlikte

GitHub Gelişmiş Güvenlik, bağımlılık analizleri ve kod taraması gibi özellikler ekler. Ancak, depo yaşam döngüsünün tamamını kapsamak istiyorsanız: IaCÜçüncü taraf paketler ve GitHub Actions gibi araçları destekler. Xygeni sürekli izleme ve tam kapsamlı tarama sağlar.

GitHub Actions Nedir?

GitHub Actions, deponuzdaki görevleri otomatikleştirmenize yardımcı olur. Örneğin, birisi bir dosyayı açtığında testleri çalıştırabilirsiniz. pull requestUygulamanızı bir push işleminden sonra otomatik olarak dağıtın veya kodunuzu güvenlik araçlarıyla tarayın.

GitHub Actions'ı güvenli tutmak için:

  • İş akışlarını sürüm kontrolü altında tutun. ve kod gibi incelendi
  • Yazma izni vermekten kaçının. açıkça gerekmedikçe
  • Pin her üçüncü taraf eylemi onun tarafından SHA
  • İş akışlarını tedavi edin senin bir parçası olarak saldırı yüzeyi

GitHub Gelişmiş Güvenlik, kodunuzu tarar ancak iş akışlarınızı taramaz. İşte burada Xygeni devreye giriyor. Her iş akışı dosyasını (.yml) zayıf ayarlar, güvenli olmayan eylemler veya aşırı geniş izinler açısından kontrol eder. Ekibinizin en iyi uygulamaları takip etmesine ve GitHub Actions'ınızı güvende tutmasına yardımcı olur.

GitHub Pages, statik site barındırma hizmetidir. Varsayılan olarak güvenlidir, ancak bu risksiz olduğu anlamına gelmez. Aşağıdaki uygulamaları göz önünde bulundurun:

  • HTTPS ve özel alan adları kullanın. uygun TLS ayarları
  • Gizli bilgileri doğrudan kod içine yazmaktan kaçının. kaynak dosyalarına
  • JavaScript kütüphanelerini koruyun. hem de Ön uç bağımlılıkları güncel.
  • Uygula İçerik Güvenliği Politikası (CSP) başlıkları

GitHub Pages'in kendisi güvenli olsa da, yayınladığınız içerik yine de risk oluşturabilir. Bunu yönetmek için, dağıtımdan önce güncel olmayan paketleri, gizli bilgileri veya bilinen güvenlik açıklarını tespit etmek üzere bir tarama aracı kullanabilirsiniz. Xygeni, bu riskleri deponuzda ve CI iş akışlarınızda belirlemenize yardımcı olur, böylece bu riskler canlı statik sitenize asla ulaşmaz.

Microsoft, GitHub'ı satın aldı. 2018'de kuruldu. Bugün Microsoft, GitHub'ı geliştirici bölümünün bir parçası olarak işletiyor. Milyonlarca geliştirici her gün GitHub'ı kullanıyor ve bu da onu kod oluşturma ve paylaşma için en popüler platformlardan biri haline getiriyor.

GitHub Copilot Nedir?

GitHub Yardımcı Pilotu Yapay zekâ destekli bir kodlama asistanı olan bu araç, doğal dil komutlarına dayanarak kod önerileri üretir. Geliştiriciler, görevleri hızlandırmak ve tekrarlayan kodları otomatikleştirmek için kullanırlar.

Ancak Copilot, uygulamanızın güvenlik ihtiyaçlarının bağlamından haberdar değildir. Şunları üretebilir:

  • Güvenli olmayan kimlik doğrulama mantığı
  • `eval` veya `exec` gibi fonksiyonların güvenli olmayan kullanımı
  • Zayıf girdi doğrulaması
  • Yetkilendirme kontrollerini atlayan kod

Copilot kullanan geliştiriciler, onu otomatik güvenlik taramasıyla birlikte kullanmalıdır. GitHub Gelişmiş Güvenlik riskin bir kısmını karşılıyor, ancak Xygeni gibi araçlar Copilot tarafından oluşturulan kod üzerinde derinlemesine statik analiz yaparak, ekip herhangi bir şeyi üretime entegre etmeden önce güvenlik açıklarını yakalıyor.

GitHub, uygun kontrollerle kullanıldığında güvenlidir. SAML kimlik doğrulaması, gizli veri taraması ve dal korumaları gibi yerleşik koruma mekanizmaları riski azaltmaya yardımcı olur. Yine de GitHub tek başına geliştiricilerin dokunduğu her şeyi, özellikle de bazı durumlarda, izlemez. CI/CD veya açık kaynak bağımlılıkları.

Güçlü GitHub Güvenliği sağlamak için ekipler şunları yapmalıdır:

  • Kimlik doğrulama kontrollerini uygulayın. 2FA ve SSO gibi
  • taramak için sırlar, güvenlik açıkları, hem de hatalı yapılandırmalar
  • Politika uygulamasını hayata geçirin. CI iş akışlarında
  • Sürekli izleme depolar ve derlemeler anormallikler için

GitHub Gelişmiş Güvenlik harika bir başlangıç ​​noktasıdır, ancak tam DevSecOps görünürlüğü genellikle şunları gerektirir: entegre çözüm Kodlar genelindeki riskleri birbirine bağlayabilen, pipelineXygeni, GitHub'a bu daha geniş bakış açısını kazandırıyor.

Üçüncü taraf GitHub uygulamalarının kullanımının güvenli olup olmadığını öğrenmek mi istiyorsunuz?
Analizimizi buradan okuyun

GitHub Depolarınızın Güvenli Olup Olmadığını Nasıl Kontrol Edebilirsiniz?

GitHub depolarınızın güvenliğini sağlamak için görünürlük ayarlarının ötesine bakmanız gerekir. Güvenlik sadece kodunuza kimin erişebileceğiyle ilgili değildir. Aynı zamanda kodunuzun ne içerdiğini, nasıl hareket ettiğini de içerir. CI/CD pipelineve bu akışı kontrol eden kurallar.

Deponuzun güvenliğini kontrol etmek için şu adımları izleyin:

  • Gerektiğinde depolarınızı özel (private) olarak ayarlayın.
    Yapılandırma dosyaları, altyapı dosyaları veya gizli bilgiler içeren tüm projeleri gizli tutun.
  • Erişim izinlerini sık sık gözden geçirin.
    Kullanıcılara yalnızca ihtiyaç duydukları erişimi verin. Etkin olmayan ekip üyelerini kaldırın. Hangi GitHub Uygulamalarının ve OAuth uygulamalarının depolarınızla etkileşim kurma iznine sahip olduğunu kontrol edin.
  • Ana dallarınızı koruyun
    Gerekli kuralları ekleyin pull request İncelemeler, durum kontrollerinden geçme ve blok itme işlemleri.
  • Dependabot uyarılarını ve otomatik güncellemeleri etkinleştirin.
    GitHub'ın güvenlik açığı bulunan paketleri bulduğunda sizi bilgilendirmesine ve güvenli güncellemeler önermesine izin verin.
  • Planınızda GitHub Gelişmiş Güvenlik özelliği varsa, onu kullanın.
    Aktif depolarınızda gizli veri tarama ve kod tarama özelliklerini etkinleştirin.
  • GitHub Actions iş akışlarınızı kontrol edin.
    .yml dosyalarınızı tıpkı kod okur gibi okuyun. Üçüncü taraf işlemlerini sabitleyin, belirteçlerde en az ayrıcalık ilkesini kullanın ve güvenli olmayan girdilerden kaçının.

Xygeni bunu otomatik olarak yapmanıza yardımcı olur. Her depoyu gizli bilgiler, güvensiz kodlar, riskli paketler ve yanlış yapılandırılmış iş akışları açısından tarar. Kodunuzu bağlar, pipelineSistemler ve altyapıyı tek bir görünümde birleştirerek sorunları erken tespit edip hızlıca çözebilirsiniz.

Bu kontrolleri sık sık yapın. Akıllı alışkanlıkları doğru araçlarla birleştirdiğinizde, ekibinizin hızını yavaşlatmadan GitHub güvenliğini artırırsınız.

GitHub Güvenliğini Bir Araya Getirmek

Xygeni bu eksik katmanı ekliyor. Her şeyi tarayarak GitHub güvenliğini artırıyor. pull requests GitHub Actions iş akışlarına ve kod olarak altyapıya entegre edilmiştir. Geliştirme akışınızı aksatmadan sorunları hızlıca çözmenize, uyumluluğu korumanıza ve riski azaltmanıza yardımcı olur.

Bu SSS, başlangıç ​​noktanızdır. Daha detaylı bilgi için kılavuzlarımıza göz atın. GitHub uygulamalarını doğrulama hem de dalları güvenli bir şekilde birleştirme.

GitHub Güvenliği veya diğer konularla ilgili hala sorularınız mı var? pipeline kurmak? Discord üzerinden bize sorun.. Yardım etmek için buradayız.

 
sca-tools-software-composition-analysis-tools
Yazılım risklerinizi önceliklendirin, giderin ve güvence altına alın.
Ücretsiz hesabınızı alın.
Hiçbir kredi kartı gerekmektedir.

Yazılım Geliştirme ve Teslimatınızı Güvence Altına Alın

Xygeni Ürün Paketi ile