Sécurité



  • Bonsoir,

    Contexte :
    J'ai une infrastructure en cloud, un serveur WEB et une VM avec PFSENSE.
    J'ai mis en place un VPN IPSEC SITE TO SITE avec un client.
    Besoin :
    Je veux sécuriser au maximum mon infrastructure. Je m'aperçois que j'ai beaucoup d'attaques bloquées dont une sur l'interface LAN ! (voir capture, ce sont des @IPV6 moi je suis en IPV4)

    Je n'ai pas vraiment de schéma,c'est tout simple :
    VM site WEB
    VM pfsense
    Les régles en PJ.

    En pj vous trouverez le détail sur l'attaque.

    Concernant les règles du parefeu je les mets aussi en capture.
    Pour l'IPSEC j'ai les bonnes règles ? Si je peux restreindre n'hésitez pas …!

    Je suis surpris par le nombre d'attaques sur mon interface WAN, c'est normal ?

    Ma question principale est de savoir si le fait d'avoir une attaque sur l'interface LAN du pfsense veut dire que la personne est sur mon réseau (c'est donc dangereux) ?
    Je veux aussi mieux gérer les règles de sécurité.

    Merci beaucoup de votre aide!








  • A priori vos règles (quasi inéxistantes) sont beaucoup trop laxiste. Mais pour vous aider il faut nous en dire plus -> formulaire : https://forum.pfsense.org/index.php?topic=79600.0

    A priori il n'y a aucune raison pour autoriser toute le trafic dans le vpn.
    Ni en sortie sur Lan.



  • Si j'ai une attaque sur mon port LAN, cela veut dire que la personne arrive a être dans mon LAN ? (même si ce sont des @IPV6)
    Concernant l'attaque en IPV6, j'ai fais un ping vers l'IP source est je m’aperçois que c'est mon routeur ! (em0). Cependant je ne comprend pas pourquoi l'utilisation de l'IPV6 alors que je suis en IPV4.
    Ce n'est donc pas une attaque mais une tentative de sortie depuis mon LAN ? (je ne saurai dire d'où par contre …)
    Merci.



  • Comme l'indique ccnet, les règles N'ONT PAS à être celle par défaut !
    Il est important de commencer par limiter aux seuls protocoles nécessaires.

    Avec 2 machines et un site, il suffit de faire un tableau 3x4 : en ligne : depuis x3, en colonne : vers x4 (ajouter Internet)

    DE / VERS  : site | srv web | firewall | Internet
    site
    srv web
    firewall

    J'ajouterais même la ligne 'administration'.
    Ensuite on remplit chaque case, en précisant les protocoles autorisés : p.e. web = 80/tcp + 443/tcp
    Ne pas oublier le dns qui se définit par : dns = 53/tcp + 53/udp

    J'activerai le firewall sur le serveur web : ça ne mange pas de pain !

    Concernant ipv6, il est essentiel de bien désactiver sur chaque machine ipv6.

    Votre 'attaque' indique une requête dns : sans doute entre le serveur web et le firewall : à savoir qu'avec Windows, il y a des requêtes Microsoft que l'on ne voit pas !
    Par exemple, le triangle jaune sur l'icone réseau dans systray, qui indique l'absence de connectivité Internet, résulte de paquets tests vers des sites microsoft !



  • Je veux sécuriser au maximum mon infrastructure.

    et

    VM site WEB
    VM pfsense

    C'est contradictoire. Vous ne pouvez prétendre à une sécurité maximum. En imaginant que l'on puisse dire ce qu'est une sécurité maximum.

    J'ai mis en place un VPN IPSEC SITE TO SITE avec un client.

    Si je comprend bien le tunnel ipsec est destiné à accéder au serveur web pour un client déterminé. Est ce bien cela ?
    Si oui la première chose à fair est de restreindre les ip sources autorisées dans le tunnel à celles du client.
    Si le client accède au serveur web en http et https, la seconde chose à faire est de restreindre les ports destinations à 80 et 443.
    A priori pour Lan vous n'avez aucun trafic sortant à initier depuis votre infrastructure (à confirmer aussi). Donc sur Lan on bloque tout.

    Si j'ai une attaque sur mon port LAN, cela veut dire que la personne arrive a être dans mon LAN ?

    Selon votre hébergeur il peux y avoir des flux nécessaires qui ne vous concernent pas directement, utilisés par exemple pour le monitoring.
    Pa ailleurs nous ignorons tout de la configuration du routage chez le client. C'est un problème potentiel. Mais vu la nature du flux sur Lan, vous devez avoir un serveur qui tente de bavarder avec l'extérieur. Est il assez bien configurer, des services inutiles ne seraient ils pas actifs ?
    Il vous faut comprendre et maitriser vos flux pour avoir une certaine sécurité. Il vous faut aussi comprendre les logs. Vos interprétations sont probablement erronées.
    Si vous n'avez pas besoin d'ip V6, assurez vous de le désactiver partout.
    Il faut adapter le niveau et la configuration de vos logs.
    Votre serveur web ? IIS ? Linux ? Les flux générés ne sont pas vraiment les mêmes. Ce qui est normal chez l'un ne l'est pas forcément pour l'autre.
    Comment avez vous sécurisé l'accès à votre infrastructure pour son administration ? Filtrage ip source ? Ports de destinations, type d'authentification ? Vpn ?
    Même pour une sécurité minimale vous êtes loin du compte. Il y a du travail à faire.



  • Je détaillerai cela.
    Une question, j'ai monté un VPN L2TP (pour quelques postes Windows), j'ai créé une régle au niveau du firewall pour les postes en question.
    Mes données ne sont pas confidentielles, je peux utiliser cette technologie sans risque ?

    Merci.



  • L2TP seul ne fourni ni confidentialité, ni authentification. Juste un tunnel non sécurisé.
    L2TP / IPSec est potentiellement sûr sous réserve de la configuration déployée. Peu efficace car nombreuses encapsulations.



  • J'ai créé un accès L2TP ainsi qu'une règle L2TP pour 2 IP WAN.
    Je veux parcontre savoir si cela peut présenter une faille de sécurité (genre que quelqu'un écoute et entre derrière le pfsense) ?
    Je rappel que les données ne sont pas confidentielles …

    Apparemment l'association L2TP/IPSEC pose problème sur pfsense (d'après ce que j'ai vu sur des forum) c'est pour cela que j'utile uniquement L2TP

    Merci.



  • Comme expliqué par ccnet, L2TP n'intègre pas de cryptage, il faut ajouter IPSEC.

    Il est notable que L2TP est un protocole 'un peu propriétaire' (Microsoft/Cisco).

    Par conséquence, la tradition d'usage avec pfSense est d'utiliser IPSEC pour les liens 'site-à-site' et OpenVPN pour les liens 'roadwarrior' (PC distant).
    (En 'site-à-site' OpenVPN convient aussi).

    Je n'entends pas grand chose sur

    • la désactivation d'ip v6
    • la restriction aux seuls protocoles utiles


  • Je veux par contre savoir si cela peut présenter une faille de sécurité (genre que quelqu'un écoute et entre derrière le pfsense)

    N'aurai je pas été clair sur les fonctionnalités de L2TP ? Donc sans chiffrement des données, elles peuvent être lues par un tiers. Des données d'authentification par exemple … je vous laisse en tirer les conclusions. OpenVPN est très largement préférable pour les clients voulant se connecter à un SI distant. Ipsec étant plutôt utilisé en connexion entre sites. Bref comme message précédent.



  • J'ai mis les règles que j'applique en pj.
    En gros, j'utilise actuellement un lien VPN IPSEC avec un de mes clients (site to site), actuellement j'ai tous les ports, il faut créer une règle pour chaque protocole ? Je peux mettre l'IP du routeur distant dans ma règle WAN pour ajouter une sécurité ?
    Concernant le LAN que puis-je faire de plus à part restreindre aux protocoles utilisées (SSH, HTTP …).
    Ensuite je dois créer des accès pour des utilisateurs distants pour qu'ils utilisent l'IP WAN du PFSENSE pour accéder aux sites de mes clients.
    Pour OPENVPN ca a l'air d'être un peu plus compliqué ... Je peux faire cela en suivant ce lien : OpenVPN Remote Access Server ?
    Sinon j'ai essayé d'associé IPSEC/L2TP mais ca n'a pas l'air de fonctionné (régle L2TP UDP dans FIREWALL ipsec).

    Merci.








  • Procédons dans l'ordre. Avant de se jeter sur l'interface et d'écrire des règles, c'est papier crayon (ou traitement de texte). On liste les flux nécessaires. Un flux c'est sources, destinations, protocoles, ports.
    On regarde par quelles interfaces (physique ou logique) passent les flux en question.
    On traduit ensuite en règles d'autorisation et on interdit tout le reste. On choisi si on log ou pas.
    Voilà pour la méthode.



  • Ok je reviendrai sur cela plus tard.
    Je dois rapidement envoyer des accès distant VPN. Pour cela, je n'ai pas pas d'autre choix que OPENVPN ? L'association ipsec l2tp ne fonctionne pas sur pfsense ?
    Merci.



  • Il y a un wiki là dessus. Je vous laisse lire la doc.



  • Concernant le VPN avec pfSense, j'ai utilisé PPTP, IPSEC et OpenVPN. (J'ai du essayé 1 fois L2TP … sans succès.)
    PPTP est obsolète et est à oublier ...
    IPSEC et OpenVPN sont simples à mettre en oeuvre et très fiables.

    Depuis le début, on sent que vous raisonnez en solution et non en besoin. C'est pourtant ce qu'il faut faire.
    L'analyse des protocoles, cela se fait dès le début de l'implantation d'un firewall, et surement pas après avoir mis en place des VPN ou en fin de projet.
    L'idéal serait de ne pas utiliser de VPN et de n'ouvrir que le port https à des ip parfaitement définies.



  • Ok.
    Au fait, un de mes clients qui disposent de plus de 200 machines Linux répartis sur la France a ouvert une seule IP au niveau de son firewall (pour accès ssh et http).
    J'aimerai que quelques employés puissent y accéder en dehors des locaux.

    Quelle est la meilleure solution ?
    J'ai commencé à créer un accès OPENVPN pour info …, parcontre au niveau local network et remote je ne vois pas ce que je dois mettre car je n'aurai pas besoin de LAN, les 250 IP sont publiques ...
    Le but c'est donc que les employés puissent se connecter sur les 250 PC
    J'ai aussi un paramètre "force all client generated traffic through the tunnel"...

    Merci.



  • Au fait, un de mes clients qui disposent de plus de 200 machines Linux répartis sur la France a ouvert une seule IP au niveau de son firewall (pour accès ssh et http).

    Cela me semble normal.

    J'aimerai que quelques employés puissent y accéder en dehors des locaux.

    Accéder à quoi ? Je ne comprend pas ce que vous voulez faire.

    J'ai commencé à créer un accès OPENVPN pour info

    Essayez d'exprimer un besoin fonctionnel avant de parler de comment mettre en place une solution technique. Comme on ne comprend pas le besoin, on ne sait pas conseiller des solutions. vous faites tout à l'envers.

    parcontre au niveau local network et remote je ne vois pas ce que je dois mettre car je n'aurai pas besoin de LAN, les 250 IP sont publiques …

    Lisez les docs. Manifestement vous vous attaquez à quelque chose que vous ne maitrisez pas du tout. Regardez comment est architecturé un tunnel VPN.



  • Je voudrais qu'ils puissent se connecter sur les 200 machines de mon client en question via les ports HTTP et SSH en passant par l'IP de PFSENSE (seule IP ouverte sur le FW de mon client).



  • Ce que je comprend :
    Chacune des 200 machines exécute un serveur http, un serveur ssh.
    Les 200 machines sont derrières le firewall (Pfsense), disons dans un lan quelconque, en adressage privé.
    Pfsense est connecté via le port Wan à internet (donc ip publique).

    Dans ce cas une solution serait :
    Configurer OpenVPN sur Pfsense (celui du client).Openvpn écoute sur l'adresse Wan.
    Le réseau local à accéder est celui des 200 machines du client.
    Chaque personne qui doit accéder potentiellement possède un compte, un certificat (User manager).
    Vous exportez la configuration pour chaque employé accrédité.
    Vous déployez sur les postes de ces employés.
    Dans l'interface OpenVPN du serveur du client vous autorisez les ports TCP 80 et 22.
    Dans l'interface Wan du serveur du client vous autorisez le port UDP 1184.
    Vous pouvez ajouter la ou les ip publiques sources des clients vpn si vous les maitrisez.

    C'est une description rapide, il y a d'autres points à traiter (routage par exemple) mais on commence à faire un peu de sécurité. C'est un schéma général possible.



  • Merci.

    J'essaye de mieux m'exprimé (désolé !!).

    Pour les accès distant, on oublie le tunnel IPSEC site to site avec un de mes clients.

    J'ai un autre client (qui dispose des 200 PC embarqué Linux avec des IP publiques, ce n'est pas un seul réseau local) qui a ouvert une IP au niveau de son parefeu,c 'est celle du pfsense.
    Pour la maintenance, on doit se connecter en HTTP et SSH sur ces 200 PC. Il faut donc un accès distant.
    Pour l'instant j'ai envoyé quelques accès L2TP aux employés mais j'aimerai sécurisé les connexions.
    J'ai uniquement la main sur mon pfsense …



  • J'ai un autre client (qui dispose des 200 PC embarqué Linux avec des IP publiques, ce n'est pas un seul réseau local) qui a ouvert une IP au niveau de son parefeu,c 'est celle du pfsense.
    Pour la maintenance, on doit se connecter en HTTP et SSH sur ces 200 PC. Il faut donc un accès distant.

    Si les 200 pc sont sur un adressage public, je ne vois pas comment l'accès à l'ip publique du firewall va résoudre le problème. Il faudrait un schéma avec adressage pour comprendre. Votre affaire devient difficile à saisir.



  • @mryou:

    J'ai un autre client (qui dispose des 200 PC embarqué Linux avec des IP publiques, ce n'est pas un seul réseau local) qui a ouvert une IP au niveau de son parefeu,c 'est celle du pfsense.

    je ne comprends pas.  :-
    200 machines distantes qui ne sont pas sur un LAN mais il n'est fait référence qu'un un seul pare-feu client.

    Est-ce que tu ne veux pas plutôt dire:

    "J'ai un autre client (qui dispose des 200 PC embarqués Linux avec des IP publiques, ce n'est pas un seul réseau local) qui a ouvert une IP au niveau de chaque parefeu, pour n'autoriser que l'IP pulbique de mon pfSense."

    Pour la maintenance, on doit se connecter en HTTP et SSH sur ces 200 PC. Il faut donc un accès distant.

    Pour accéder aux machines depuis ton site ou pour y accéder depuis n"importe ou alors que seule ton IP publique est autorisée ?

    Si c'est bien le cas, en dehors de l'accès aux machine client depuis ton réseau local (ce qui semble être prévu puisque ton IP publique est la seule autorisée) il suffit (c'est un raccourci mais juste pour expliquer le principe) que tes utilisateurs distants se connectent en VPN sur ton site (celui où tu gères pfSense) d'où ils pourront ensuite rebondir se connecter à chacun des sites distant via ton IP publique autorisée.



  • C'est bien ca 200 machines Linux derrière 200 pare-feu.
    Sur chaque pare-feu seul l'IP de mon pfsense est ouverte.
    Pour la maintenance, on doit pouvoir se connecter en HTTP et en SSH (en utilisant donc l'IP du pfsense).
    Pour l'instant j'ai un accès L2TP.



  • @mryou:

    C'est bien ca 200 machines Linux derrière 200 pare-feu.
    Sur chaque pare-feu seul l'IP de mon pfsense est ouverte.
    Pour la maintenance, on doit pouvoir se connecter en HTTP et en SSH (en utilisant donc l'IP du pfsense).
    Pour l'instant j'ai un accès L2TP.

    Et donc, maintenant que le cadre est un peu plus clair, quel est le problème ?
    Le fait que tu n’aies pas accès aux sites distants pour y installer un serveur VPN ?

    Au fait, pourquoi HTTP et pas HTTPS ?



  • Le problème est que actuellement j'ai créé des accès VPN L2TP, ca fonctionne.
    Mes données ne sont pas confidentielles mais vous me dîtes que ce n'est pas sécurisé donc je dois passer à une autre techno.
    Dommage que l'association l2tp ipsec ne fonctionne pas sur le pfsense.

    On utilise le HTTP car c'est un ancien matériel … (on a pas la main dessus, fournisseur).



  • Deux pages de posts pour en arriver là ! Alors que cela devrait être compréhensible dès la première page !! Bref.
    Donc sur les firewalls en question vous n'avez pas la main. Vous faites du L2TP. L'accès sur wan de chacun des 200 firewalls du client est restreint à votre ip (ou une série d'ip que vous maitrisez).

    Sur chaque pare-feu seul l'IP de mon pfsense est ouverte.

    Ce que voulez dire n'est pas ce que vous écrivez. Ce qui se produit, si je comprend bien, est que sur chaque pare feu l'ip de votre Pfsense est autorisée.
    Pour ce qui est de la sécurité de cette solution, vous êtes en http donc tous les flux, y compris d'authentification sont visibles. L2TP seul comme indiqué plus haut ne vous protège pas.
    Avec ssh, tout dépende la façon dont la façon dont il est configuré. On pourrait envisager d'utiliser ssh pour créer un tunnel. Vous n'auriez plus besoin de l2tp, mais il y a un peu de travail de configuration sur les 200 Linux.
    En conclusion j'espère que vous avez une bonne assurance pour votre responsabilité civile professionnelle.



  • @mryou:

    Le problème est que actuellement j'ai créé des accès VPN L2TP, ca fonctionne.
    Mes données ne sont pas confidentielles mais vous me dîtes que ce n'est pas sécurisé donc je dois passer à une autre techno.

    pour faire du HTTP si il n'y a rien de confidentiel et que chaque distant n'autorise que ton adresse IP en source, encapsuler IPSec n'est pas nécessaire mais si tu tu mets à faire du SSH, c'est quand même beaucoup plus embêtant, surtout si tu authentifies avec un log/pwd en clair et pas avec un certificat  :o

    L'erreur serait de croire que L2TP t'apporte un tunnel crypté. L2TP ne s'occupe que du transport  ;)

    Dommage que l'association l2tp ipsec ne fonctionne pas sur le pfsense.

    Pourquoi ?

    Quel est ton problème avec la mise en œuvre de IPSec  et quel est l'équipement à l'autre extrémité ?



  • :( votre dernière phrase est très méchante …



  • Vous vous êtes lancé dans quelque chose qui vous dépasse techniquement. De ce fait vous êtes exposé à un risque professionnel important. Votre client vous fait confiance. Il pense probablement que vous maitrisez la situation. Si il lui arrive un problème un peu important il se retournera contre vous. Et dans ce cas précis il n'aura pas complètement tort. Une autre solution est de lui faire accepter formellement (avenant au contrat) les risques encourus. Vous seriez déchargé en cas de sinistre.
    Vous le prenez comme de la méchanceté, mais vous faites erreur. J'ai aussi l'habitude d'assister mes clients dans l'établissement de contrats de service avec des tiers, des hébergeurs, des prestataires pour ce qui concerne la sécurité. Ces questions correspondent à des problématiques très réelles susceptibles d'être lourdes de conséquences.



  • Je veux autoriser le DNS pour mes machines LAN, comment faire ?
    J'utilise du Linux en adressage IP statique.

    Merci.



  • C'est quoi ta question exactement ?

    autoriser les machines du LAN à faire des requêtes DNS ? Sur quel serveur ?



  • J'ai un serveur LAMP où j’envoie des mails avec postfix, dans ma variable "relayhost" je mets le smtp de 1&1 il met donne un message d'erreur (ca fonctionné avant de mettre le pfsense).
    J'ai donc pensé au DNS …  Pour le DNS je peux mettre google par exemple.



  • Les messages d'erreur de Postfix sont assez explicites. Quel message d'erreur ?



  • @mryou:

    J'ai un serveur LAMP où j’envoie des mails avec postfix, dans ma variable "relayhost" je mets le smtp de 1&1 il met donne un message d'erreur (ca fonctionné avant de mettre le pfsense).
    J'ai donc pensé au DNS …  Pour le DNS je peux mettre google par exemple.

    L'introduction de pfSense au milieu d'un lien smtp "local postfix => 1&1" n'a pas d'impact (si les règles de FW le permettent) sauf si tu installes sur pfSense un package smtp. (NB: j'ai essayé un jour le package smtp de pfSense sans succès).

    Comme le dit ccnet "c'est quoi le message d'erreur ?"  ::)



  • J'ai mis l'erreur en pj.
    Si c'est le DNS, je peux mettre cela dans le fichier host (je n'ai pas besoin de connexion internet donc le DNS est utile uniquement pour le relay SMTP).






  • Name service error ? Host not found ?

    Si on déduit pas que le dns ne fonctionne pas, c'est grave.

    On vérifie la résolution dns (dig ou host), la config dns (/etc/resolv.conf), la règle firewall correspondante.
    Enfin la base ..

    A défaut, pour éviter la résolution dns :
    relayhost = [212.227.15.168]    (ou .184)

    NB : compte tenu du nom de relais, je suppose que les envois de mails sont authentifiés et donc utilisent le port submission (587), ce qui nécessite SASL …



  • J'ai mis un serveur DNS google dans le fichier /etc/resolv.conf.

    J'ai ajouté 2 règles pour tester (pj).
    J'ai le même message d'erreur pourtant le DNS semble fonctionner (ping google.fr).

    Merci.






    • Mettre une IP "en dur" n'est envisageable qu'à titre de debug ou de test car le changement d'IP des MX ou des MTA est assez courant.
    • en terme de DNS, il faut que tu définisses ta stratégie:

    => soit les machines en interne font directement des requêtes sur des DNS publiques
    => soit ces machines s'appuient sur un DNS interne qui fait le relai et éventuellement le cache), c'est ce que fait DNS forwarder ou Resolver.

    Les règles de FW sont à ajuster en conséquence.

    Il faut également t'assurer que tu fais bien le test de résolution depuis ton serveur SMTP. Dans ce que tu décris, je ne sais pas si c'est vraiment le cas.



  • Le DNS fonctionne sur mon serveur WEB (lorsque je ping google.fr c'est ok), par contre au niveau du log des mails j'ai toujours la même erreur.
    Postfix est bien sur mon serveur WEB …
    J'autorise bien le SMTP (25)  et DNS pourtant






  • Petit point de détail… auquel je n'avais pas fait attention sur la première copie d'écran  :-[

    AAAA... c'est IPV6  ;)


Log in to reply