Test du pays de l'adresse IP de l'expéditeur

Détails des articles
Lien: https://support.icewarp.fr/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=428
Code d'identification de l'article: 428
Créé le: 02 Sep 2020 12:49 PM

Réponse IceWarp toutes versions -

Utilisation de l'url ipinfo.io sous une invite de commande Windows

Quelques exemples :
C:\>curl ipinfo.io/46.105.53.60/
{
  "ip": "46.105.53.60",
  "hostname": "comserver.darnis.com",
  "city": "Nîmes",
  "region": "Occitanie",
  "country": "FR",
  "loc": "43.8366,4.3579",
  "org": "AS16276 OVH SAS",
  "postal": "30000",
  "timezone": "Europe/Paris",
  "readme": "https://ipinfo.io/missingauth"
}

C:\>curl ipinfo.io/46.105.53.60/country
FR

C:\>curl ipinfo.io/54.240.10.216
{
  "ip": "54.240.10.216",
  "hostname": "a10-216.smtp-out.amazonses.com",
  "city": "Seattle",
  "region": "Washington",
  "country": "US",
  "loc": "47.5846,-122.3005",
  "org": "AS14618 Amazon.com, Inc.",
  "postal": "98144",
  "timezone": "America/Los_Angeles",
  "readme": "https://ipinfo.io/missingauth"
}

C:\>curl ipinfo.io/192.168.0.1/
{
  "ip": "192.168.0.1",
  "bogon": true
}

C:\>curl ipinfo.io/192.168.0.1/country
{
  "error": {
    "title": "Invalid field 'country' requested for a bogon address",
    "message": "192.168.0.1 is reserved for special use such as local networks and shouldn't appear on public internet. Further reading: https://ipinfo.io/bogon"
  }
}



Procédure d'exclusion de certains pays d'origine

On utilise la procédure batch geoipa.bat (adaptée ici pour exclure la Chine et Taiwan) est téléchargeable ici.
La procédure doit être incluse dans une règle de ce type :

Si la condition est l'exécution de D:\sbin\ScriptsIceWarp\geoipa.bat ...
Rejeter message
    AND Ne pas appliquer d'autres règles


La condition d'exécution est la suivante :
 
Dans le journal SMTP, on voit la ligne suivante si la condition déclenche :
[1DEC] 12:28:13 Executable D:\sbin\ScriptsIceWarp\geoipa.bat 127.0.0.1 Success [1]
Et la règle rejette le message.
Noter que si ipinfo.io n'est pas accessible, le code retourné est 0, le message sera donc accepté.


Pour n'accepter que certains pays

On utilise la procédure batch geoipb.bat (adaptée ici pour accepter la France) est téléchargeable ici.
La règle doit inclure un test pour les adresses locales

Si la condition est l'exécution de C:\geoipb.bat %%IP%%
    AND Si l'adresse IP de l'expéditeur correspond à  NOT 127\.0\.0\.1|^192\.168\.|^10 ...
Rejeter message
    AND Ne pas appliquer d'autres règles


La condition sur les adresses :
 

La chaîne complète :

127\.0\.0\.1|^192\.168\.|^10\.|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[01]\.|^::1|^fc00::|^fe80::|^ff00::

Dans le journal SMTP, on voit la ligne suivante si la condition déclenche :
[1DEC] 12:28:13 Executable C:\geoipb.bat 127.0.0.1 Success [1]
Mais le message n'est rejeté que si l'adresse n'est pas locale.

Noter que si ipinfo.io n'est pas accessible, le code retourné est 1, le message sera donc refusé si l'IP n'est pas locale.



Modifié le 22 mars 2022