IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Redirection entre deux appli de mon Tomcat bloqué par iptables


Sujet :

Sécurité

  1. #1
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut Redirection entre deux appli de mon Tomcat bloqué par iptables
    Bonjour,

    Je ne suis pas du tout expert en ce qui concerne la partie réseau et firewall lunix, et je rencontre un problème que je n'arrive pas résoudre, je vais essayé d'être claire .

    Tout d'abord ma config :
    • j'ai une configuration avec un reverse proxy nginx (port 443) et un serveur d'application Tomcat (port 8080)
    • j'ai deux applis installées sur mon Tomcat, un frontend et un backend
    • j'ai configurer (comme j'ai pu ) iptables pour essayer de sécuriser tout ça (config iptables à la suite)


    Tout avait l'air de bien se passer jusqu'à ce que mon authentification forward une url de mon backend vers mon frontend et là timeout. En suppriment le DROP de la config de iptables là ca fonctionne, mais je ne sais pas quelle règles il faut de j'ajoute pour que ça fonctionne sans avoir une passoire

    Config iptables (je sais pas si c'est bon déjà, j'ai essayé de suivre les recommandation OVH)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1    55148   46M ACCEPT     all  --  lo     any     anywhere             anywhere
    2    69410 6113K ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
    3     119K   11M ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:https
    4     188K  470M ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:56006
    5       45  1896 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:27015
    6     8878  448K ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:27015
    7      492 20598 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:7777
    8       14   558 ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:7777
    9     808K   27M ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-request
    11       0     0 DROP       all  --  any    any     anywhere             anywhere
     
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
     
    Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    J'espère que j'ai été claire dans mon explication, si vous avez des idées je suis preneur. Merci

    Nuanda

  2. #2
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Hello,

    Bon comme tu n'as aucune réponse je me lance (En ésperant que tu n'as aucun PBR ni de NAT configuré sur ta machine)

    Concernant la chaine INPUT, passe plutot en policy DROP plutot que de laisser ta policy ACCEPT et de faire une règle de DROP en fin. Bon si tu ne connais pas trop Iptables, laisse ça tel quel pas de souci.

    Je t'invite à regarder ce schéma concernant le chemin complet d'un paquet réseau sous Linux (NETFILTER):
    https://upload.wikimedia.org/wikiped...acket-flow.svg

    Un paquet réseau d'un processus local vers un processus local va donc suivre les chaines suivantes: OUTPUT -> POSTROUTING -> PREROUTING -> INPUT. Bon ta chaine OUTPUT étant en policy ACCEPT, c'est donc ta chaine INPUT qui pose problème.

    Tu me dis que le souci vient d'une requête du backend vers le frontend ok on va partir de ce postulat. L'URL de ton frontend est sur quelle interface?

    Idéalement fais un tcpdump et envoie la trame qui tombe en timeout stp ce sera plus simple.

  3. #3
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut
    Salut et merci pour ta réponse.

    Effectivement je n'y connais pas grand chose en Iptables et donc je ne serais pas comment mettre en place un policy Drop plutôt que Accept.

    Oui je n'ai rien mis dans la chaine OUTPUT, c'est un problème niveau sécurité ?

    J'ai regardé le schéma et je t'avoue que mes compétence système et network sont assez limité donc je ne comprends pas grand chose

    Je ne suis pas sûr de ce que tu entends par interface, mais mon backend et mon frontend sont installés dans le même serveur d'application (Tomcat port 8080), la différence entre les deux se fait donc par leur contextRoot (ex : http://localhost:8008/back et http://localhost:8008/front). Pour les Urls j'utilise un nom de de domaine et c'est le reverse proxy nginx qui fait les redirections vers le bon contextRoot du Tomcat en fonction de règle suivante : pour tout ce qui vient de mondomaine alors si c'est / c'est routé vers le front et si c'est /api/ c'est routé vers le back.
    Ce qui se passe dans mon cas de timeout c'est que mon backend reçoit une autorisation oauth2 d'un serveur externe et si c'est bon il redirige vers une url de mon front avec https://mondomaine/unEndPoint, a ce niveau la j'ai un timeout, je suppose que c'est la redirection vers l'url du front ou le retour de la part du serveur d'autorisation. Sachant que le serveur d'autorisation répond sur un url https://mondomaine/api/auth/etc... ce qui est normalement tout à fait accessible.

    En ce qui concerne le dump comment je trouves la trame de mon timeout, je ne vois rien de ce genre.

    Désolé je suis un peu un boulet en ce qui concerne le réseau

  4. #4
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Oui je n'ai rien mis dans la chaine OUTPUT, c'est un problème niveau sécurité ?
    Si tu as un firewall appliance en dehors non c'est pas un souci sinon oui ca peut être un souci.
    En général si tu configure une POLICY DROP sur ta chaine INPUT, il faut aussi la configurer sur ta chaine OUTPUT c'est plus propre.

    Par exemple dans le cas de la faille log4j, une chaine OUTPUT en policy drop rendait la faille totalement inexploitable. Mais si tu n'y connais rien en iptables c'est déjà bien d'avoir configurer la chaine INPUT.
    Essaye de regarder peut être du coté de firewalld, c'est un frontend iptables plus facile à gérer que iptables.

    Ha oui je vois normalement on configure une application par instance Tomcat mais bon si tu en as mis deux pourquoi pas.

    Malheureusement je ne connais pas en detail le protocole Oauth2 (je sais c'est la honte pour un ingénieur cyber sécurité mais je vais corriger ça asap) si quelqu'un passe par la et veut ajouter son grain de sel ce serait top.

    A la limite je peux t'aiguiller vers une solution pour identifier clairement ton problème: tu configures les logs Iptables pour ta chaine INPUT

    Bon le problème c'est que tu risques d'ajouter une règle après ta policy 11 de DROP -> ta règle ne fonctionnera pas.

    Donc idéalement:

    Première étape -> backup de tes règles iptables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    iptables-save > iptables.dump
    Deuxième étape -> Suppression de ta règle de drop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    iptables -D INPUT 11
    Troisème étape -> Configuration du logging + drop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    iptables -A INPUT -j LOG --log-level 6 --log-prefix "INPUT:DROP: "
    iptables -A INPUT -j DROP
    Les logs arriveront surement dans /var/log/kern.log ou /var/log/messages, sauf si tu as configuré ton démon de log (syslog-ng ou rsyslog).

    Dans tous les cas si tu veux restore c'est simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iptables-restore < iptables.dump
    Désolé je suis un peu un boulet en ce qui concerne le réseau
    Non ne t'inquietes pas iptables est difficile à appréhender au début

  5. #5
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut
    J'ai loggé selon tes indications la demande d'autorisation oauth2 jusqu'au timeout (qui intervient au bout de 2min), voici le résultat (j'ai remplacé ce qui était les infos de mon serveur et j'ai mis en évidence discord que j'ai utilisé comme serveur d'autorisation)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    Oct  3 15:33:08 ndaserv1 kernel: [3523757.241623] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=77.90.185.71 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=54321 PROTO=TCP SPT=56892 DPT=8443 WINDOW=65535 RES=0x00 SYN URGP=0 
    Oct  3 15:33:09 ndaserv1 kernel: [3523758.682531] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=77.90.185.170 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=54321 PROTO=TCP SPT=58898 DPT=31386 WINDOW=65535 RES=0x00 SYN URGP=0 
    Oct  3 15:33:12 ndaserv1 kernel: [3523761.207869] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=31.173.233.78 DST=[ip_du_serveur] LEN=52 TOS=0x00 PREC=0x00 TTL=108 ID=7665 DF PROTO=TCP SPT=63597 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0 
    Oct  3 15:33:12 ndaserv1 kernel: [3523761.655254] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=26257 PROTO=TCP SPT=45154 DPT=60648 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:33:14 ndaserv1 kernel: [3523763.159819] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:15 ndaserv1 kernel: [3523764.165297] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:16 ndaserv1 kernel: [3523765.168604] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:17 ndaserv1 kernel: [3523766.181361] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:18 ndaserv1 kernel: [3523767.584040] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=64414 PROTO=TCP SPT=45154 DPT=35853 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:33:21 ndaserv1 kernel: [3523770.405421] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:22 ndaserv1 kernel: [3523771.440696] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:25 ndaserv1 kernel: [3523774.086574] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=187.194.48.32 DST=[ip_du_serveur] LEN=44 TOS=0x00 PREC=0x00 TTL=53 ID=36683 PROTO=TCP SPT=54098 DPT=23 WINDOW=12210 RES=0x00 SYN URGP=0 
    Oct  3 15:33:29 ndaserv1 kernel: [3523777.877634] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=167.94.146.68 DST=[ip_du_serveur] LEN=44 TOS=0x00 PREC=0x00 TTL=40 ID=29380 PROTO=TCP SPT=51297 DPT=25 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:33:29 ndaserv1 kernel: [3523778.597552] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:29 ndaserv1 kernel: [3523778.738555] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=36.104.220.188 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=43 ID=17101 PROTO=TCP SPT=45207 DPT=23 WINDOW=64758 RES=0x00 SYN URGP=0 
    Oct  3 15:33:30 ndaserv1 kernel: [3523779.632871] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:45 ndaserv1 kernel: [3523794.725804] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:46 ndaserv1 kernel: [3523795.278286] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=18642 PROTO=TCP SPT=45154 DPT=47956 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:33:46 ndaserv1 kernel: [3523795.761073] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:33:48 ndaserv1 kernel: [3523797.281711] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.146.228.35 DST=[ip_du_serveur] LEN=433 TOS=0x00 PREC=0x00 TTL=52 ID=28585 DF PROTO=UDP SPT=5076 DPT=5060 LEN=413 
    Oct  3 15:33:57 ndaserv1 kernel: [3523806.230474] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=185.180.30.247 DST=[ip_du_serveur] LEN=50 TOS=0x00 PREC=0x00 TTL=242 ID=5357 DF PROTO=TCP SPT=6132 DPT=22 WINDOW=21836 RES=0x00 SYN URGP=0 
    Oct  3 15:33:58 ndaserv1 kernel: [3523807.704036] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=198.199.106.161 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=238 ID=54321 PROTO=TCP SPT=39635 DPT=9160 WINDOW=65535 RES=0x00 SYN URGP=0 
    Oct  3 15:34:06 ndaserv1 kernel: [3523815.637134] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=128.199.239.103 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=237 ID=54321 PROTO=TCP SPT=34421 DPT=61116 WINDOW=65535 RES=0x00 SYN URGP=0 
    Oct  3 15:34:07 ndaserv1 kernel: [3523816.075922] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=113.221.77.220 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=43 ID=5942 PROTO=TCP SPT=1024 DPT=23 WINDOW=64981 RES=0x00 SYN URGP=0 
    Oct  3 15:34:07 ndaserv1 kernel: [3523816.122055] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=113.221.77.220 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=43 ID=5942 PROTO=TCP SPT=1024 DPT=23 WINDOW=64981 RES=0x00 SYN URGP=0 
    Oct  3 15:34:13 ndaserv1 kernel: [3523822.425600] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=198.199.104.76 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=238 ID=54321 PROTO=TCP SPT=38178 DPT=49152 WINDOW=65535 RES=0x00 SYN URGP=0 
    Oct  3 15:34:14 ndaserv1 kernel: [3523823.171429] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:15 ndaserv1 kernel: [3523824.198934] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:16 ndaserv1 kernel: [3523825.224374] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:17 ndaserv1 kernel: [3523826.215023] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:19 ndaserv1 kernel: [3523828.006349] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:20 ndaserv1 kernel: [3523829.042620] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=162.159.138.232 DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=38162 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:20 ndaserv1 kernel: [3523829.500595] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=42991 PROTO=TCP SPT=45154 DPT=54446 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:34:21 ndaserv1 kernel: [3523830.311070] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:22 ndaserv1 kernel: [3523831.368474] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:29 ndaserv1 kernel: [3523838.503234] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:30 ndaserv1 kernel: [3523839.561619] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:33 ndaserv1 kernel: [3523842.294788] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=3349 PROTO=TCP SPT=45154 DPT=18346 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:34:45 ndaserv1 kernel: [3523854.466019] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=23.148.145.204 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=238 ID=45501 PROTO=TCP SPT=52179 DPT=81 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:34:45 ndaserv1 kernel: [3523854.631458] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:46 ndaserv1 kernel: [3523855.688867] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:34:48 ndaserv1 kernel: [3523857.223279] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=80.66.75.158 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=244 ID=46477 PROTO=TCP SPT=64445 DPT=9083 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:34:49 ndaserv1 kernel: [3523858.128988] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=19918 PROTO=TCP SPT=45154 DPT=47432 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:34:55 ndaserv1 kernel: [3523864.655053] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=59849 PROTO=TCP SPT=45154 DPT=37172 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:34:58 ndaserv1 kernel: [3523867.785099] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=39472 PROTO=TCP SPT=45154 DPT=40592 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:35:07 ndaserv1 kernel: [3523876.663843] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=62.171.186.10 DST=[ip_du_serveur] LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=11379 PROTO=TCP SPT=45154 DPT=37764 WINDOW=1024 RES=0x00 SYN URGP=0 
    Oct  3 15:35:11 ndaserv1 kernel: [3523879.937725] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=45.155.91.237 DST=[ip_du_serveur] LEN=441 TOS=0x00 PREC=0x00 TTL=55 ID=40796 DF PROTO=UDP SPT=5123 DPT=5060 LEN=421 
    Oct  3 15:35:18 ndaserv1 kernel: [3523887.399993] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0 
    Oct  3 15:35:19 ndaserv1 kernel: [3523888.457397] INPUT:DROP: IN=eno1 OUT= MAC=[addr_mac] SRC=[ip_discord] DST=[ip_du_serveur] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=TCP SPT=443 DPT=52102 WINDOW=65160 RES=0x00 ACK SYN URGP=0
    Bon il y des ips un peu louche dans le tas j'espère qu'elles sont bien bloquées

    Je t'avous que ca ne me parle pas plus

  6. #6
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Hello,

    Oui elles sont bien bloquées t'en fais pas :p

    Bon sans regarder plus que ça j'imagine qu'il faut autoriser ip_discord à contacter ip_du_serveur.

    On va passer en policy DROP au passage pour rendre ça plus propre.
    On va faire une restauration, ca t'évitera de faire des bidouilles à partir de la.

    Première étape - Passage en policy DROP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    iptables-restore <iptables.dump
    iptables -D INPUT 11
    iptables -P INPUT DROP
    Deuxième étape on autorise ton truc + rajout du LOG statement
    Evidemment tu remplace les trucs en gras ci-dessous par les bonnes IP. J'espère que ip_discord ne concerne qu'une seul IP et non plusieurs?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    iptables -A INPUT -s ip_discord -d ip_du_serveur -j ACCEPT
    iptables -A INPUT -j LOG --log-level 6 --log-prefix "INPUT:DROP: "
    Voila sors moi ici un output de

    stp et dis moi surtout si ton truc marche maintenant

    Dans le moindre doute, fais un rollback (iptables-restore < iptables.dump)

    EDIT: ya moyen de faire ca plus propre avec les sessions TCP dans la mesure ou c'est ton SYN ACK qui fait un timeout mais bon pour le moment essayes comme ca.
    Bizarre quand même que des "ip chelous" fasse du SYN ACK avec ton serveur enfin on verra ça après.

  7. #7
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut
    Salut,

    Alors j'ai mis ce que tu as indiqué et ça ne marchait toujours pas, du coup j'ai essayé en ne mettant pas -d ip de mon serveur, et là ça fonctionne. Je suis pas sûr de savoir pourquoi.

    Mon iptables (bien sur à la place de [mon_ip_serveur] j'ai la vrai ip de mon serveur), sans l'avant dernière ligne ça ne marche pas et avec ça marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:56006
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:27015
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:27015
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:7777
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:7777
    ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
    ACCEPT     all  --  162.159.136.232      [mon_ip_serveur]
    ACCEPT     all  --  162.159.136.232      anywhere
    LOG        all  --  anywhere             anywhere             LOG level info prefix "INPUT:DROP: "
     
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
     
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    Je suppose que la première ligne ne sert à rien d'ailleurs.

  8. #8
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Hello,

    Tu dois avoir plusieurs IP sur ton serveur c'est pour ça.
    On va essayer d'affiner un peu tes règles histoire de rendre ça plus secure.

    Cette ligne la
    ACCEPT icmp -- anywhere anywhere icmp echo-request
    Evite aucun serveur ne doit être pingable depuis internet (sauf si tu es un DNS Google :p), il faut que tu mette ton subnet privé dans ta règle plutot.

    On va donc affiner un peu tout ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    iptables-restore <iptables.dump
    iptables -D INPUT 9
    iptables -D INPUT 11
    iptables -P INPUT DROP
    iptables -A INPUT -s localhost -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A INPUT -s ton_subnet_privé -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A INPUT -s ip_discord -p tcp --sport 443 -j ACCEPT
    iptables -A INPUT -j LOG --log-level 6 --log-prefix "INPUT:DROP: "
    remplace ton_subnet_privé par ton réseau (192.168.1.0/24 par exemple ou celui que tu as sur ton serveur)

    Effectivement je vois que certaines IP sont en train de te scanner, rien de grave tout est droppé par iptables.

    La première ligne sert si tu exposes ton serveur web sur internet.

    EDIT: fais gaf avec cette règle
    iptables -A INPUT -j LOG --log-level 6 --log-prefix "INPUTROP: "

    Ca risque de blinder ton serveur de logs. Supprime cette règle quand tout marchera nickel.

  9. #9
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut
    Salut,

    Mon serveur est un serveur dédier hébergé et quand j'ai commencé à configurer l'iptables j'ai eu des reboot intempestifs de mon serveur. J'ai mis ça sur le compte de la supervision qui n'arrivait plus à le ping d'où ma règle icmp, après j'avoue j'ai pas réfléchie à le mettre sur le réseau local
    Du coup quand tu parle de subnet, tu parle bien de l'inet dans l'addr ipv4 ?

    Oui j'avais bien l'intention de ne pas laisser le log, j'ai bien conscience des problèmes que cela peut engendrer

    Du coup comme cette règle (ACCEPT all -- 162.159.136.232 [mon_ip_serveur]) ne fonctionne pas je suis un peu confus sur quelle ip correspond à quoi.

  10. #10
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Citation Envoyé par nuandafr Voir le message
    Salut,

    Mon serveur est un serveur dédier hébergé et quand j'ai commencé à configurer l'iptables j'ai eu des reboot intempestifs de mon serveur. J'ai mis ça sur le compte de la supervision qui n'arrivait plus à le ping
    Des reboots intempestifs du a la configuration d'iptables? non mais aucun hebergeur sur terre ne rebooterait un serveur en production parce qu'il n'est pas pingable ce serait de l'incompétence à l'état pure. Enfin plus rien ne me choque alors bon.

    Bon oublie les règles ICMP laisse les telles quelles. La seule règle qui compte c'est elle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    iptables -A INPUT -s 162.159.136.232 -p tcp --sport 443 -j ACCEPT

  11. #11
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut
    Citation Envoyé par tabouret Voir le message
    Des reboots intempestifs du a la configuration d'iptables? non mais aucun hebergeur sur terre ne rebooterait un serveur en production parce qu'il n'est pas pingable ce serait de l'incompétence à l'état pure. Enfin plus rien ne me choque alors bon.

    Bon oublie les règles ICMP laisse les telles quelles. La seule règle qui compte c'est elle
    C'était peut être qu'une coïncidence, en tous cas j'ai mis l'ip local dans la règle icmp et du coup le serveur n'est plus pingable par internet.

    J'ai mis ta nouvelle règle et ça a l'air de fonctionner, bon je me suis rendu compte qu'en faite discord.com tourne sur plusieurs ip du coup pour tester j'ai mis discord.com à la place de 162.159.136.232 et ça ma ajouter plusieurs ligne (c'était du pif mais du coup ca marche mieux )

    du coup maintenant j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Chain INPUT (policy DROP 739 packets, 35067 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1     2187   27M ACCEPT     all  --  lo     any     anywhere             anywhere
    2       10   576 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
    3    10952  858K ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:https
    5        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:27015
    6        0     0 ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:27015
    7        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:7777
    8        0     0 ACCEPT     udp  --  any    any     anywhere             anywhere             udp dpt:7777
    9        0     0 ACCEPT     icmp --  any    any     [iplocal_serveur]    anywhere             icmp echo-request
    10       0     0 ACCEPT     tcp  --  any    any     162.159.137.232      anywhere             tcp spt:https
    11      39 13087 ACCEPT     tcp  --  any    any     162.159.135.232      anywhere             tcp spt:https
    12       0     0 ACCEPT     tcp  --  any    any     162.159.128.233      anywhere             tcp spt:https
    13      14  5146 ACCEPT     tcp  --  any    any     162.159.136.232      anywhere             tcp spt:https
    14       0     0 ACCEPT     tcp  --  any    any     162.159.138.232      anywhere             tcp spt:https
     
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
     
    Chain OUTPUT (policy ACCEPT 18051 packets, 77M bytes)
    num   pkts bytes target     prot opt in     out     source               destination

  12. #12
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Hello,

    En esperant que ton discord.com ne change pas d'IP tous les 4 matins (sinon il va te falloir passer par un firewall de niveau 7).

    Ok nickel si ca marche.

  13. #13
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 22
    Par défaut
    Salut,

    Je verrais bien si les ips changent dans le temps

    En tous cas merci pour ton aider qui a débloqué mon problème et qui m'a appris deux trois choses, même si je suis loin de maitrise iptables !

    Nuanda.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection entre deux sous-domaines
    Par Mistic100 dans le forum Domaines
    Réponses: 3
    Dernier message: 27/02/2009, 14h00
  2. Réponses: 5
    Dernier message: 29/03/2007, 23h26
  3. Redirection entre deux serveur Apache
    Par BernardT dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 22/02/2007, 15h59
  4. [WebLogic]Partager un bean entre deux applis web
    Par fatboyslim75 dans le forum Weblogic
    Réponses: 2
    Dernier message: 12/12/2005, 20h22
  5. [xsl] alterner de style entre deux apply-template
    Par laouache dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 23/04/2004, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo