Je veux avoir un pare-feu sur mon hotspot mobile (pour bloquer tout le trafic externe sauf le trafic de retour). Existe-t-il une application pour cela ?
Non, les applications ne peuvent pas le faire. C'est quelque chose à un niveau plus bas, les applications ne sont pas si privilégié . Les applications VPN sont une solution de rechange pour les connexions sortantes (en raison d'un éventuel filtrage sur la base de l'adresse IP). UIDs
y SOcket_MARKs
), mais pas pour les connexions entrantes.
Mon Android n'est pas rooté, donc je préférerais une solution qui ne nécessite pas de rooter mon téléphone (si possible).
Impossible sans Root (AFAIK), mais avec Root c'est simple, grâce au noyau Linux. Puisque Android utilise la politique par défaut ACCEPT
laisser tomber tous les paquets non désirés :
~# iptables -I INPUT -i rmnet_data1 -m conntrack ! --ctstate ESTABLISHED,RELATED -j DROP
~# iptables -I FORWARD -i rmnet_data1 -m conntrack ! --ctstate ESTABLISHED,RELATED -j DROP
La première règle n'autorise que le trafic de retour pour les appareils Android, la seconde pour les hôtes connectés. Remplacer rmnet_data1
avec l'interface utilisée par votre Mobile Data. J'espère que vous ne voudrez pas bloquer les connexions entrantes de l'interface WiFi ( wlan0
) pour que le hotspot fonctionne.
Notez que iptables
Les règles sur Android sont dynamiques, netd
continue à les mettre à jour avec les changements du réseau. Il est donc préférable d'utiliser ces règles avec une application comme AFWall+.
Je ne suis pas un expert, mais d'après ce que j'ai compris, les ports ouverts n'ont de sens que lorsque vous disposez d'une IP publique, de préférence statique, comme c'est le cas avec les connexions à large bande en ligne fixe et les cartes SIM spéciales avec service IP public fixe. Les opérateurs de réseaux mobiles (je suppose que vous êtes connecté à Mobile Data) utilisent toujours le Carrier Grade NAT (parfois le double NAT), essentiellement pour résoudre le problème de l'accès à l'Internet. Pénurie d'adresses IPv4 mais il sert également d'autres intérêts. Ils exécutent, par exemple, des serveurs proxy de mise en cache transparente et des serveurs DNS derrière ce NAT afin de minimiser la charge sur la bande passante Internet et d'améliorer les performances en réduisant la latence. Lorsque vous êtes derrière le CGN :
- Votre IP public change, par exemple lorsque vous déménagez.
- L'adresse IP privée que vous obtenez (généralement 10.x.x.x) est attribuée par le serveur DHCP de MNO, elle change donc constamment, par exemple lorsque le bail expire ou lorsque vous vous reconnectez.
- Même si vous obtenez une IP privée fixe, votre ISP/MNO devrait transférer les ports de l'IP publique vers votre IP privée, ce qu'il ne fait pas. Parce qu'il pourrait y avoir des centaines et des milliers de clients souhaitant transférer le même port de la même IP publique vers leurs appareils.
Garder les ports entrants ouverts dans cette configuration ne sert donc à rien, si ce n'est à rendre le réseau de l'ORM vulnérable aux attaques. C'est pourquoi la plupart des ORM bloquent les connexions entrantes sur tous les ports (ou moins) de leur réseau. 1024
ou du moins les ports les plus utilisés). Mais il ne peut pas être testé à cause du CGN, qui - comme effet secondaire - est une couche supplémentaire de sécurité, bien que ce ne soit pas un pare-feu. Vous avez une IP privée, non routable sur Internet, personne ne peut vous accéder de l'extérieur, ceci devrait être considéré comme une sécurité, plus ou moins. C'est la raison pour laquelle les connexions VoIP sont toujours initiées par les clients en laissant l'adresse IP de l'utilisateur se connecter. STUN
Le serveur sait où ils se trouvent. Et nous devons opter pour des solutions comme ce pour accepter les connexions entrantes derrière le NAT.
il existe quelques appareils (téléviseur intelligent, console de jeux, etc.) qu'il n'est pas du tout sûr de mettre sur un réseau ouvert.
De plus, votre appareil Android fait également du NAT sur le trafic provenant des hôtes connectés. Et il n'y a pas de DMZ
, UPnP
ou normal Port Forwarding
configuré sur votre appareil Android. C'est une autre couche de protection.
J'ai des raisons de croire que le NAT de mon opérateur ne bloque pas les connexions entrantes.
Il serait très utile que vous nous expliquiez comment vous en êtes arrivé à cette conclusion. Cependant, si vous êtes sûr que leur NAT peut être traversé ou contourné facilement sans aucune aide du côté client, ou si vous n'avez pas confiance en MNO ou leurs pare-feu, envisagez de mettre en place un pare-feu puissant.
Les utilisateurs ordinaires se concentrent davantage sur les applications installées sur le téléphone ; ce sont elles les véritables espions. Elles collectent des données personnelles, divulguent des informations, font de l'analyse, du profilage d'utilisateur, du suivi et de la publicité ciblée. Un pare-feu sortant est donc d'une grande importance.
Des solutions compliquées de pare-feu pour les connexions entrantes sont nécessaires sur les serveurs avec des ports d'écoute. Les appareils Android n'exécutent pas de serveurs (en général), à l'exception d'un serveur local. DHCP
/ DNS
serveur ( dnsmasq
) pour le hotspot. Si vous exécutez des services qui acceptent des connexions depuis l'Internet, c'est une autre raison valable pour installer un pare-feu.