Iptables : serveur et proxy
Fermé
Lynow
-
11 févr. 2022 à 11:39
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 16 févr. 2022 à 19:08
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 16 févr. 2022 à 19:08
A voir également:
- Iptables : serveur et proxy
- Pterodactyl iptables - Forum Ubuntu
- Attaque port 53 et iptables - Forum Linux / Unix
- NATTER le port 1723 (VPN) avec iptables - Forum Réseau
2 réponses
Ok, mon erreur, je crois, est que la commande
J'ai ensuite ajouté un OUTPUT pour Opensearch, cela fonctionne.
sudo iptables -A INPUT -j DROPbloque tout, même les règles enregistrées qui sont définies après cette commande ... (si quelqu'un peut me confirmer la chose). J'ai donc juste modifier la police avec les commandes :
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT DROP
J'ai ensuite ajouté un OUTPUT pour Opensearch, cela fonctionne.
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
Modifié le 11 févr. 2022 à 23:18
Modifié le 11 févr. 2022 à 23:18
Bonjour,
Je ne vois pas pourquoi tu crées des règles de redirection côté client.
Il suffit juste de faire une redirection 80 -> 8080 et 443 -> 8443 côté serveur et les clients pourront ainsi accéder à Nginx via les ports standards malgré que Nginx écoute d'autres ports. C'est exactement à cela que servent les redirections.
Voir ici :
https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#REDIRECTTARGET
(je te conseille de garde ce tuto très pratique parmi tes marques pages)
Le deuxième problème, c'est que tu places une règle ACCEPT en-dessous d'une règle DROP qui aurait déjà capturé les paquets visés par ta règle ACCEPT. L'ordre des règles a son importance.
Le 3e problème, je ne sais pas si c'est volontaire ou pas, mais tu bloques le trafic entrant sur des ports différents de ceux spécifiés. Si tu tentes d'accéder depuis le serveur vers du HTTP ou HTTPS externes (pour télécharger des mises à jour par exemple), ton trafic sortant sera à destination des ports 80/443, mais le port source sera aléatoire. La réponse sera donc destinée à ce port aléatoire, et non aux ports 80/443. C'est pour cela qu'il est aussi nécessaire d'autoriser en INPUT les paquets relatifs à une connexion déjà établie (RELATED, ESTABLISHED).
Voir ici :
https://www.digitalocean.com/community/tutorials/iptables-essentials-common-firewall-rules-and-commands#allowing-established-and-related-incoming-connections
Je ne vois pas pourquoi tu crées des règles de redirection côté client.
Il suffit juste de faire une redirection 80 -> 8080 et 443 -> 8443 côté serveur et les clients pourront ainsi accéder à Nginx via les ports standards malgré que Nginx écoute d'autres ports. C'est exactement à cela que servent les redirections.
Voir ici :
https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#REDIRECTTARGET
(je te conseille de garde ce tuto très pratique parmi tes marques pages)
Le deuxième problème, c'est que tu places une règle ACCEPT en-dessous d'une règle DROP qui aurait déjà capturé les paquets visés par ta règle ACCEPT. L'ordre des règles a son importance.
Le 3e problème, je ne sais pas si c'est volontaire ou pas, mais tu bloques le trafic entrant sur des ports différents de ceux spécifiés. Si tu tentes d'accéder depuis le serveur vers du HTTP ou HTTPS externes (pour télécharger des mises à jour par exemple), ton trafic sortant sera à destination des ports 80/443, mais le port source sera aléatoire. La réponse sera donc destinée à ce port aléatoire, et non aux ports 80/443. C'est pour cela qu'il est aussi nécessaire d'autoriser en INPUT les paquets relatifs à une connexion déjà établie (RELATED, ESTABLISHED).
Voir ici :
https://www.digitalocean.com/community/tutorials/iptables-essentials-common-firewall-rules-and-commands#allowing-established-and-related-incoming-connections
Merci encore pour ton aide.
Il y a une chose que je ne comprends pas. Lorsque je veux envoyer des données à un serveur, à partir d'un serveur. Par exemple, prenons le serveur Cortex qui veut envoyer des données à Opensearch.
Pour moi, il suffisait d'autoriser le OUTPUT vers l'adresse IP du serveur. Mais, cela ne fonctionne pas, je dois ajouter OUTPUT -j ACCEPT pour tout accepter. A noter que j'ai ajouté la connexion déjà établie ...
Il y a une chose que je ne comprends pas. Lorsque je veux envoyer des données à un serveur, à partir d'un serveur. Par exemple, prenons le serveur Cortex qui veut envoyer des données à Opensearch.
Pour moi, il suffisait d'autoriser le OUTPUT vers l'adresse IP du serveur. Mais, cela ne fonctionne pas, je dois ajouter OUTPUT -j ACCEPT pour tout accepter. A noter que j'ai ajouté la connexion déjà établie ...
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
>
Lynow
16 févr. 2022 à 19:08
16 févr. 2022 à 19:08
Bonjour, en effet ça devrait fonctionner mais sans connaître tes règles iptables (et leur ordre), difficile de dire d'où vient le problème...