[FBSD 11.1-RELEASE/OBSD 6.1-stable] Bhyve + auto-hébergement
#1

Bonjour :-)

Après de longues journées à réfléchir, voici ce que je compte construire (la partie "DMZ").

(DNSSEC)
Internet ----------------------------- REGISTRAR (zone chezmoi.tld)
|
|
|
Box ------ parefeu OpenBSD du LAN ------------------------ réseau LAN
| services : |
| - passerelle filtrante (pf) |
| - résolveur cache récursif | ssh
| DNS (localhost « chiffré » + LAN) |
| DNSSEC + BlockZones |
| |
___| ______________________ |
| Host : FreeBSD/ZFS/Bhyve/pf | |
------------------------------------------------------------------------------------------------------------------ ---------
| Bridge/tap | | [Bridge/tap] |
| -------------- | | |
| | DMZ | | |
| | | | |
| | Bhyve -------------- | ssh |
| | | |
|__ |____________________________________________|____________________________ |
| | (Guest) | |
| | | |
| |______ parefeu OpenBSD --------- [Bridge/tap] ---- DMZ (serveurs OpenBSD exposés) |
| services : Services : |
| - passerelle filtrante (pf) - DNS primaire faisant autorité |
| - résolveur cache sur la zone chezmoi.tld (DNSSEC) |
| récursif DNS - DNS secondaire faisant autorité |
| (localhost « chiffré ») sur la zone chezmoi.tld |
| DNSSEC + BlockZones (→ ZFS « clone » ?) |
| - serveur de messagerie (primaire) |
| sur la zone chezmoi.tld |
|____________________________________________________________________________|

Mes motivations :
- Apprendre sur le mode de fonctionnement d'Internet, d'OpenBSD et de FreeBSD
- Avoir mon propre service de messagerie

Bon au travail ! :-)

NB : J'ai pensé à thuban pour le côté... KISS du projet ! ;-)

Un OS pour les gouverner tous (FreeBSD), un jail pour les trouver (Unbound)
Un filesystem pour les amener tous et dans les ténèbres les lier (ZFS) ;)
Répondre
#2

KISS, c'est nécessaire pour éviter les maux de têtes futurs Wink
Bon courage !
Répondre
#3

Ah si jeune et plein d espoir. Ou sont mes 20ans.?
Répondre
#4

Tu as abandonné OpenBSD ? quelles sont les raisons de ce revirement ? bhyve ? (je suis - très - curieux !)
Sur ton schéma, tu as un seul serveur qui est relié à la box et tes services sont virtualisés ? ai-je juste ?
Répondre
#5

mathias a écrit :Tu as abandonné OpenBSD ? quelles sont les raisons de ce revirement ? bhyve ? (je suis - très - curieux !)
Sur ton schéma, tu as un seul serveur qui est relié à la box et tes services sont virtualisés ? ai-je juste ?

A ce que je comprends du schéma. Il axe openbsd pour la sécurité et freebsd pour le cote serveur.
Répondre
#6

ah oui ! le schéma m'a un peu perturbé. Pourquoi virtualiser une VM OpenBSD dédiée à la sécurité ? n'est-ce pas redondant avec la machine OpenBSD, et cela n'affranchit pas de sécuriser le serveur FreeBSD (host). Pour le coup, c'est moins kiss.
A part monter en compétences, le plus simple est une machine FW/IDS/relay sous openbsd en entrée et sortie du réseau avec une DMZ et une machine BSD avec une VM pour la messagerie.
Répondre
#7

De mon côté, j'avance sur la solution OpenBSD + vmm pour la messagerie, je préfère rester full OpenBSD, c'est plus simple
Répondre
#8

Salut :-)

Pour répondre à vos interrogations légitimes :

Oui, l’objectif premier est de m’amuser (et donc de me faire plaisir). Sur ce point, mes choix techniques ne se discutent pas ! ;-)

Oui, je n’envisage pas cette construction à mettre en production dans ces conditions (surtout le serveur de messagerie). En effet, pour construire ce projet de travail, il faut bien voir que j’utilise actuellement l’unique poste de travail de mon LAN dont le CPU est compatible avec Bhyve. Ce poste est donc à cheval sur mon LAN et la DMZ (via ssh). FreeBSD supervise tout cela. Mais, vous l’aurez compris, il s’agit avant tout d’une construction « pédagogique » afin que je puisse apprendre « rapidement ». Il y a quelques semaines, j’ai pu tester sur une machine réelle. Cela ne m’a pas plu de faire ainsi. Là, sur ce poste de travail exploité par FreeBSD, je continue ce projet tout en lisant les messages sur ce forum sur mon navigateur Mozilla Firefox. Je peux écrire mes scripts puis les « copier/coller » (de Xterm à Xterm) sur une VM. C’est très pratique.

