← Accueil · Stacks & langages · Toute la doc
Go sur Outscale
Un binaire statique, une empreinte mémoire minuscule, une concurrence native : Go est taillé pour les API et les services réseau. Sur Outscale, une VM modeste suffit souvent ; bige-ops la dimensionne, la chiffre et vérifie si tes routes Gin et net/http demandent une connexion.
go dans bige-ops : port 8080, 256 MiB par service par défaut. Côté failles : routes net/http et Gin accessibles sans connexion, modules Go (go.mod) et image golang comparés aux failles connues.
Frameworks et bibliothèques
La bibliothèque standard suffit souvent ; Gin reste le framework le plus répandu.
net/http
Le serveur HTTP de la bibliothèque standard, avec le routage par motifs (méthode et chemin) depuis Go 1.22. bige-ops repère les routes déclarées par http.HandleFunc() et mux.HandleFunc().
documentation officielle · Go sur OpenCVE · golang.org/x/net sur OpenCVE
Gin
Le framework web Go le plus utilisé : routeur rapide, middlewares, binding. bige-ops repère les routes r.GET(), group.POST() et les groupes r.Group() ; une API ouverte à n’importe quel site est transmise à l’audit approfondi.
documentation officielle · Gin sur OpenCVE
chi, Echo, pgx
chi et Echo sont d’autres routeurs courants ; pgx est le driver PostgreSQL de référence. Leurs versions dans go.mod sont comparées aux failles connues, comme tous tes modules.
documentation officielle · chi sur OpenCVE · Echo sur OpenCVE · pgx sur OpenCVE
Faire tourner Go sur Outscale avec bige-ops
Le runtime go de bige-ops prévoit 256 MiB et le port 8080 : un binaire Go dans une image distroless ou scratch démarre en quelques millisecondes. Une VM app tinav6.c2r4p2 (2 vCPU, 4 GiB) porte confortablement une API et ses consumers.
| Topologie | Sur Outscale | Pour |
|---|---|---|
single-vm | une VM {name}-all avec IP publique : apps et bases en Docker Compose | prototype, démo, environnement de test |
multi-vm | VM app en subnet public derrière un LBU, une VM privée par base (security groups au CIDR du Net), NAT pour la sortie | la production simple et lisible |
oks | cluster OKS (control plane managé + nodepools), un Deployment par service, Service LoadBalancer → LBU | le scale horizontal, les microservices, l’HPA |
bige-ops add layout go-app --name api # ou sur mesure : bige-ops add layout custom --runtime go --web none --worker \ --db postgres --topology multi-vm --lbu
Le layout go-app ajoute une SPA Node, PostgreSQL et Redis derrière un LBU.
Ce que bige-ops vérifie dans ton code Go
Des failles, il y en aura toujours : l’important est de voir d’abord celles qui sont exposées. Sans clé ni IA (le « mode direct »), bige-ops lit le code de tes dépôts sur ton poste :
- Les pages et les API exposées : bige-ops repère les routes net/http (
HandleFunc) et Gin (GET,POST, groupes) et regarde si le code juste à côté vérifie la connexion. Une route marquée publique, ou une route sensible (/admin,/account,/payment,/billing…) sans vérification visible, ressort comme « page ou API accessible sans être connecté ». - Les erreurs classiques : mots de passe ou clés écrits en clair dans le code ; vérification des certificats HTTPS désactivée ; lecture de fichiers hors du dossier prévu ; API ouverte à n’importe quel site.
- Tes modules Go : chaque module de
go.modest comparé à la base publique des failles connues des bibliothèques open source (OSV), qui reprend la base de vulnérabilités Go. - Ta stack : avec ta clé OpenCVE, l’image
golangde ton Dockerfile est comparée aux failles connues publiées dans le registre mondial des vulnérabilités (CVE), via Go sur OpenCVE ; PostgreSQL, via sa fiche.
Tout est ensuite classé par urgence : ce qui est exposé à Internet d’abord. Pourquoi le refaire toi-même ? C’est chez toi, sur ton poste, et c’est gratuit. En option, l’audit approfondi de bige-ops advanced relit ces pistes avec ta propre clé d’IA, écarte les fausses alertes et classe chaque faille par type, selon le catalogue de référence (CWE). La méthode complète : ce que bige-ops vérifie.
Bases de données typiques
Go et PostgreSQL forment un duo classique ; Redis et NATS complètent pour le cache et la messagerie.
| Base | Avec ce langage | Failles connues |
|---|---|---|
| PostgreSQL | pgx, database/sql, sqlc. Stack : Go + PostgreSQL + NATS. | fiche OpenCVE |
| Redis | cache, rate limiting. | fiche OpenCVE |
| MongoDB | driver officiel Go. | fiche OpenCVE |
Règle d’or, quelle que soit la base : jamais exposée à Internet. En multi-VM elle vit dans le subnet privé, sans IP publique, derrière un security group limité au CIDR du Net ; sur OKS elle reste un Service interne (ClusterIP). Détail : réseau · ouvrir ou non et bases de données.
Versions à épingler
Chaque version majeure de Go est maintenue jusqu’à la sortie de deux versions plus récentes : aujourd’hui Go 1.27 et 1.26. Épingle la version dans go.mod (directive go) et dans l’image de build (FROM golang:1.27). Sources : historique des versions Go · gestion des vulnérabilités Go · Failles connues : Go sur OpenCVE.
OpenCVE, la source des failles connues
Pour savoir quelles failles connues touchent les briques de ta stack, bige-ops s’appuie sur OpenCVE. OpenCVE rassemble les failles publiées dans le registre mondial des vulnérabilités (CVE) et ses sources officielles (NVD, MITRE, liste KEV des failles déjà exploitées tenue par la CISA, l’agence américaine de cybersécurité…), donne à chacune sa note de gravité sur 10 (CVSS) et sa probabilité d’être exploitée (EPSS), et les range par éditeur et par produit, consultables dans son explorateur. Le projet est open source : son code, ses issues et les contributions de sa communauté vivent sur GitHub, et il s’installe aussi chez toi. Merci à ses mainteneurs et à tous ceux qui font vivre ce référentiel : c’est grâce à eux que chaque composant de ta simulation a sa fiche de failles à jour.
Stacks Go chiffrées
- Go + PostgreSQL + NATS (302,60 € HT/mois estimés)
Docs officielles
Pour aller plus loin : layouts & topologies, VMs, OKS, volumes BSU, OOS, LBU, réseau, régions, bases de données, catalogue de prix. Toutes les stacks : stacks & langages.