Salut à tous,
J'ai besoin d'un petit coup de main pour construire un fichier de conf pour ipfw ou plutôt pour son portage sous Windows wipfw (http://wipfw.sourceforge.net/).
Le contexte : j'ai une application qui est utilisée pour le transfert d'informations sensibles. Celle-ci écoute sur le port 1414 en tcp sans possibilité d'ajouter une authentification au flux qui sont relayés. J'aurais donc souhaité limiter l'écoute de cette application sur le localhost mais ceci n'a malheureusement pas été prévu par l'éditeur. Une fois lancée, l'application écoute donc sur toute les interfaces sur le port 1414 ce qui signifie que toutes les machines de son réseau peuvent se connecter et envoyer des flux.
Comme contournement de cette limitation, j'ai cherché un firewall qui soit assez léger et peu intrusif pour ne pas allourdir la solution ni générer d'effets de bord pour les autres applications fonctionnant sur le serveur. J'ai donc opté pour wipfw qui semble répondre parfaitement à ces critères. Seul problème : sa syntaxe est plutôt complexe pour un néophyte et je n'ai pas assez de pratique dans le domaine pour être sûr de ce que je fais.
Plutôt que digérer des dizaines de pages de doc pour ce micro-problème, je me suis dit qu'il y aurait bien quelques gourous de BSD sur les forums pour me torcher le problème en 10 secondes montre en main! ;-)
Récapitulons : les processus tournant sur mon serveurs doivent être capable de se connecter sur 127.0.0.1:1414 mais les autres machines du réseau doivent être bloquées lorsqu'elles essayent de se connecter sur ce port.
Le fichier de conf par défaut de wipfw est le suivant :
# First flush the firewall rules
-f flush
# Localhost rules
add 100 allow all from any to any via lo*
# Prevent any traffic to 127.0.0.1, common in localhost spoofing
add 110 deny log all from any to 127.0.0.0/8 in
add 110 deny log all from 127.0.0.0/8 to any in
#Testing rules, to find ports used by services if we aren't sure. These rules allow ALL traffic to pass through the firewall, disabling any subsequent rules
#add 140 allow log logamount 500 tcp from any to any
#add 150 allow log logamount 500 udp from any to any
add check-state
add pass all from me to any out keep-state
add count log ip from any to any
Merci d'avance à tous pour vos réponses !
Remarque : les habitués auront reconnus le port, 1414 utilisé par Websphere MQ de IBM, anciennement MQ-Series. Il ne s'agit pourtant pas de MQ mais du SupportPac MQ-IPT qui ne sait malheureusement pas limiter l'écoute sur localhost.