Accueil/Projets/Ce portfolio, auto-hébergé et durci

Infrastructure En production

Ce portfolio, auto-hébergé et durci

L'infrastructure que vous consultez en ce moment : une VM que j'ai obtenue, installée, sécurisée et que j'administre seul — vérifiable en direct pendant l'entretien.

  • Ubuntu 22.04
  • Oracle Cloud (ARM
  • Always Free)
  • nginx
  • Node.js
  • Express
  • node:sqlite
  • systemd
  • fail2ban
  • iptables
  • Cloudflare
  • Git
  • SSH
Résultat

En ligne depuis août 2026 sur une VM Oracle ARM (4 OCPU / 24 Go) : 19 Mo de RAM, réponse en ~20 ms, 8 mesures de durcissement appliquées en une nuit sans coupure — et chaque lien nominatif indique qui a consulté quelles fiches.

Un CV en PDF décrit un parcours mais ne démontre rien, et un portfolio déposé sur une plateforme managée (Vercel, Netlify) ne prouve rien sur l'infrastructure. Candidat sur des postes cybersécurité / systèmes / cloud, j'ai voulu que l'hébergement lui-même soit la démonstration : un interlocuteur peut ouvrir le site, le passer à SSL Labs ou demander à voir la configuration nginx pendant l'entretien.

Le portfolio est à accès nominatif : chaque interlocuteur reçoit un lien personnel, la page l'accueille par son nom et adapte l'ordre des projets à son profil (RSSI, DevOps, recruteur…), et je sais quelles fiches ont été ouvertes et à quel moment — sans cookie tiers, avec des adresses IP hachées et purgées au bout de 12 mois.

Côté application, un choix volontairement sobre : Node.js et Express, EJS pour le rendu, SQLite via le module node:sqlite intégré à Node 22 — aucune dépendance native à compiler, donc un déploiement sur ARM immédiat. Une base PostgreSQL aurait été surdimensionnée pour quelques centaines d'enregistrements.

Côté infrastructure, deux obstacles concrets. Obtenir la capacité ARM gratuite d'Oracle Cloud à Paris d'abord : un seul domaine de disponibilité, une ressource rare — 6 tentatives sur plusieurs jours. Exposer les services sans faille ensuite : Oracle applique deux pare-feux indépendants (iptables sur la VM et la Security List côté cloud), et oublier le second donne un service qui répond en local mais reste injoignable depuis Internet. La VM (4 OCPU / 24 Go, Ubuntu 22.04) héberge nginx en reverse proxy et deux services Node isolés — ce portfolio et EventMap — chacun sous un utilisateur système dédié sans shell, avec ProtectSystem=strict et redémarrage automatique.

Le 23 août 2026, un durcissement complet a été mené en une nuit sans interrompre le service : fail2ban sur SSH, en-têtes nginx stricts (CSP, HSTS, X-Frame-Options), anonymisation des IP dans les logs, sauvegarde chiffrée des secrets hors de la VM, rétention des journaux bornée (journald 30 j / 200 Mo), bureau distant XRDP lié à 127.0.0.1 et accessible uniquement par tunnel SSH. Le domaine hamdy-tabsissi.com et le certificat TLS (Cloudflare Origin CA) ont été mis en place le soir même. Un arbitrage assumé : aucune mise à niveau automatique du système (do-release-upgrade proscrit, pas de redémarrage automatique), pour ne pas risquer une VM obtenue après 6 échecs et sans snapshot.