Forum Linux.général [BSD-Debutant] S'en sortir avec PF ... et les jails

Posté par  . Licence CC By‑SA.
Étiquettes :
0
15
juil.
2014

Hello,
Bon je sais il s'agit d'une question BSD mais bon nous sommes sur LinuxFR et nous aimons bien l'Open Source en général … et j'espère qu'il y aura quelques guru BSD de passages :

Pour en venir sur le cœur du sujet :

J'ai migré récemment mon serveur perso vers une infra BSD / Jails (après quelques pépins ZFS / LxC depuis la montée de version Ubuntu) et la migration me tentait depuis longtemps, or je galère juste un poil avec le firewall Packet Filter et mes jails.

Sous mon ancienne configuration je ne me prenais pas la tête je n'avais pas de firewalling iptable tout mes conteneurs avaient le même réseau (192.168.x.x) et mon routeur FAI faisait le boulot bêtement en envoyant tout ce qui était HTTP vers le conteneur Varnish … c'était brutal peu secure mais efficace.

Ayant décidé de faire les choses plus proprement cette fois, je souhaiterais arriver au final à quelque chose comme ceci :
(BSD-SERVER IP : 192.168.0.X + PF ) <--> (JAIL : HTTP-Proxy : 10.x.x.x) -->> ( Dispatch vers le bon Jail www ).

Bon pour la partie création de JAIL ça va, je m'en suis sorti, pour la conf du reverse proxy je me tate encore sur le choix de la techno (Varnish ou Nginx en reverse : vos avis seront les bienvenus), mais le sujet n'est pas là.

Pour la conf NAT / Redirection (http et le reste d'ailleurs) avec PF alors la je m'arrache les cheveux.

Actuellement je procède par étape, pour ne pas trop compliqué l'affaire, j'ai mis en place simplement ceci :

(BSD-SERVER IP : 192.168.0.X + PF ) <--> (JAIL : HTTP-www : 10.x.x.x)

Ma conf pf.conf :

#interface physique
ext_if="bge0"
#interface www
jail_if="lo888"

IP_PUB="192.168.0.25"
IP_JAIL_WWW="10.8.8.8"

NET_JAIL="10.8.8.0/24"

PORT_WWW="{80,443}"

#Je ne sais pas du tout ce que ça fait ... (super)
scrub in all

# ça nat tout le traffic jail
nat pass on $ext_if from $NET_JAIL to any -> $IP_PUB

# WWW
rdr pass on $ext_if proto tcp from any to $IP_PUB port $PORT_WWW -> $IP_JAIL_WWW

# Et là bon ça autorise TOUT ... pour le mode bourrin débug
pass out
pass in

Resultat, rien ne marche …
Je suis incapable de télécharger la moindre source ou même de pinguer l'extérieur depuis la jail, et cette dernière n'est pas pingable de l'extérieur du host BSD non plus.
Je souhaiterais pouvoir au moins faire un p'tit coup de pkg install sur ma jail … etc …

Bref j'suis pas rendu à Rome …

  • # analogie avec linux

    Posté par  . Évalué à 3.

    tu as autorisé le flux sortant du 'parefeu' (output)
    tu as autorisé le flux entrant de ce parefeu (input)

    mais il te manque les options de forward pour autoriser le trafic "traversant" (forward)

    • [^] # Re: analogie avec linux

      Posté par  . Évalué à 1.

      En gros j'ai ceci en conf :

      root@cube-box:~ # pfctl -sn
      No ALTQ support in kernel
      ALTQ related functions disabled
      nat pass on bge0 inet from 10.8.8.0/24 to any -> 192.168.0.25
      nat on bge0 inet proto tcp from 10.8.8.8 to 192.168.0.25 -> 192.168.0.24
      nat on bge0 inet proto udp from 10.8.8.8 to 192.168.0.25 -> 192.168.0.24
      nat on bge0 inet proto icmp from 10.8.8.8 to 192.168.0.25 -> 192.168.0.24
      rdr pass on bge0 inet proto tcp from any to 192.168.0.25 port = http -> 10.8.8.8
      rdr pass on bge0 inet proto tcp from any to 192.168.0.25 port = https -> 10.8.8.8
      

      Effectivement le principe est le même qu'avec IpTable.

  • # Ping

    Posté par  (site web personnel) . Évalué à 2.

    Pour le ping depuis une jail, c'est normal. Par défaut les raw-sockets sont interdites

    Pour l'aide tu as les mailings listes freebsd, mais en anglais (freebsd-questions@freebsd.org)

    ceci dit ton problème me semble l'oubli du forwarding déjà signalé.

    les pixels au peuple !

  • # Réglé !

    Posté par  . Évalué à 1. Dernière modification le 16 septembre 2014 à 20:51.

    Je repasse par ici juste pour remercier les deux personnes ayant voulu m'aider.

    J'ai bien progressé depuis avec le combo JAIL + PF et je suis arrivé à monter l'architecture que je voulais.

    Je ne sais pas d’où venait mon problème exactement - j'avais en revanche bien activé le forwarding ;) - JE suis arrivé à me faire une conf plutôt "soyeuse" je dois dire et je suis assez content.

    Sur PF y a quelques petits points à bien capter mais ensuite c'est vraiment de la machine de guerre ça sait tout faire sur la couche réseau, QoS et protection contre brute-force également pas besoin de fail2ban pour secure un minimum sshd par exemple.
    Moi qui ait toujours galéré avec IPtable , je trouve PF pour le coup bien intuitif.

    Bref conquis.

    • [^] # Re: Réglé !

      Posté par  . Évalué à 2.

      et du coup c'est quoi le reglage "magique" ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.