13/11/20161 Scenario Les scénarios offrent une solution souple pour construire vos propres règles de droit d'accès. Interprétés séquentiellement, on exécute le traitement correspondant à la première condition vraie Les conditions sont évaluées sur la base de variables d'environnement et du contexte d'authentification. Exemple : match([msg_header->Subject],/cru/) smtp,smime ->...
13/11/20162 Scenario Un scénario peut en inclure un autre –include spamreject La recherche de scénario respecte la priorité –liste > robot > site > distribution La condition « search » permet d'utiliser des filtres LDAP ou SQL : les « named filters » Possibilité de pluger des conditions écrites en perl
13/11/20163 Scenario / named filters Le but est de consulter un annuaire ou une base de donnée externe à Sympa /home/sympa/etc/search_filters/myfiltre.(ldap|sql) Le filtre contient des paramètres de connexion et une requête LDAP ou SQL avec utilisation de la variable [sender] Appel du filtre avec la condition search search(example.ldap) smtp,smime,md5 -> do_it
13/11/20164 Scenario / custom condition ~sympa/etc/robot/custom_conditions/mycond.pm CustomCondition package Sub verify CustomCondition::mycond([sender]) dkim -> do_it
13/11/20165 Scenario / custom condition /home/sympa/etc/custom_conditions/yes.pm : #!/usr/bin/perl packagepackage CustomCondition::yes; use strict; use Log; # optional : we log parameters sub verify { foreach my $arg { do_log ('debug', 'arg: ', $arg); } # I always say 'yes' return 1;return } ## Packages must return true. 1;
13/11/20166 DKIM La fonctionnalité de Sympa permet de : –vérifier les signatures DKIM des messages entrants et d'exploiter le résultat de cette vérification dans les scénarios ; –apposer une signature à tout ou partie des messages sortants : Messages de services Messages validés par la modération Tous les messages –rejeter les messages qui ne peuvent être diffusés sans altérer leur signature DKIM quand c'est incompatible avec la politique du domaine d'origine
13/11/20167 DKIM Introduction d'une nouvelle methode d'authentification : il faut mettre à jour vos scénarios is_subscriber([sender],bannis) smtp,smime ->reject true() smtp,smime ->do_it,dkim
13/11/20168 DKIM Module cpan : Mail::DKIM page d'admin dkim
13/11/20169 DKIM Renseigner votre dns foo._domainkey IN TXT "v=DKIM1; g=*; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4G ADCBiQKBgQC5iqWI02GrmENqpBioC98b27RaabF2Z HyIE8bLSA2HqZvxfHFsKsiSAt1Vjj7fsV/ZqEqL 5bKd4EjZUaTYiXBDRKJVYWL+nRHrPn/cFyCFIza AzODLJt8jEXkc2bMtRKp+uJjcpbH/r7Z4suUV1H jymCIfk5RGKkDHPoOpBznEFQIDAQAB" _adsp._domainkey IN TXT "dkim=unknown"