Bloquer Hamachi au niveau shorewall et squid

Sympa Hamachi, j’en parlais dans un précédent billet pour l’aspect « je joue en réseau avec mes potes ».

=> Aujourd’hui, j’en parle pour bloquer cette saloperie 😉 d’outil qui peut apporter de gros ennuis au boulot 🙂

Pour rappel, c’est un VPN « zero-conf » qui permet à l’utilisateur nullissime en informatique (c’est-à-dire que vous n’avez rien besoin de connaître en info pour installer/utiliser ce truc) d’installer un VPN pour atteindre ses copains au boulot ou son PC chez lui. Au-delà de ça, ça peut rapidement se transformer en une passerelle entre un réseau bien sale (celui de l’utilisateur lambda chez lui, nul en informatique je le rappelle) et votre entreprise. D’où problèmes. D’où envie de donner des baffes.

Voici comment le bloquer (du moins maintenant il ne passe plus à mon boulot et pourtant il essaye – donc je dois avoir fait le tour de la question), tant au niveau shorewall – si l’accès Internet est direct – qu’au niveau squid si vos utilisateurs *doivent* passer par le proxy pour atteindre Internet.

Analyse à 2 balles du comportement de hamachi pour mieux le bloquer

Au départ, installez hamachi pour tester. Ca devrait se connecter sans problème. Je pense qu’il va chercher la conf proxy dans les paramètres de IE.
C’est typiquement le genre d’outils qui a prévu tout un tas de modes de connexions genre :
– essayer tout un tas de ports standards
– avoir plein de noms de machines pour atteindre le serveur par plusieurs chemins

MAIS, comme c’est un outil avec un point central (le serveur chez eux pour s’authentifier – puisque ça a une vocation commerciale, payante, tout ça), on peut à un moment donné repérer tous les serveurs centraux et les bloquer. C’est pas comme pour des protocoles décentralisés type peer-to-peer.
Bon après, s’ils changent leurs noms ou IP tout le temps, ça peut devenir pénible.

Une fois connecté, allez voir vos logs squid, vous devriez voir tout un tas de requêtes du style :

1221661590.889 350758 votre.ip.sur.lan TCP_MISS/200 3734 CONNECT ssl-24.hamachi.cc:443 - DIRECT/74.201.74.26 -

De là, avec quelques commandes hosts, genre :

for i in `seq -f '%02g' 1 40`
do
host ssl-$i.hamachi.cc
done

Ainsi que :

for i in `seq 1 255`
do
host 74.201.74.$i
done

Ce qui donne :

...
103.74.201.74.in-addr.arpa domain name pointer ns3.3amlabs.com.
104.74.201.74.in-addr.arpa domain name pointer www02-09.logmein.com.
105.74.201.74.in-addr.arpa domain name pointer www02-09.logmein.com.
106.74.201.74.in-addr.arpa domain name pointer www02-09.logmein.com.
...

Vous verrez qu’en gros, la plage IP 74.201.74.0/24 est à eux et qu’avec 4/5 noms de domaines génériques, vous pourrez tout bloquer.

Blocage niveau shorewall

En considérant que votre shorewall fonctionne bien, vous pouvez soit blacklister dans le fichier /etc/shorewall/blacklist (si vous avez bien activé l’option « blacklist » dans le fichier /etc/shorewall/interfaces), soit faire une règle dans /etc/shorewall/rules.
Dans « blacklist », ajoutez la ligne :

74.201.74.0/24

Ou, dans « rules », ajoutez :

DROP    lan     net:74.201.74.0/24      all

Relancez shorewall via /etc/init.d/shorewall reload

Blocage niveau Squid

Allez dans le fichier /etc/squid/squid.conf et à l’endroit où sont définies des « ACL », ajoutez celles-ci – c’est un exemple à adapter.

acl tout_mon_lan src 172.16.0.0/255.255.0.0
acl vilain_hamachi dstdomain .hamachi.cc .logmeinhamachi.com .logmein.com .3amlabs.com logmeinrescue.com logmeinrescue-enterprise.com
http_access deny tout_mon_lan vilain_hamachi

Ici je me base sur les noms de domaines, pas les IP. C’est un choix motivé par le fait que le client hamachi semble tenter des noms de machines, pas des IP. A voir si l’éditeur fait évoluer ça dans le temps.
Et pensez à recharger squid : /etc/init.d/squid reload

Validez que ça ne marche plus

Retestez la connexion à Hamachi. Vous devriez le voir s’exciter dans les logs squid sur quelques ssl-xx.hamachi.cc pris au hasard puis plus rien :

1221666080.309      0 votre.ip.sur.lelan TCP_DENIED/403 1441 CONNECT ssl-14.hamachi.cc:443 - NONE/- text/html
1221666199.615      0 votre.ip.sur.lelan TCP_DENIED/403 1441 CONNECT ssl-15.hamachi.cc:443 - NONE/- text/html
1221666283.816      5 votre.ip.sur.lelan TCP_DENIED/403 1441 CONNECT ssl-13.hamachi.cc:443 - NONE/- text/html

En images, ça reste sur ça :
Hamachi bloqué