Ces dernières années, j’ai beaucoup appris en virtualisant (VirualBox sur Debian) ce qui m’a permis, à chaque fois, de transposer de façon efficace (et globalement sans surprise ) sur le terrain. De plus, cela me rassure de pouvoir faire de nombreux essais (virtuels) avant de me lancer sur une machine physique. Si cela ne va pas, selon les cas, j’écrase tout le système de fichiers sur lequel repose une VM ou j’utilise un snapshot de celle-ci (et ce grâce à ZFS).

L’une des conséquences : Je compte bien approfondir mes compétenes/connaissances sur OpenBSD mais aussi indirectement sur FreeBSD. Néanmoins, je n’ai pas abandonné l’idée de virtualiser sur OpenBSD avec vmm/vmd. D’ailleurs, je pourrais peut-être essayer de virtualiser OpenBSD sur un système OpenBSD lui-même virtualisé sur FreeBSD via Bhyve (comme sur VMware il me semble) ?! Je ne sais pas si mon CPU (et/ou Bhyve) gère cela, mais faudrait que je teste ! ;-)

Pourquoi un parefeu à l’entrée de la DMZ ? Bonne question !

Sur les conseils de PengouinBSD, j’ai testé OPNsense. Je le savais déjà mais je n’ai pas aimé. Non pas que je pense que le produit soit mauvais mais il s’agit d’un produit clef en main. Nous étions par conséquent très loin du « tout faire à la main ». Même si je comprends les arguments de PengouinBSD sur cette solution « clef en main » conçue par des experts en sécurité pour des professionnels, j’ai laissé tombé OPNsense car cela ne correspond pas à un objectif important pour moi : apprendre en faisant. Je ressens peu de plaisir à cliquer partout en cherchant des options. Mais je peux comprendre que pour des PRO, il s’agit d’une solution experte et rapide à mettre en place. Et pour ma part, je ne suis pas un PRO et j’ai un peu de temps à consacrer à l’informatique libre/open source sur mon temps libre. :-)

Maintenant, si vous regardez bien le schéma, j’essaie de produire le segment (en le virtualisant)

Box ---- Firewall OBSD n°1 ---- LAN

en

Box ---- Firewall OBSD n°2 ---- DMZ

Pourquoi ?
J’aime savoir que le parefeu OpenBSD qui relie Internet (via ma Box) à mon LAN fait peu de choses mais le fait bien. Sur cette situation, je pense avoir un point de vue très KISS. ;-) Cela me rassure. J’avais déjà réfléchi à l’éventualité de l’ajout d’une 3ème patte sur ce parefeu pour créer la DMZ et en gérer les flux, mais, d’une part je ne le sens vraiment pas (car cela ajoute une fonctionnalité que je n’avais pas prévue à l’origine) et d’autre part ce parefeu est systématiquement éteint en fin de journée (un choix non discutable) ! D’où la transposition virtuelle de ce parefeu entre Internet (via ma Box) et la DMZ. Un autre aspect : Si lors de mes tests, dans un avenir proche, les services de la DMZ doivent évoluer (ajout de serveurs virtuels), ce serait plus pratique d’avoir cette passerelle filtrante pour rediriger les flux. J’anticipe.

Autre aspect : J’ai toujours aimé mélanger les solutions. Ce projet en est un bel exemple. En fait, j’essaie de recréer (à mon niveau et à la main) Proxmox en utilisant FreeBSD. Donc, au-delà du poste de travail, FreeBSD joue désormais le rôle de serveur de serveurs virtuels. :-)

Voilà.

@+

NB : Sinon, j’ai pleinement conscience que l’ensemble du projet est complexe notamment au niveau de la maintenance (ex : multiplication des comptes root ainsi que des mdp) et des interfaces virtuelles (bridge*/tap*). Là, comme ces derniers temps, j’ai beaucoup travaillé à la main et que cela commence à me lasser, je commence à écrire des scripts pour automatiser la construction des VM avec Bhyve. (En effet, si vous comprenez ma démarche, je n’utilise pas non plus de solution toute faite comme vm-bhyve ou chyve pour créer de façon automatique des VM sur FreeBSD avec Bhyve. J’apprends au fur et à mesure et je crée des scripts selon mes besoins et mon apprentissage de tous ces outils.) Et je sais d’où viennent ces scripts. Ils ont une histoire… ;-)

Voici mon nouveau schéma :

