Catégorie : Divers

Happy New Year 2021!

Bonjour!

Je tenais à prendre quelques minutes afin de vous remercier d’avoir été plus de 500 000 visiteurs à lire mon blog ces derniers mois. Nous avons vécu dans un contexte compliqué mais qui nous a permis également de nous ré-inventer technologiquement.

La ligne éditoriale de ce blog continuera d’évoluer sur les thématique liées à la sécurité Cloud (Azure Security Center, Azure Sentinel), la gouvernance (Azure Policy, OPA Gatekeeper, …) ainsi que sur les sujets liés à la sécurité des clusters Kubernetes.

Je vous souhaite à toutes et à tous mes meilleurs voeux pour cette année 2021!

Maxime.

Checkov avec Github Action

Salut!

J’utilise très souvent l’outil open source Checkov afin de réaliser des scans du code que je développe pour les infrastructures que je réalise.

Checkov vous permet de scanner du code dit d’infrastructure as code (Les plateformes Azure, AWS et Google Cloud sont supportés) avec les languages suivants:

  • ARM
  • Terraform
  • Cloud Formation
  • Kubernetes
  • Serverless framework

L’outil vous propose par défaut plus de 400 checks de sécurité – https://github.com/bridgecrewio/checkov/blob/master/docs/3.Scans/resource-scans.md

Mais il est tout à fait possible de réaliser ses propres checks – https://github.com/bridgecrewio/checkov/blob/master/docs/5.Contribution/New-Check.md

Je vous propose de regarder ensemble comment nous pouvons intégrer checkov dans un workflow Github Action. Dans cet exemple notre scan d’exécutera lors d’un merge dans la branche master.

Vous trouverez ci-dessous le code que j’utilise pour mon workflow, libre à vous de l’adapter à vos besoins.

---
name: Checkov
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.7]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v1
        with:
          python-version: ${{ matrix.python-version }}
      - name: Test with Checkov
        run: |
          pip install checkov
          checkov -d .

Je vous donne rendez-vous dans votre repository github, puis je vous invite à cliquer sur l’onglet ‘Actions’ puis « set up a workflow yourself ».

Copier/Coller le code précédent et cliquer sur « Start commit »

Enfin cliquer sur « Commit new file »

Notre workflow est désormais en place, il s’exécutera lors du prochain merge de votre code dans la branche « master ».

Ci-dessous un exemple d’un scan:

Maxime.

Identifier les serveurs SQL publiques!

Hello,

Après vous avoir présenté comment identifier les comptes de stockages qui peuvent accessible depuis internet au sein de votre souscription Azure.

Dans cet article, nous utiliserons de nouveau une Azure Policy en audit mode afin de nous permettre d’identifier les serveurs SQL qui peuvent être accessible depuis Internet.

Azure Policy Code:

{
      "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Sql/servers"
          },
          {
            "not": {
              "field": "Microsoft.Sql/servers/publicNetworkAccess",
              "equals": "Disabled"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
}

Maxime.