Guest Blog

Aller au contenu | Aller au menu | Aller à la recherche

dimanche, octobre 9 2011

Update roundcube 0.5.4 vers la version 0.6

Depuis un peu plus d'une semaine la version 0.6 de roundcube est sorti avec son lot d'amélioration :

  • Automatisation de la mise à jour
  • Support de Memcache
  • Normalisation de la partie Contacts pard rapport aux champs VCARD . Vous pourrez également ajouter une photo de votre contact :) .

Comme dis plus haut il existe un script de mis à jour qui nous évite de nous fatiguer . Tout d'abord il faut légérement modifier le fichier suhosin.ini

  1. /*
  2. vi /etc/php5/cli/conf.d/suhosin.ini
  3. suhosin.session.encrypt = off
  4. /etc/init.d/apache2 restart
  5. */

Avant toutes choses n'oubliez pas de sauvegarder votre base de donnée et votre directory root de reoundcube . Donc après avoir téléchargé la derniére version et décompressé .

  1. /*
  2. ./bin/installto.sh /path/de/destination/
  3. */

Au final vous devez obtenir le résultat suivant (la sortie a été tronquée)

  1. /*
  2. Do you want me to fix your local configuration? (y/N)
  3. y
  4. . backing up the current config files...
  5. . writing /path/de/destination/config/main.inc.php...
  6. . writing /path/de/destination/config/main.db.php...
  7. Done.
  8. Your configuration files are now up-to-date!
  9.  
  10. Do you want to run the update queries to get the schmea fixed? (y/N)
  11. y
  12. Indexing contacts for user xxx ...done.
  13.  
  14. This instance of Roundcube is up-to-date.
  15. Have fun!
  16.  
  17. All done.
  18. */

En gros maintenant vous en avez pas pour plus de 1 minutes pour la mise à jour . Que du bonheur cette nouvelle version

  • Mon calendrier fonctionne enfin
  • La rubrique contact beaucoup plus fournit

mercredi, août 10 2011

Papa papa donne moi du SPAM

Mais qu'est ce que je raconte encore avec un titre pareil . Ne vous inquiétez pas on est pas sur aufeminin.com . Le but ici est de permettre à Spamassassin d'apprendre du SPAM par lui même (avec notre aide également) . Donc nous allons lui donner à manger :) . L'auto apprentissage du SPAM se fait par un filtre bayésien

Pour commencer il faut activer le filtre bayésien .

  1. /*
  2. vim /etc/spamassassin/local.cf
  3. bayes_auto_learn 1
  4. bayes_auto_learn_threshold_nonspam -3
  5. bayes_auto_learn_threshold_spam 12.0
  6. bayes_store_module Mail::SpamAssassin::BayesStore::SQL
  7. bayes_sql_dsn DBI:mysql:spamassassin:localhost
  8. bayes_sql_username nom_base
  9. bayes_sql_password mot_de_passe
  10. bayes_sql_override_username amavis
  11. */

- bayes_auto_learn_threshold_nonspam -3 : On lui file un peu de non-spam ou ham pour un tag inférieur à -3
- bayes_auto_learn_threshold_spam 10.0 : On lui file un peu dspam ou spam pour un tag supérieur à 12

Tu sais quand même créer une BDD et mettre les droits dessus ?

Le fichier SQL à injecter dans votre base se trouve

  1. /*
  2. /usr/share/doc/spamassassin/sql/bayes_mysql.sql
  3. */

Vous devriez avoir ceci

  1. /*
  2. mysql> show tables;
  3. +------------------------+
  4. | Tables_in_spamassassin |
  5. +------------------------+
  6. | bayes_expire |
  7. | bayes_global_vars |
  8. | bayes_seen |
  9. | bayes_token |
  10. | bayes_vars |
  11. +------------------------+
  12. */

Dans la table "bayes_vars" les champs "spam_count | ham_count" afin de déterminer le nombre de spam et de ham appris . Par défaut l'apprentissage est fonctionnel quand le nombre de spam et ham sont supérieurs à 200.
Vous pouvez bien-sur modifier ces valeurs

  1. bayes_min_ham_num
  2. bayes_min_spam_num

