Règle IPTABLE

Tags: #<Tag:0x00007f50a244b4a8>

Bonjour,

Je recherche une règle IPTABLE pour autoriser toute les adresse IP sur le port 32400 pour une adresse IP comencant par 74.X.X.X.X

iptables -t filter -A OUTPUT -s 74.x.x.x -p tcp --dport 32400 -j ACCEPT

Auriez vous une idée car ma règle fonctionne trés bien mais uniquement quand je tape l’adresse complète.

En fait je vous explique, mon téléphone portable change tout le temps d’adresse IP, et mon FAI (Fournisseur d’accès internet) a tout ces @IP commençant par 74.X.X.X.X.

Non-opérateur m’a dit que c’était impossible d’obtenir une adresse IP fixe depuis une connexion GSM et j’ai pensé à faire un filtre fia les deux premiers chiffres de mon adresse IP publique de mon téléphone portable qui ne change jamais.

-s 74.0.0.0/8

Mais il est improbable que ton FAI ait cette plage entière, et il est probable qu’il ait d’autres plages.

Et pourquoi vouloir filtrer sur l’adresse source alors qu’ils s’agit de paquets sortants, donc émis par la machine elle-même ?

iptables -A INPUT -m iprange --src-range 74.0.0.0-74.255.255.255 -j ACCEPT

not sure ^^

En ouvrant à 74.XXX.XXX.XXX , tu vas ouvrir le port à tous les clients de ton opérateur, autant carrément ouvrir ce port là à tout le monde.
Il y a des solutions de “port knocking”, qui peuvent t’ouvrir un port si tu frappes à la bonne porte:


Tu as aussi la solution d’utiliser un dyndns, pour associer automatiquement l’ip de ton ordi où qu’il soit à son adresse ip dynamique. Si ce que tu veux faire peut passer par un nom de machine et une résolution de nom au lieu d’une adresse ip, ça peut être plus simple aussi.

Bref, si tu expliquais encore mieux ton problème de base, notamment pourquoi tu as besoin d’attaquer ce port 32400 spécifiquement sur ton ip de portable ?
On pourrait peut être te suggérer une solution adaptée.

Non puisqu’il s’agit d’une connexion sortante (OUTPUT).

Depuis l’adresse IP de son portable.

Je n’avais même pas lu la règle, je n’avais pas compris, tellement l’idée même de bloquer l’OUTPUT me parait idiote.

Cela n’a rien d’idiot et peut être parfaitement légitime. Notamment quand on n’a pas une confiance absolue dans les applications qu’on fait tourner et les accès réseau qu’elles font.
Par contre je ne comprends pas pourquoi vouloir filtrer sur l’adresse source d’une connexion sortante. C’est forcément l’adresse actuelle de la machine, quelle qu’elle soit.

[HS]

Oui, mais dans ce cas là, c’est du diagnostic, tu peux loguer, mais pas obligé de bloquer.
Et sur les machines vraiment critiques où on ne veut pas que le contenu sorte, je veux bien à la limite que ce soit légitime de bloquer, mais déjà on y installe pas d’applis qu’on soupçonne de fuiter, et ça ne protège pas contre les intrusions: quand on a quelque chose d’anormal qui sort, c’est qu’un intrus est déjà entré.

[/HS]

En fait oui en autorisant le 74.x.x.x j’autoriserais moins de personne que si j’ouvre tout a tout le monde.
en tout cas Merci pour votre travail, je testerais à midi.

Merci Merci
:slight_smile:

Autoriser un site internet avec une adresse IP, c’est possible ?
c’est simple ?

Non, tu fais erreur. Cette règle dans la chaîne OUTPUT filtre les paquets sortants. Sur quelle machine est-elle installée, le portable qui a l’adresse 74.x.x.x ou le serveur qui écoute sur le port 32400 ?

Que veux tu dire par là ? Autoriser à quel endroit ? L’adresse IP de quoi ?

Peux tétère changer ma méthodologie dans var/www/mon2_site_PV.com l’autoriser dans apache l’adresse IP de chez moi uniquement, suis parti sur les règles IPTABLE mais c’est trop bloquant.

Ex : /etc/apache2.conf/site-enabled/00default.conf

désolé pour mes explications,
J’ai mon site internet sur le quelle je publie toutes mes notes de travail que j’héberge sur un serveur dédié KIMSUFI (Linux debian 9).

Je souhaiterais autoriser l’adresse IP de mon travail et l’adresse IP de chez moi à consulter ce site internet sans bloquer les autres sites internet que j’héberge.

www.xxxxx.xx va dans var/www/xxxxxxx
yyy.yyy.yy et dans le dossier /var/www/yyyy
zzz.zzzzzzz.zz dans le dossier /var/www/zzz

J’ai trouvé
voici la solution : https://www.it-connect.fr/filtrer-les-acces-par-ip-dans-apache/

Merci pour tout l’équipe, vous m’avez super bien aidé.

Et le port 32400 figurant dans la règle iptables de ton message initial, c’est le port d’écoute du serveur web ?

iptables est utilisable si les autres sites sont accessibles en se connectant à une adresse IP ou un port différent. Mais les règles doivent aller dans la chaîne INPUT pour filtrer les paquets entrants, pas la chaîne OUTPUT.

Par contre si tous les sites sont accessibles aux mêmes adresse IP et port, alors iptables n’est d’aucune aide car il ne peut pas filtrer sur le nom du site. Seul le serveur web lui-même, ou un reverse proxy situé en frontal le peut. Mais ce filtrage est plus coûteux en ressources que le filtrage par iptables, car il faut qu’une connexion TCP soit établie et une requête HTTP soit transmise et traitée.