[SOHO] Aide pfSense
-
- Le passage par pfSense m'a fait perdre la connexion entre le serveur freebox et le freeplayer, (je regarde peu les chaines télé mais ça peut toujours servir)
je sais qu'ils communiquent tous les deux sur VLAN taggué 100, et que le serveur est 192.168.27.14/28 et le player en 192.168.27.1/28
j'ai crée deux interfaces VLAN tagguée 100 sur em0 et em1 => em0_vlan100 et em1_vlan100, j'ai créé un bridge entre les deux (brd100)
j'ai crée des "rules" permettant toute communication sur les trois interfaces.
Et pourtant ça ne fonctionne pas, qu'est-ce que j'ai bien pu oublier?
J'ai fait des essais similaires (avec une freefox mini en mode bridge et 2 players) et ça n'a jamais fonctionné de manière stable. Je reprendrai ces essais un jour si j'ai un peu de temps. Je n'ai pas analysé ce qui se passe au niveau trame mais j'ai l'impression que le player n'arrive parfois (souvent ) pas à se connecter au serveur de mise à jour (et c'est donc un problème bien avant la réception du flux vidéo).
- Je souhaiterai faire du multiplexing de protocoles sur le port 443, à la sslh (si je ne dis pas de bêtise), comment réaliser ça facilement avec pfSense.
ça c'est une question intéressante surtout dans le cadre du déploiement d'un FW 8)
En gros, en tous cas c'est ma manière de voir les choses, tu dis, d'un coté :
"ah ! je vais sécuriser mon réseau avec quelques chose de mieux que ma freebox, donc je vais déployer pfSense"
et de l'autre, tu changes de casquette et tu dis :
" mince, l'administrateur a déployé un FW :-( mais ce n'est pas grave, je vais contourner ses règle en faisant tout passer dans du HTTP ;D ;D ;D comme ça son FW ne sert à rien :P"J'avoue ne pas bien comprendre la logique (mais d'un autre coté, je ne comprends pas SSLH en dehors de l'objectif que je décris ci-dessus :-)
Pourquoi ne déploies-tu pas directement un serveur OpenVPN si tu en as besoin ?- Les "contraintes" d'utilisation d'un firewall dans le cadre familial sont un peu plus compliquées que dans le cadre de l'entreprise.
Parce qu'en entreprise on travaille à peu près toute l'année et les règles ne dépendent pas des périodes de vacances.
J'ai créé des règles identiques qui ont des scheduler différents pour les différentes périodes.
Toutefois je les active à la main, et comme je suis un fondu de l'automatisation j'aimerai que mon serveur domotique les actives en fonction du contexte.
Y a t'il un moyen d'activer/desactiver une règle de façon programmatique soit par shell soit par API (REST par ex)?
1 - je trouve ça dangereux: si tes règles peuvent être modifiées depuis l'extérieur du FW, il te faut bien sécuriser ce process
2 - je ne suis pas certain que ce soit la bonne approche. Comme pour SSLH, j'ai un peu du mal avec la notion de schedule au niveau des règle. Il me semble beaucoup plus facile et sûr de gérer la disponibilité d'un flux, pour le end-user, au niveau du service qu le contrôle. par exemple le proxy pour le flux HTTP.
Si ce n'est pas faisable mais que tu connais ton calendrier annuel, rien ne t'empêche de reproduire celui-ci à grands coups de schedule et de définir tes règles annuellement, sans avoir à intervenir par la suite (bon, ok je simplifie un peu car j'imagine que ton problème est un peu plus compliqué que çaJ'ai commencé à "jouer" avec squid/squidgard pour gérer deux aspects: le controle de virus et le controle de visite de certains sites.
Ca me parait être un peu lourd dans un cadre d'utilisation "SOHO". Est-ce que c'est la meilleure solution de proxy dans mon cas?Pour contrôler du flux HTTP, il n'y a pas mieux qu'un proxy :P
Tu peux en choisir un autre que Squid mais celui-ci est quand même un des tous meilleurs si ce n'est le meilleur. Mais Squid ne fait pas beaucoup de contrôle.
Cette fonction est assurée par le redirecteur.
Squidguard est parmi les redirecteurs les plus utilisés car il est à la fois performant et riche fonctionnellement. Mais si il ne te convient pas, il y en a quelques autres, par exemple DansGuardian.A mon avis, il est bien moins lourd et compliqué, dans un usage SoHo, de déployer un proxy+redirecteur que faire des trucs compliqué avec des bridges de VLAN et des schedule pilotés par un process externe ;)
- Le passage par pfSense m'a fait perdre la connexion entre le serveur freebox et le freeplayer, (je regarde peu les chaines télé mais ça peut toujours servir)
-
- Le passage par pfSense m'a fait perdre la connexion entre le serveur freebox et le freeplayer, (je regarde peu les chaines télé mais ça peut toujours servir)
je sais qu'ils communiquent tous les deux sur VLAN taggué 100, et que le serveur est 192.168.27.14/28 et le player en 192.168.27.1/28
j'ai crée deux interfaces VLAN tagguée 100 sur em0 et em1 => em0_vlan100 et em1_vlan100, j'ai créé un bridge entre les deux (brd100)
j'ai crée des "rules" permettant toute communication sur les trois interfaces.
Et pourtant ça ne fonctionne pas, qu'est-ce que j'ai bien pu oublier?
J'ai fait des essais similaires (avec une freefox mini en mode bridge et 2 players) et ça n'a jamais fonctionné de manière stable. Je reprendrai ces essais un jour si j'ai un peu de temps. Je n'ai pas analysé ce qui se passe au niveau trame mais j'ai l'impression que le player n'arrive parfois (souvent ) pas à se connecter au serveur de mise à jour (et c'est donc un problème bien avant la réception du flux vidéo).
Tout d'abord merci pour tes réponses.
Je l'ai fait fonctionné sans problème sur la base d'un routeur tweaké dd-wrt (je n'avais fait qu'appliquer la procédure qu'on m'a décrite), mais avec pfSense en essayant de transposer la configuration je n'arrive à rien. Ma question est essentiellement sur le principe de mise en oeuvre, comme je ne perçois pas tous les aspects techniques, je pense que le principe du VLAN et du bridge entre le WAN100 et le LAN100, mais je ne suis pas sûr de la configuration des interfaces. - Le passage par pfSense m'a fait perdre la connexion entre le serveur freebox et le freeplayer, (je regarde peu les chaines télé mais ça peut toujours servir)
-
- Je souhaiterai faire du multiplexing de protocoles sur le port 443, à la sslh (si je ne dis pas de bêtise), comment réaliser ça facilement avec pfSense.
ça c'est une question intéressante surtout dans le cadre du déploiement d'un FW 8)
En gros, en tous cas c'est ma manière de voir les choses, tu dis, d'un coté :
"ah ! je vais sécuriser mon réseau avec quelques chose de mieux que ma freebox, donc je vais déployer pfSense"
et de l'autre, tu changes de casquette et tu dis :
" mince, l'administrateur a déployé un FW :-( mais ce n'est pas grave, je vais contourner ses règle en faisant tout passer dans du HTTP ;D ;D ;D comme ça son FW ne sert à rien :P"J'avoue ne pas bien comprendre la logique (mais d'un autre coté, je ne comprends pas SSLH en dehors de l'objectif que je décris ci-dessus :-)
Pourquoi ne déploies-tu pas directement un serveur OpenVPN si tu en as besoin ?Je me suis peut-être mal exprimé.
Déjà pfSense c'est plus pour me protéger de l'intérieur que de l'extérieur, la Freebox et son filtrage de port était suffisants. Je reviendrais sur ce sujet sur les autres points.
Pour ce qui est du multiplexing, c'est que j'héberge des sites web perso chez moi en HTTP et HTTPS avec des noms sur le domaine public. Or parfois je souhaiterai faire par exemple du SSH pour administrer une machine chez moi. Bien sûr je peux ouvrir le port SSH, mais il devient généralement inaccessible quand je suis sur site externe où il y a un FW qui ne laisse passer que 80 et 443. -
– Les "contraintes" d'utilisation d'un firewall dans le cadre familial sont un peu plus compliquées que dans le cadre de l'entreprise.
Parce qu'en entreprise on travaille à peu près toute l'année et les règles ne dépendent pas des périodes de vacances.
J'ai créé des règles identiques qui ont des scheduler différents pour les différentes périodes.
Toutefois je les active à la main, et comme je suis un fondu de l'automatisation j'aimerai que mon serveur domotique les actives en fonction du contexte.
Y a t'il un moyen d'activer/desactiver une règle de façon programmatique soit par shell soit par API (REST par ex)?1 - je trouve ça dangereux: si tes règles peuvent être modifiées depuis l'extérieur du FW, il te faut bien sécuriser ce process
2 - je ne suis pas certain que ce soit la bonne approche. Comme pour SSLH, j'ai un peu du mal avec la notion de schedule au niveau des règle. Il me semble beaucoup plus facile et sûr de gérer la disponibilité d'un flux, pour le end-user, au niveau du service qu le contrôle. par exemple le proxy pour le flux HTTP.
Si ce n'est pas faisable mais que tu connais ton calendrier annuel, rien ne t'empêche de reproduire celui-ci à grands coups de schedule et de définir tes règles annuellement, sans avoir à intervenir par la suite (bon, ok je simplifie un peu car j'imagine que ton problème est un peu plus compliqué que çaNous revoilà sur le coeur du sujet, pfSense à titre de contrôle parental, filtrer, voir couper, les sites avec un proxy c'est "facile".
Mais c'est plus les autres canaux de sortie que je veux réguler mais de façon temporaire, pas comme dans une entreprise, ou quand tu bloques des ports de sorties c'est tout le temps.
Moi je veux limiter Skype, Minecraft, Call of Duty, tu vois ce que je veux dire ;) à certaines heures, pas ad vitam eternam.
La planif annuelle c'est un peu compliqué, surtout avec les vacances scolaires et les zones…
Surtout dans l'optique de globaliser la pratique à d'autre parents. -
Pour ce qui est du multiplexing, c'est que j'héberge des sites web perso chez moi en HTTP et HTTPS avec des noms sur le domaine public. Or parfois je souhaiterai faire par exemple du SSH pour administrer une machine chez moi. Bien sûr je peux ouvrir le port SSH, mais il devient généralement inaccessible quand je suis sur site externe où il y a un FW qui ne laisse passer que 80 et 443.
Je comprends bien mais, si je peux insister :), pourquoi ne pas configurer un serveur et surtout un client OpenVPN pour que celui-ci passe par le proxy HTTP du site externe sur lequel tu es ?
Il n'est bien sur pas question d'ouvrir SSH vers l'extérieur (à mon avis).Au lieu de faire un tunnel en UDP, tu le configures en TCP pour contourner les règle de ton FW distant :P et tu te connectes "chez toi" de l'intérieur.
-
Nous revoilà sur le coeur du sujet, pfSense à titre de contrôle parental, filtrer, voir couper, les sites avec un proxy c'est "facile".
Mais c'est plus les autres canaux de sortie que je veux réguler mais de façon temporaire, pas comme dans une entreprise, ou quand tu bloques des ports de sorties c'est tout le temps.
Moi je veux limiter Skype, Minecraft, Call of Duty, tu vois ce que je veux dire ;) à certaines heures, pas ad vitam eternam.oui je vois bien, j'ai également 3 grands enfants ;D mais comme ils sont maintenant assez grands, j'ai arrêté ce genre de truc.
La planif annuelle c'est un peu compliqué, surtout avec les vacances scolaires et les zones…
Surtout dans l'optique de globaliser la pratique à d'autre parents.Effectivement mais penses-tu que ce serait plus simple et sécurisé si déclenché avec un trigger externe ?
En plus, maintenant que je comprends mieux ton objectif, tu veux coupler tes règles avec un traffic shaping layer 7 :)
-
Merci pour tes réponses, je vais regarder OpenVPN et ce que tu appelles le traffic shaping layer… avant de dire des conneries ;)
-
PS: pas que je ne connaisse pas OpenVPN, mais qu'en fonction de ce que j'ai évoqué je ne suis pas sûr que ça soit applicable.
-
Bon maintenant que j'ai pris connaissance des réponses et que je me suis un peu documenté, je vais essayer de reformuler les besoins.
On commence par le filtrage de ports vers l'extérieur:
Je voudrais reproduire ce qui est offert par la Freebox,
pouvoir faire des règles pour :
- interdire l'utilisation de tous les ports à certains moments (mode: on ne joue pas avec quoi que ce soit sur internet)
- permettre l'utilisation uniquement des ports 80 et 443 à certains moments (mode: on peut aller faire ses devoirs sur internet, mais on sais que le proxy filtrera certains sites)
- et bien sûr pouvoir tout ouvrir par moment.
La partie compliquée c'est la gestion de l'activation/désactivation des règles en fonction d'un calendrier.
Pour répondre à la question du mode d'activation, je ne vois pas le problème de faire ça par script si c'est possible, bien sûr à condition que ça soit protégé par un login/password ou une clé ssh.
Le site d'administration de pfSense, quand on connait le compte d'admin est bien plus dangereux…
Maintenant je pense que je suis en mesure d'activer les règles par automatisation de l'interface d'admin (je le fais tous les mois sur les tests d'applications qu'on fait pour nos clients...) mais bon c'est un peu du bricolage.
Pour ce qui est de la gestion des règles, je pense qu'il est suffisant d'utiliser le modèle de Rule de pfSense, le Layer 7 filtering est super interessant mais surtout quand on veut filtrer certain protocoles. (potentiellement dans des cas de multeplexing ;)).
Dans notre cas on a trois états: tout fermé, tout ouvert, et ports HTTP/HTTPS ouverts. -
Du côté entrant,
Les ports 80/443 sont actuellement utilisés et routés vers un serveur Apache httpd qui sert différents domaines.
Comment mettre en place un système qui me permettrait d'accéder des services chez moi à partir d'un site ne permettant que les ports 80/443 sans faire un multiplexing ou en passant par un noeud intermédiaire? (à la TeamViewer) -
Pour la liaison Freebox Server/Player comment correctement implémenter dans pfSense le VLAN 100 comme expliqué ici:
https://guillaume.vaillant.me/?p=256
-
…
La partie compliquée c'est la gestion de l'activation/désactivation des règles en fonction d'un calendrier.
Maintenant je pense que je suis en mesure d'activer les règles par automatisation de l'interface d'admin (je le fais tous les mois sur les tests d'applications qu'on fait pour nos clients...) mais bon c'est un peu du bricolage.
...
Pour ce qui est de la gestion des règles, je pense qu'il est suffisant d'utiliser le modèle de Rule de pfSense, le Layer 7 filtering est super interessant mais surtout quand on veut filtrer certain protocoles. (potentiellement dans des cas de multeplexing ;)).
Dans notre cas on a trois états: tout fermé, tout ouvert, et ports HTTP/HTTPS ouverts.Bon après un peu de lecture de code et de compréhension des mécaniques de pfSense il est assez facile de rajouter des pages PHP exposant des services d'API REST pour activer/desactiver des règles.
De là on peut utiliser un logique externe pour la planification des horaires.
J'ai un premier proto fonctionnel que je publierai dès que j'aurai implémenté les niveaux de sécurité suffisants pour que ça ne soit pas appelable par n'importe qui et de n'importe où! (si je ne suis pas sys admin, je suis aussi responsable des formations pour les développeurs autour de la sécurité d'une grande ESN, donc la sécurité est une exigence que je connais bien) -
Du côté entrant,
Les ports 80/443 sont actuellement utilisés et routés vers un serveur Apache httpd qui sert différents domaines.
Comment mettre en place un système qui me permettrait d'accéder des services chez moi à partir d'un site ne permettant que les ports 80/443 sans faire un multiplexing ou en passant par un noeud intermédiaire? (à la TeamViewer)Là aussi j'ai trouvé une réponse qui me semble tout particulièrement sécurisée.
Elle répond totalement au besoin et permet au particulier comme moi qui n'ont qu'une IP public de multiplexé les protocoles sécurisés sur un seul port.La base du travail est excellemment expliquée ici:
http://loredo.me/post/116633549315/geeking-out-with-haproxy-on-pfsense-the-ultimateJe la traduirai en langage pour néophyte dans le wiki dont je parlai.
-
je publierai dès que j'aurai implémenté les niveaux de sécurité suffisants pour que ça ne soit pas appelable par n'importe qui et de n'importe où!
Qu'avez vous prévu pour authentifier les parties prenantes ?
Nous sommes sur un exercice à haut niveau de risque …Parce que rien que là : https://blog.pfsense.org/?cat=57
-
Pour la liaison Freebox Server/Player comment correctement implémenter dans pfSense le VLAN 100 comme expliqué ici:
https://guillaume.vaillant.me/?p=256
Là aussi j'ai compris mon problème j'avais bien créé les interfaces VLAN et bridge nécessaire mais je n'avais pas capté que sans règles de translation (NAT) rien ne passait.
Donc maintenant ça passe.
J'ai encore des comportements bizarres, mais je devrais régler ça.Stay tuned.
-
je publierai dès que j'aurai implémenté les niveaux de sécurité suffisants pour que ça ne soit pas appelable par n'importe qui et de n'importe où!
Qu'avez vous prévu pour authentifier les parties prenantes ?
Nous sommes sur un exercice à haut niveau de risque …Les API REST de controle d'outils tels que les firewall, les outils de supervision ou APM se généralisent, c'est d'ailleurs un sujet qui a été évoqué dans la roadmap pour la V3 (on ne sait pas trop on ça en est d'ailleurs, toujours rien sur Github ). Il y a déjà le système existant XMLRPC qui me semblent un peu sous-sécurisé.
Dans mon cas je l'envisage dans une approche SoHo, donc déjà une limitation d'accès à travers les interfaces LAN et pas WAN, conjuguée à une mécanique de type OAUTH2. -
Dans mon cas je l'envisage dans une approche SoHo, donc déjà une limitation d'accès à travers les interfaces LAN et pas WAN
Ce qui exclu à mon sens un usage un peu sérieux en entreprise. A mon sens ce trafic devrait relever, pour un usage professionnel, d'une interface dédiée a minima au trafic d'administration exclusivement.
La solution en question est par ailleurs assez sollicitée et la robustesse semble faire défaut pour le moment :
http://www.developpez.com/actu/94736/Des-chercheurs-decouvrent-deux-failles-dans-le-protocole-OAuth-2-0-qui-peuvent-conduire-a-des-attaques-de-type-MITM/
Pour un usage soho donc sécurité limitée. -
Dans mon cas je l'envisage dans une approche SoHo, donc déjà une limitation d'accès à travers les interfaces LAN et pas WAN
Ce qui exclu à mon sens un usage un peu sérieux en entreprise. A mon sens ce trafic devrait relever, pour un usage professionnel, d'une interface dédiée a minima au trafic d'administration exclusivement.
La solution en question est par ailleurs assez sollicitée et la robustesse semble faire défaut pour le moment :
http://www.developpez.com/actu/94736/Des-chercheurs-decouvrent-deux-failles-dans-le-protocole-OAuth-2-0-qui-peuvent-conduire-a-des-attaques-de-type-MITM/
Pour un usage soho donc sécurité limitée.Des failles on en trouve tous les jours, plus ou moins grosses. La plus grosse étant souvent l'homme lui même. Mais c'est un autre sujet.
La limitation sur une interface dédiée me semble effectivement une bonne option (de toute façon j'espère faire quelque chose paramétrable).
De plus comme je l'expliquai au dessus, le but d'activer ce mécanisme c'est de substituer à la "relative" pauvreté du scheduler de pfSense dans le cas des règles sortantes.
J'ai d'ailleurs implémenté un système où seules les règles ayant #! au début de la description sont activables/dés-activables de façon programmatique. Ce qui protège le reste des règles. -
Au moins vous semblez avoir conscience des problèmes. Ce qui n'est finalement pas si courant chez les développeurs. Encore moins sur le forum où beaucoup pense qu'il n'y a aucun problème à modifier le code de Pfsense ou à ajouter des pages en php. C'est tout pour moi.
-
Au moins vous semblez avoir conscience des problèmes. Ce qui n'est finalement pas si courant chez les développeurs. Encore moins sur le forum où beaucoup pense qu'il n'y a aucun problème à modifier le code de Pfsense ou à ajouter des pages en php. C'est tout pour moi.
ca serait dommage si ce n'était pas le cas, étant le responsable de la formation "Sécurité et Développements" dans une boite de 30000 personnes, je pense qu'il y aurait quelques inquiétudes à avoir ;)
Mais c'est clair qu'on a du boulot dans la sensibilisation et la formation des gens aux gestes de sécurité les plus simples.