(DNSSEC)
Internet ----------------------------- REGISTRAR (zone chezmoi.tld)
|
|
|
routeur
(Box) ------ parefeu (OpenBSD) ------------------------ réseau LAN
| services : |
| - passerelle filtrante (pf) |
| - résolveur cache récursif | ssh
| DNS (localhost + LAN) |
| DNSSEC + BlockZones |
| |
___| ___________________________________________ |______________________________
| | [re1] Host : FreeBSD/ZFS/Bhyve/pf | [re0] |
-----------------------------------------------------------------------------------------------------------------------------
| [bridge1/tap1*] [bridge3/tap3*] |
| | | |
| | | ssh |
| | [Bhyve] | <-----------> serveur (Debian) |
| | Guest | services : |
| | ssh | - livebuild |
| | | - BlockZones |
| | | |
|__ |____________________________________________|______________________________ |
| | | ssh |
| | | <------------| [DMZ] |
| | \|/ |
| |______ parefeu (OpenBSD) ------- [bridge2/tap2*] ---- serveurs exposés (OpenBSD) |
| [vio1] services : [vio0] (interne) services : |
| - passerelle filtrante (pf) - DNS primaire faisant autorité |
| - résolveur cache récursif sur la zone chezmoi.tld (DNSSEC) |
| DNS (localhost + DMZ) - DNS secondaire faisant autorité |
| DNSSEC + BlockZones sur la zone chezmoi.tld (DNSSEC) |
| (→ ZFS « clone » ?) |
| - serveur de messagerie (primaire) |
| sur la zone chezmoi.tld |
|______________________________________________________________________________ |

Un OS pour les gouverner tous (FreeBSD), un jail pour les trouver (Unbound)
Un filesystem pour les amener tous et dans les ténèbres les lier (ZFS) ;)
Répondre
#9

Un point important qui explique que je crée un parefeu virtuel OpenBSD sur l'interface réseau re1 de l'hôte : le système FreeBSD exploite un poste du LAN. FreeBSD n'est donc pas situé sur la DMZ mais bel et bien sur le LAN ! Si j'ai besoin d'intervenir sur les machines virtuelles, j'utilise de façon exceptionnelle une liasion ssh entre le LAN et la DMZ via l'interface re0 de l'hôte. (Raison d'un tel choix : Je ne veux pas passer par Internet et je ne veux pas utiliser de VPN opu un truc du même style.)
En réalité, à l'origine, je voulais mettre la carte re1 en mode Passtrough. Ainsi, l'hôte n'aurait même pas eu conscience de l'existence de l'interface réseau re1. Après avoir essayé d'activer de mode Passtrough sur re1, je me suis rendu compte que le CPU de la machine ne pouvais le gérer. Dommage ! :-( Par conséquent, FreeBSD "voit" l'interface re1 puisque je l'ai activée dans
Code :
/etc/rc.conf
via
Code :
ifconfig_re1="up"
mais il ne l'utilise pas sur le LAN (enfin pas directement du moins). En fait, je compte utiliser ssh de façon très épisodique (quand ce sera nécessaire) et dans ce cas, j'ai dans l'idée d'utiliser ZFS, si c'est possible, afin de "cloner" la machine à chaud pour changer ce que je dois faire (mainteance...) sur ce "clone" via un mode exceptionnel "liaison ssh" sur le LAN (à créer) pour ensuite écraser la VM initiale et la remplacer par son "clone" (exempt de la liaison ssh). Je ne sais si je suis clair mais l'idée est là. Je vais essayer de voir si je peux l'appliquer dans la pratique. Bon je retourne jouer. :-)

Un OS pour les gouverner tous (FreeBSD), un jail pour les trouver (Unbound)
Un filesystem pour les amener tous et dans les ténèbres les lier (ZFS) ;)
Répondre
#10

Alors, ca dit quoi le projet?
Répondre
#11

Bonsoir  Smile 

@fabien : En fait... j'ai tout écrasé (comme je sais le faire) et je suis passé à autre chose. Les différentes failles matérielles récentes (qui se répercutent nécessairement sur la virtualisation) m'incitent à penser que j'ai vu juste. Je me recentre désormais sur l'essentiel : sécuriser le poste de travail (qu'il soit OpenBSD, FreeBSD ou Arch Linux).

@+

Un OS pour les gouverner tous (FreeBSD), un jail pour les trouver (Unbound)
Un filesystem pour les amener tous et dans les ténèbres les lier (ZFS) ;)
Répondre


Sujets apparemment similaires…
Sujet / Auteur Réponses Affichages Dernier message

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)