12 comments

  1. Bonjour !
    Le problème de ta solution est que ça bloque également l’accès au serveur logmein, dont je me sert pour faire de la télémaintenance à travers des réseaux nat.
    il faudrait sortir de tes ACL la partie logmein, et vérifier que les autres domaines ne servent bien qu’à amachi :]

    bonne journée !

  2. C’est quoi ? un service payant chez eux ?
    Dans ce cas c’est regrettable et en effet, j’ai simplement été large. Vu les logs squid, les entrées *.hamachi.cc semblent suffire. J’ai appliqué le proverbe troll : « dans le doute, frappe encore ».

    Sinon, il y a http://www.spark-angels.com pour le dépannage à distance (attention, la première fois, on cherche longtemps le bouton pour que l’utilisateur distant donne la main sur souris/clavier)

    Et au fait, si vos utilisateurs ne sont pas du tout admin de leur poste, ils n’auront pas le droit de créer une carte réseau (virtuelle), donc de toute manière, hamachi ne vous embêtera pas (je dis ça sur des souvenirs, prenez le temps de vérifier tout de même). Sauf pour les PC « extérieurs » à qui on offre généralement un vague accès web restreint.

  3. Vu la configuration parano du proxy, hamachi ne traverse pas, analyse du user-agent, vérification des @mac (impossibilité de mettre un portable dans le réseau, sauf bidouille), et les users ne sont pas admin de leurs postes.

    c’est juste une remarque pour faire avancer le schmilblick.

    Je connaissais spark-angel, ça ne marchait pas terrible au tout début, je re-testerai dès que j’ai un moment.

  4. ouaip
    pour spark-angels, je m’en plains pas : les rares fois où je l’utilise – c’est pour dépanner du boulet++ et même eux s’en sortent
    Le plus dur est de leur faire redémarrer le navigateur s’il a fallu installer/mettre à jour la JVM

  5. Logmein est surement la pire cochonerie que j’ai croisé jusqu’à présent!

    pour ce qui est des plages d’IP j’ai trouvé celles ci:

    LOGMEIN, INC. INAP-WDC002-LOGMEIN-25374 (NET-64-94-18-0-1)
    64.94.18.0 – 64.94.18.255

    LOGMEIN, INC. INAP-LAX-LOGMEIN-22078 (NET-74-201-74-0-1)
    74.201.74.0 – 74.201.75.255

    % Information related to ‘77.242.192.0 – 77.242.193.255’

    inetnum: 77.242.192.0 – 77.242.193.255
    netname: INAP-LON-LOGMEIN-12918
    descr: LogMeIn, Inc
    country: US
    admin-c: INO3-RIPE
    tech-c: INO3-RIPE
    status: ASSIGNED PA
    mnt-by: INAP-MAINT-RIPE
    source: RIPE # Filtered

    Et je pense que je n’en ai pas encore fait le tour!!

    sam

  6. Juste une question, pourquoi dit tu que LogMeIn est sûrement la pire cochonerie que tu ai vu à ce jour? Est-ce parceque tu n’as pas vu de vrai cochoneries ou parceque toi même tu utilise une autre solution ou encore parceque tu es refractaire à tout ce qui n’est pas opensource (= un petit peu trop militant => on en devient un peu fermé voir réac!?)???
    Je tiens quand même à te faire savoir que

    1. C’est très bien, pour jouer à la maison
      Au boulot, l’admin réseau aurait intérêt à le bloquer pour éviter d’ouvrir des portes béantes entre la boite et le reste du monde. Là c’est de la cochonnerie.
      Pour un VPN en entreprise, sinon, oui, il y a mieux et on le contrôle : openvpn.

  7. CORRECTION => VALIDATION INTEMPESTIVE
    ————————————-
    Juste une question, pourquoi dis-tu que LogMeIn est s˚rement la pire cochonnerie que tu ai vu ‡ ce jour? Est-ce parce que tu nías pas vu de vrai cochoneries ou parceque toi mÍme tu utilises une autre solution ou encore parce que tu es rÈfractaire ‡ tout ce qui níest pas open source (= un petit peu trop militant => on en devient un peu fermÈ voir rÈac!?)???
    Je tiens quand mÍme ‡ te faire savoir que LogMEIN est utilisÈ par de nombreux professionnels de part le monde sans aucun problËme et que je n’ai pas entendu beaucoup de critique contre ce produit mais plutÙt de nombreux retour positifs quand ‡ sa grande facilitÈ de mise en úuvre et les services apportÈs.
    A ma connaissance ce produit ne pose aucun problËme et sa mise en úuvre est facile tout en offrant une trËs bonne sÈcuritÈ!!!
    Alors peu tu dÈtailler quand ‡ tes critiques gratuites 😉
    ——————
    PS: Je te signales que la version de base est une version gratuite = « LogMeIn Free » et que la version Pro est proposÈes ‡ l’essai ainsi que les nombreuses autres solutions dÈveloppÈes par cette sociÈtÈ.
    N’est-il pas normal pour une sociÈtÈ de se voir rÈtribuer pour un service de qualitÈ?
    As-tu une solution aussi complËte ‡ me proposer qui soit facile ‡ mettre en oeuvre et peut Ítre gratuite?

    FranÁois

    1. Je viens de le dire : si l’outil est utilise en entreprise pour des raisons perso par un utilisateur un peu en douce, ça peut présenter un risque. Donc oui c’est un VPN facile pratique etc mais lutilisation d’un VPN doit être encadrée. Surtout que dans ce cas il s’agit souvent de joindre un autre réseau (son pc perso par exemple)
      dans cet article je parle de bloquer l’accès si on le souhaite, point.
      Dans d’autres jexplique comment monter du openvpn (plus compliqué mais pas méchant non plus) lorsqu’on a besoin de joindre une partie du lan de l’entreprise
      si tu veux utiliser hamachi pro payant machin bidule pour ça fais toi plaisir. Moi je m’en fous 🙂

  8. Ne soit pas succeptible mais LogMeIn n’est pas un VPN mais un outil de prise de contrôle 100% sécurisé et dûment éprouvé par un public de professionnel dont la majorité n’utilise d’ailleurs que la version Free = gratuite (La version Pro est utilisée par les grosses société ayant les moyens.
    Je pense que tu confonds LogmeIn avec Hamashi = le VPN de la même société! Qui est d’ailleurs 100% gratuit également.
    Il est d’ailleurs parfaitement évident que ces outils peuvent être utilisé pour un usage professionnel (Télémaintenance et dépannage / surveillance de réseau etc…)
    ou par des particuliers.
    Et dans ce cas évidemment, il est évident que c’est à l’administrateur du réseau de faire en sorte que les utilisateurs ne puisse pas utiliser ce qui n’est pas autorisé par la politique de sécurité de l’entreprise.
    Je pense cependant que LogmeIn et Hamashi sont un peu plus facile à installer utiliser et configurer que les solutions OpenVPN.
    ————————————————————————–
    1) Surtout quand il s’agit pour une société de service d’accéder au réseau d’un client = je ne vois pas comment tu vas faire pour installer une solution openvpn chez un client sans intervenir sur son architecture réseau.
    ——————————————————————————
    2) Dans le second cas, càd Accès VPN, je te signale que Hamashi peu être configuré par l’administrateur pour fonctionner en mode Passerelle ou Serveur (le 3eme mode = réseau P2P étoile n’étant évidement dans ce cas pas adapté!!!). Ce qui donne donc un contrôle total sur les flux du VPN légitime mis en place dans ce cas par l’administrateur, qui passent obligatoirement par le serveur ou les passerelles désignées pour cet usage!
    Cela fait donc de LgMeIn Hamashi une solution VPN tout aussi efficace et sécurisée que OpenVPN, mais plus facile à paramètrer et surtout plus robuste ( = Les fonctions de redondances sont prévues vus que tu peux choisir d’avoir plusieurs passerelles et surtout le transport sur internet est assuré par la société LogMeIn par une bonne architecture bien distribuée).
    Expliques moi comment tu veux assurer l’ensemble de ces services uniquement avec OpenVPN?
    ————————————————————————–
    PS: Tu n’as toujours pas donné plus de précisions sur la façon de filtrer les installations LogMeIn / Hamashi Pirates (= effectuées par des utilisateurs non autorisés en dehors de l’architecture VPN officielles définie par l’administrateur). Ce qui reviens d’ailleurs au même que d’installer un trojan (pour LogMeIn) ou un Proxy (Pour Hamashi – Très résistant certe) ou autre Backdoor 😉

    1. – oui je parle d’hamachi, comme dans le titre du post
      – je cite logmein car c’est l’éditeur et les serveurs logmein font partie des serveurs d’authentif d’hamachi si on veut bloquer au niveau proxy
      – je me fous de logmein : il y a tightvnc, ça se déploie globalement bien, même à distance

      oui y’a eu un commentaire de qq1 blablablabla, il aurait pas dû blablablabla

      fin du débat, j’ai autre chose à faire
      merci

  9. Bref, j’ai fait ces commentaires suite à la remarque de:
    ————————————————————————
    sam00:22 October 2008 at 10:08 am
    Logmein est surement la pire cochonnerie que j’ai croisé jusqu’à présent!
    ————————————————————————
    Je pense qu’il s’agit d’une affirmation gratuite due au manque d’information de sam00
    Il faudrait peut-être se renseigner avant de parler trop vite:
    L’ensemble des informations sur les divers produits de l’éditeur LogMeIn sont disponibles sur son site:
    http://www.logmein.com
    Il ne serait peut être pas bête de consulter les docs des produits pour mieux comprendre le fonctionnement plutôt que d’analyser vos logs SQUID et de bloquer tout ce qui apparait par l’intermédiaire de Netfilter (ou plutôt d votre Shoreline Firewall = le Front End utilisé pour paramétrer plus facilement Netfilter).
    ————————————-
    Cela pourrait peut être vous permettre de répondre à la requête de Jojo qui souhaite utiliser LogMeIn pour intervenir sur des machines à l’extérieur de votre réseau!
    Ou ai je mal compris?

Comments are closed.