Sans détour

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

Ça m'énerve !!!

Aujourd’hui chers lecteurs,

Bien que je ne post que très rarement sur ce blog maintenant, je vais vous présenter une suite de billets que voici dès maintenant :

Je n’ai pas la prétention de me prendre pour un professionnel, de nombreuses fois j’ai rencontré et aidé des gens bien moins précis que moi sur le sujet mais moi-même je n’ai jamais été contre un peu d’aide, prêt à en apprendre plus, quand je bloquais sur un sujet qui me paraissais difficile.

Alors je n’ai pas pour habitude de descendre le premier venu lorsque qu’il dit une bêtise. Surtout qu’en à la base, cela part d’une bonne initiative, mais je dois dire qu’un ramassis de conneries, telles que j’ai pus en lire tout au long de ces trois articles, me fait bondir !

En extrait pour mémoire :

INTRO / CONTEXTE

Le PHP est un langage web qui permet de faire des sites web dynamiques. (…)
C’est souvent le langage de programmation sur lequel démarrent beaucoup de programmeurs autodidactes. Quand on lit ca, on peut se dire « Chouette ! C’est cool PHP on peut programmer simplement pleins de trucs trop biens ! Si je m’y mettais ?! ». D’un coté, c’est pas faux, vous allez nous coder un super site tout moche parcque vous savez pas utiliser Photoshop. D’un autre coté, vous allez surement coder un site bourré de failles de sécurité. (…)
Et oui, les sites PHP sont souvent bourrés de faille car les programmeurs débutants n’ont souvent pas de connaissance en programmation sécurisée. Si c’est vous à titre personnel, vous vous ferez démonter votre site perso et (…)
vous allez venir vous plaindre à votre hébergeur car il n’a pas sécurisé son serveur alors que c’est votre code qui est pourri. Et ca, ca m’énerve.

LES CONSEILS

Tout d’abord, lorsque vous installez un serveur web, il est fortement recommandé d’installer la version Suhosin. Il s’agit d’une version de PHP qui a été patchée pour réparer des failles de sécurités connues (…)
Ensuite, il faut avoir une version PHP à jour. (…)
La configuration de PHP peut largement influer sur la sécurité du serveur web. Il existe de nombreuses fonctionnalités de PHP qui permettent de faire des choses intéressantes pour le développeur mais très inquiétant pour l’administrateur système. (…)
Tout d’abord, la directive fopen est une directive qui devrait être désactivée par défaut. (…)
Ensuite, si un de vos clients a besoin de la directive fopen, car elle peut quand même être utile… Il parait. Vous allez donc devoir restreindre l’accès aux fichiers ce qui est possible dans PHP via la directive open_basedir. Grâce à cette directive, vous allez donc contraindre vos clients à ne pas sortir de leur répertoire. Il est également généralement recommandé de désactiver la directive register_globals mais je ne suis pas capable de justifier pourquoi. Je sais juste qu’il s’agit d’une option qui n’est plus d’actualité dans les versions de PHP d’aujourd’hui.

Je vous laisse la joie de lire ces articles dans leur intégralité et peut-être mes commentaires s’ils restent en place.

Moi ça m’énerve (pour reprendre les mots de l’auteur) de lire des choses comme ça !

Les débutants n’ont pas besoin de lire de telles bêtises et c’est dégradant pour les professionnels travaillant du mieux qu’il peuvent que de voir quelqu’un dire : pour sécuriser votre bécane, il faut désactiver cela, je ne sais pas trop à quoi cela sert mais c’est mieux. Moi ça me fait sortir de mes gonds.

Oseras-tu défier ma brute ?

Un petit post pour changer et pour ceux qui ne connaîtrait pas encore : tout est dans le lien

Oseras-tu défier ma brute ?

Courier-imap : IMAP_EMPTYTRASH ne fonctionne pas ?

Depuis quelques temps déjà j'observe que l'espace disponible sur le disque dur de mon serveur diminue et diminue... Normal ? Oui mais... pas à ce point.

Je me décide à aller enquêter, la première étape étant de trouver le coupable (si il y a un), je me lance. À grand coup de du -hcs * en partant de la racine je remonte petit à petit vers ce qui occupe le plus de place sur le disque.