Pour terminer un petit script pondu rapidement . Chaque utilisateur pourra glisser dans un répertoire (pour moi il s'agit de SPAM) les mails qu'ils déterminent comme non-sollicités.

  1. /*
  2. #!/bin/bash
  3. #
  4. # Ce script permets de faire spamassassin apprendre le spam et le mettre en base de donnee
  5. #
  6.  
  7. usage ()
  8. {
  9. echo "Usage :syntaxe : $0 [options]
  10. --spam auto apprentissage des spams qui se trouvent dans les directory .SPAM
  11. --delete Pour la suppression des spams de plus de 7 jours
  12. Exemple : $0 --spam
  13. Exemple : $0 --delete "
  14. exit 1
  15. }
  16.  
  17. #Recherche des répertoires SPAM
  18. directoryspam=`find /var/vmail/ -type d -name .SPAM > /tmp/directoryspam.log `
  19.  
  20.  
  21. spam() {
  22. for learn in $(cat /tmp/directoryspam.log) ;
  23. do
  24. sa-learn --spam --dir "$learn"/cur/ ;
  25. done
  26.  
  27. }
  28.  
  29. #Suppression des spams de plus de 7 jours
  30. delete() {
  31.  
  32. for delete in $(cat /tmp/directoryspam.log) ;
  33. do
  34. find "$delete"/cur/ -type f -mtime +7 | xargs rm ;
  35. done
  36. }
  37.  
  38. case "$1" in
  39. --spam )
  40. spam
  41. ;;
  42.  
  43. --delete )
  44. delete
  45. ;;
  46. *)
  47. usage
  48. ;;
  49. esac
  50. */

Quand spamassassin sera capable d'apprendre par lui même d'après les paramètres que nous avons mis plus haut on pourra voir dans les headers

  1. /*
  2. X-Spam-Score: 2.045
  3. X-Spam-Level: **
  4. X-Spam-Status: No, score=2.045 tagged_above=-9999 required=5.3
  5. tests=[HTML_IMAGE_ONLY_16=1.048, HTML_MESSAGE=0.001,
  6. MPART_ALT_DIFF=0.724, RCVD_IN_DNSWL_LOW=-0.7, SPF_SOFTFAIL=0.972]
  7. autolearn=no
  8.  
  9. X-Spam-Score: -9.9
  10. X-Spam-Level:
  11. X-Spam-Status: No, score=-9.9 tagged_above=-9999 required=5.3
  12. tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
  13. HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001,
  14. USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
  15.  
  16. */

On peut remarquer le champs autolearn

Il suffit après de mettre en place une tâche cron .
Un peu de documentation ici

jeudi, juin 9 2011

Re-ecriture d'adresses avec postfix

Il est parfois utile de ré-écrire votre mail from afin qu'il soit plus présentable , dans votre boite mail ou dans les boites de vos clients .
Exemple vous n'avez pas besoins que vos destinataires sachent que c'est root qui lui a envoyé un mail .

Pour parvenir à nos fins nous allons utiliser la table canonique . Par défaut postfix ne fais pas de ré-écriture d'adresse .

Afin d'activer la ré-écriture d'adresse on modifie le fichier main.cf en conséquence.

  1. /*
  2. sender_canonical_maps = hash:/etc/postfix/sender_canonical
  3. recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
  4. */
  • sender_canonical_maps : Ré-écriture d'adresse pour le mail from
  • recipient_canonical_maps : Ré-écriture d'adresse pour le rcpt to

Notre fichier ressemble à ceci

  1. /*
  2. vim sender_canonical
  3. root no-reply-monserveur@tld.com
  4. www-data no-reply-www-monserveur@tld.com
  5. */

Créer le hash du fichier

  1. /*
  2. postmap /etc/postfix/sender_canonical
  3. */

Un petit reload et vous pouvez faire un test .

- page 1 de 6