Sans surprise, j'arrive jusqu'au dossier /var/mail... qui contient toutes les boites emails du serveur (non c'est vrai ?).
Normal en même que ce dossier soit énorme mais les boites on des tailles énormes surtout certaines qui me font grincer des dents : 486 Mo pour une centaine de mails c'est beaucoup trop !

Alors je vais bien évident voir ce qui occupe toute cette place et à ma grande surprise je découvre que tous les mails supprimés... ne sont pas supprimés ! Les emails marqués pour suppression (en imap) sont très facile à identifier puisqu'il sont marqué d'un T à la fin du nom du fichier.

Alors pourquoi les emails supprimés ne le sont plus ? Il l'était bien avant. Un petit check de ma configuration de courier-imap s'impose.
Tout d'abord les emails marqués comme supprimés doivent aller dans la corbeille IMAP_MOVE_EXPUNGE_TO_TRASH=1 ça c'est ok.
Ensuite la purge de la corbeille : IMAP_EMPTYTRASH=Trash:7 c'est ok aussi.

Alors pourquoi le bouzin bouzine pas bien ? Dans le fichier de configuraton de courier-imap on lit bien que pour purger la corbeille, la date CTIME des emails est vérifié plutôt que la date ATIME. Soit, allons de ce pas vérifier la date de ces emails supprimés qui jouent aux revenants. Un petit ls -l --time=ctime ou ls -lc m'indique très rapidement que tous les fichiers du répertoire (en l'occurrence .Trash/cur/) ont la même date CTIME et cette date c'est aujourd'hui... plus précisément très tôt ce matin.

Comment ce fait-ce ? Je googelise à propos de courier-imap - que j'estime coupable à ce moment là - sans rien trouver de génial dans les mailings-list à part que pas mal d'autre courrier-imapeur qui se plaignent du même problème et pas vraiment de solution visiblement sauf pour ceux qui utiliseai rsync qui modifierai la date CTIME des fichier rsyncé.



Alors moi je ne pratique pas le rsync sur mon dossier mail puisque je backup via FTP je tar. La cause rsync est donc exclue... Mais si c'était tar ? Puisque Rsync créer bien le problème pourquoi pas un simple tar. En même temps ça se saurait, et puis pas possible j'ai mis tous les --preserve-truc qui était existant dans le man - tu sais genre mode parano-bourrin.

Dans le doute je test quand même ma commande de backup... Et paf ! Oh surprise qu'elle ne fut pas, un tar modifie la date de modification des fichier tarés marquer pour suppression qui ne sont pas supprimés (vous suivez ?) Je googlize pour trouver pourquoi tar modifie la date CTIME et rien de rien. Je fouille dans le man de tar pour trouver un --preverve-ctime ou option du genre que je n'aurais pas vu... Et c'est le néant.

Alors je me dit que c'est quand même mal fichu, qui va falloir que je trouve une autre solution de backup ou faire un cp avant qui lui préserve la date ctime et puis que c'est quand même bizarre que tar modifie le CTIME du fichier taré et que ça ne soit pas plus connu que ça visiblement. Alors je test encore tar mais avec un tar -czf tout simple sans option au lieu de ma commande de backup qui ressemble plus à tar -–cz -preserve -–atime-preserve -–exclude..... -f ..... et quel fut mon bonheur de voir que là, avec un tar tout simple, la date de mofication des fichiers (CTIME) n'était pas modifiée. Conclusion simple et rapide : J'ai une option dans mon tar qui ne preserve pas la date de modification et ironie du sort c'est l'option --atime_preserve qui est coupable. En tentant de préserver la date ATIME, tar modifie la date CTIME. sans l'option --atime-preserve c'est l'inverse et si vous voulez préserver les deux... bien je m'en moque parce que la moi je veux que juste que le CTIME soit préservé l'option --atime-time était mise que parce que ça faisait pro de la mettre et que j'avais envie.

Conclusion : Supprimer le --atime-preserve - vos emails (en imap) seront bien purgés et vous économiserez quelques gigas octets qui vous seront sûrement bien utile.

Moralité : Less is more* !!

*ou less is better, je ne sait pas laquelle est l'originale.

EDIT : IMAP_MOVE_EXPUNGE_TO_TRASH=1 Ne déplace pas dans la corbeille les messages marqués comme supprimés mais déplace dans la corbeillle les messages réellements supprimés (purgés).

- page 3 de 24 -

Thème Time Flies par David Yim