Archives de catégorie : Vie de FUNIX

Partager une machine virtuelle windows 7 avec VirtualBox

J’utilise une machine virtuelle windows 7 sous Linux avec VirtualBox, j’ai installé dessus une licence Office et les Sims 4 comme on peut le voir sur cette vue.

maintenant j’ai plusieurs utilisateurs sur mon poste Linux et je souhaite qu’ils aient accès également à la même machine virtuelle. Cela évite de créer des machines doublons, je ne sais pas trop comment ce comporte les licences avec plusieurs images de machine virtuelle et au final ça prend plus de place.

La solution est d’utiliser sudo, les utilisateurs lancent VirtualBox via sudo avec les droits de l’utilisateur initial. Il a fallu régler certains problèmes comme le son par exemple. En effet, en lançant VirtualBox avec les droits de mon utilisateur initial, on ne peut plus accéder au serveur de son pulseaudio. Au final, j’ai dû lancer pulseaudio en mode system wide, c’est mal, mais ça marche !

Pour le reste, j’ai mis à jour ma page sur l’émulation et la virtualisation.

Tutoriel vidéo effets rotoscoping et chroma key avec kdenlive

Voici mon dernier tutoriel en date concernant le logiciel de montage vidéo kdenlive, c’est une présentation de l’utilisation des effets rotoscopie (rotoscoping en anglais) et clé chromatique (chroma key). Le premier effet permet de relever le contour d’un objet ou personnage d’une scène image par image pour l’incruster ensuite dans une autre séquence. Le deuxième effet permet de jouer avec un fond vert et d’incruster automatiquement un objet ou un personnage dans une scène quelconque.

Ce n’est sans doute pas très parlant, l’image ci-dessous de la vidéo permettra de mieux comprendre.

J’ai utilisé l’effet rotoscopie pour faire apparaître le génie, l’effet clé chromatique permet de placer l’ensemble sur un fond de désert.

J’ai utilisé la dernière version de kdenlive, la 16.12.2, j’en ai profité pour tout recompiler en utilisant les outils pour utiliser toute la puissance de mon GPU Nvidia avec CUDA pour le traitement en parallèle et OpenCL (pour le traitement parallèle entre le GPU et les multi coeurs de la  CPU) entre autres. Je n’ai pas encore le recul suffisant pour me rendre compte de l’évolution des performances notamment lors du montage vidéo. Seul bémol, maintenant melt plante (segmentation fault), je suis obligé de retirer frei0r, c’est ennuyeux car ce sont autant d’effets que je perds sous kdenlive, mais je n’ai pas dit mon dernier mot.

J’ai mis à jour les pages correspondantes sur mon site FUNIX.

Baliser (taguer) automatiquement ses fichiers MP3

Il y a quelques temps dans un précédent post j’avais présenté MusicBrainz Picard qui permet de taguer proprement des fichiers audio MP3. Cela consiste à marquer correctement dans le fichier les informations sur l’artiste, le titre, l’album et même rajouter une photo de l’album. Ce type d’information standardisé apparaît ensuite sur le lecteur audio quel qu’il soit. En anglais on parle de TAG et en français de balise, même si on a tendance plutôt à utiliser le terme anglais quitte à employer le barbarisme taguer plutôt que baliser.

Mais revenons à notre sujet, les fichiers MP3 peuvent avoir différentes origines et ne sont pas donc balisés toujours proprement. D’où l’intérêt d’un outil comme Picard qui permet de traiter des lots de fichiers musicaux.

Il les traite de deux manières, tout d’abord pour chaque fichier à partir de ses balises d’origine, il va identifier dans sa base de donnée  une piste d’album et libre à nous ensuite de mettre à jour les balises et d’y rajouter la photo de l’album. La deuxième méthode consiste à calculer l’empreinte musicale du fichier (acoustid fingerprint) et trouver une empreinte similaire dans la base de picard et rattacher ainsi le fichier d’origine avec la piste de l’album qui correspond à l’empreinte.

Pour les fichiers qui n’ont pas été trouvés par une des deux méthodes précédentes, il reste à les rechercher directement sur le site. Il existe ainsi une interaction entre le navigateur et Picard qui permet d’identifier et de baliser les fichiers. Dans Picard on sélectionne le fichier non trouvé, ça nous renvoie automatiquement sur la page du navigateur avec une liste de pistes similaires, on choisit notre piste, on clique sur TAGGER dans le navigateur et le tour est joué !

Il peut exister des faux positifs ou des fichiers rattachés à des compilations généralistes qu’on préfèrerait rattachés aux albums de l’artiste. On peut également les traiter de manière indépendante et rechercher des pistes similaires et trouver son bonheur.

Il m’a semblé utile de créer une page correspondant sur mon site Funix avec moult détails et copies d’écran. Comme la page sur les outils multimedia commençait à devenir un peu trop conséquente, je l’ai scindée en deux, on trouvera donc une page sur les outils audio divers (lecteurs audio, outils karaoke et baliseur Picard) et une autre page consacrée au mediacenter Kodi.

Passer en connexion chiffrée avec OpenLDAP et un serveur web Apache

Après être passé en connexion chiffrée avec SSL/TLS sur mon serveur perso dovecot de distribution de mail, ainsi que sur mon serveur sendmail de récupération et d’envoi de mail, il me restait à m’occuper de mon serveur d’authentification basé sur OpenLDAP et de mon serveur web Apache local.

C’est chose faite à présent. Pour OpenLDAP ça se fait en deux étapes, il faut d’abord créer un certificat pour le serveur et activer les connexions chiffrées (voir par ). Ensuite pour l’authentification utilisateur, il faudra sur les clients modifier la configuration du serveur nslcd pour forcer la connexion chiffrée (voir par ici). Pour le serveur web Apache, il faut également créer un certificat et modifier la configuration d’Apache pour activer la possibilité de se connecter via SSL/TLS, à voir par .

Inconvénient de la méthode, en théorie un certificat doit être certifié par une autorité qualifiée de certification (en anglais CA pour Certificate Authority en anglais). Le CA est un tiers de confiance qui d’authentifier l’identité des correspondants, ça évite ainsi de tomber  dans un chausse trappe et de protéger l’échange de ses données. Or c’est une démarche qui n’est pas gratuite, de fait en créant dans son coin son infrastructure à clés publiques (Public Key Infrastructure PKI en anglais) et en générant un certificat,  en l’auto signant, il ne vaut pas grand chose sur internet et il faudra l’accepter ensuite comme une exception de sécurité.

Ça peut le faire sur un réseau privé car on maîtrise ce que l’on fait, mais c’est plus gênant si le service concerné est accessible d’internet. Il existe néanmoins des autorités qui délivrent gratuitement des services, pour un serveur web il existe Let’s Encrypt. La création du certificat se fait de manière simple en lançant un script dans un shell. Let’s encrypt ne gère pour l’instant que les certificats de serveur web. Sinon il existe selso.com et startssl.com. Pour le premier, je suis un peu dubitatif, le site a l’air vieillot, limite abandonné et quand on va sur une page sécurisée, le certificat n’est plus valide et il faut accepter une exception de sécurité ! Ça fait pas très sérieux, le deuxième a l’air plus convainquant.

Problème d’accent suite passage à PHP5.6

En cours de toilettage de mon site FUNIX, j’ai supprimé la section réseau qui était vraiment très obsolète et je n’ai vraiment plus le temps de la mettre à jour et de la maintenir, elle est encore accessible néanmoins via la carte du site. J’ai toiletté également ma section UNIX qui elle est encore pleinement d’actualité, il faut dire que globalement l’administration d’un système a assez peu évolué en plusieurs décennies, on retrouve les mêmes commandes. C’est surtout la partie environnement graphique qui a le plus évolué.

J’ai souhaité rajouter le flux RSS de mon blog sur la page d’accueil. On trouve sur le net du code PHP à intégrer dans le code HTML de la page. Cela donne cela :

[pastacode lang= »php » manual= »%3C%3Fphp%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if(!%40%24fluxrss%3Dsimplexml_load_file(‘http%3A%2F%2Folivier.hoarau.org%2F%3Ffeed%3Drss2’))%7B%20throw%20new%20Exception(‘Flux%20introuvable’)%3B%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if(empty(%24fluxrss-%3Echannel-%3Etitle)%20%26%26%20empty(%24fluxrss-%3Echannel-%3Edescription)%20%26%26empty(%24fluxrss-%3Echannel-%3Eitem-%3Etitle))%20throw%20new%20Exception(‘Flux%20invalide’)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24i%3D0%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24nb_affichage%20%3D%204%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20foreach(%24fluxrss-%3Echannel-%3Eitem%20as%20%24item)%7B%0A%09%09%09echo%20’%3Ca%20href%3D%22′.(string)%24item-%3Elink.’%22%3E’.(string)%24item-%3Etitle.’%3C%2Fa%3E%3C%2Fbr%3E’.(string)%24item-%3Edescription.’%3C%2Fbr%3E%3Ci%3Epubli%C3%A9%20le’.(string)date(‘d%2Fm%2FY’%2Cstrtotime(%24item-%3EpubDate)).’%3C%2Fi%3E%3C%2Fbr%3E%3C%2Fbr%3E’%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if(%2B%2B%24i%3E%3D%24nb_affichage)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%09%09%09%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20catch(Exception%20%24e)%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20echo%20%24e-%3EgetMessage()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%3F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E » message= » » highlight= » » provider= »manual »/]

Or mon site FUNIX hébergé en mutualisé chez online.net tourne encore en PHP4 qui ne reconnait pas la commande simplexml_load_file. Heureusement, via la commande d’administration on peut le faire évoluer vers les versions 5.5, 5.6 et même 7. Pour éviter une marche trop haute, j’ai choisi de migrer vers la version 5.6 et là catastrophe, tous les accents étaient en vrac. Toutes les solutions trouvées sur internet pour forcer le jeu de caractères par défaut (charset) de UTF-8 vers celui utilisé par mes pages, à savoir le ISO-8859-1, n’ont pas fonctionné. J’étais donc quitte pour modifier une à une toutes mes pages !

Fort heureusement, et c’est bien un des gros atouts d’une système UNIX, il existe les scripts bash, il m’a fallu à peine quelques minutes pour régler le problème. Tout d’abord j’ai appliqué sur mes pages le script suivant qui permet de convertir les caractères du jeu de caractère ISO-8859-1 vers UTF-8 :

[pastacode lang= »markup » manual= »%23!%2Fbin%2Fbash%0Afind%20.%20-name%20%22*.php%22%20-o%20-name%20%22*.htm*%22%20-exec%20sh%20-c%20%22(%20%5C%0A%20%20%20iconv%20-f%20ISO_8859-1%20-t%20UTF-8%20%7B%7D%20-o%20%7B%7D.iconv%20%3B%20%5C%0A%20%20%20mv%20%7B%7D.iconv%20%7B%7D%20%3B%20%5C%0A)%22%20%5C%3B » message= » » highlight= » » provider= »manual »/]

Ensuite il a fallu modifier l’indication de charset dans les pages html et php avec le script suivant :

[pastacode lang= »markup » manual= »%23!%2Fbin%2Fbash%0Afor%20file%20in%20*.htm*%0Ado%0A%20%20echo%20%22Traitement%20de%20%24file%20…%22%0A%20%20sed%20-i%20-e%20%22s%2FISO-8859-1%2FUTF-8%2Fg%22%20%22%24file%22%0A%20%20sed%20-i%20-e%20%22s%2Fiso-8859-1%2FUTF-8%2Fg%22%20%22%24file%22%0Adone%0Afor%20file%20in%20*.php%0Ado%0A%20%20echo%20%22Traitement%20de%20%24file%20…%22%0A%20%20sed%20-i%20-e%20%22s%2FISO-8859-1%2FUTF-8%2Fg%22%20%22%24file%22%0A%20%20sed%20-i%20-e%20%22s%2FISO-8859-1%2FUTF-8%2Fg%22%20%22%24file%22%0Adone%0A » message= » » highlight= » » provider= »manual »/]

Et le tour est joué.

Shoot’em up Warsow et Unvanquished

Même si je ne suis pas un amateur du genre, j’ai installé la dernière version de Warsow. C’est un lointain descendant du jeu Doom qui a été longtemps une référence dans le domaine des Shoot’em up, c’es le genre de jeu où on tire sur tout ce qui bouge dans une sorte de labyrinthe peuplé de créatures infâmes et de guerriers qui veulent vous faire la peau. Je l’avais installé il y a de cela pas mal d’années, et quel progrès ! C’est vraiment super abouti, avec des beaux graphismes, des belles textures, une grande fluidité et toujours cette possibilité de jouer en réseau en duel ou par équipe.

Bien sûr quand on débute, on a du mal à trouver ses repères et on se fait dézinguer très rapidement, d’autant que cela va très, très vite, on voit vraiment que certains doivent y passer des heures. Malgré cela j’ai réussi à en zigouiller un, il était peut être de ma propre équipe !

Pour aller plus loin, c’est par ici.

Dans le même genre, il existait Tremulous qui est visiblement un projet mort mais il existe maintenant Unvanquished qui en est un fork. C’est le même principe, mais cette fois-ci on est également des aliens, on peut même faire partie de l’équipe des aliens ! Voilà ce que ça donne :

là je suis en très mauvaise posture

pour aller plus loin, c’est par .

Lutter contre le spam referrer avec awstats

J’exploite les logs de mes domaines hoarau.org et funix.org hébergés avec online (hébergement mutualisé) avec awstats. Toutes les nuits, cron récupère les fichiers log d’Apache sur un serveur ftp et je lance l’analyse avec webalizer et awstats comme expliqué par .

La page des referrers est polluée par des SPAM qui la rend inexploitable et c’est assez pénible. En fait c’est une technique des spammeurs qui font des requêtes pour que le site à promouvoir apparaisse dans la liste et ainsi cela améliore son positionnement sur les moteurs de recherche en multipliant les liens. Encore faudrait-il que cette page soit visible sur internet, ils peuvent également espérer qu’un administrateur clique sur un lien.

Il y a plusieurs techniques pour lutter contre ça, l’une d’entre elles est de leur bloquer l’accès au site avec un bon vieux .htaccess à la racine. Ce n’est pas forcément l’idéal car ça engendre un temps de traitement et ça peut ralentir l’accès au site. J’opte plutôt pour la technique en temps différé pour faire le ménage avec awstats. Pour cela il faut activer la variable suivante

SkipReferrersBlackList= »/etc/awstats/blacklist.txt »

avec un fichier blacklist.txt qu’on trouvera dans l’arborescence d’awstats mais qui date un peu. Alors  par ici on trouvera une blacklist nettement plus récente. Dans ce fichier, d’après mes tests il semblerait que la première partie qui commence par des RewriteCond ne serve à rien pour awstats, elle n’est utile que si vous filtrez le SPAM referrer avec un .htaccess. Ce n’est que la seconde partie qui est réellement utile et qui fonctionne avec awstats,

Continuer la lecture de Lutter contre le spam referrer avec awstats

Connexion chiffrée avec un serveur de mail sur internet

Dans le post précédent on a vu comment chiffrer la liaison entre le serveur de mail local et les postes clients du réseau local, avec dovecot pour la récupération des mails et sendmail pour l’envoi de mail. Mais qu’en est-il de l’envoi ensuite vers internet en émission avec SMTP et en réception avec POP ?

Commençons par la réception, il faut d’abord bien sûr que votre fournisseur de service mail dispose d’un serveur POP avec option de chiffrement TLS/SSL. Jusqu’à présent j’utilisais fetchmail qui tourne sur le serveur de mail local, récupère les mails de tous les utilisateurs du réseau local sur internet et en assure la distribution dans les boîtes mail sous /var/spool/mail avec sendmail. Sauf qu’il semblerait que fetchmail ne sache pas gérer le chiffrement TLS/SSL avec comme MDA (mail delivery agent) sendmail. Du coup j’ai remplacé sendmail comme MDA par procmail et au final la commande fetchmail devient:

[pastacode lang= »markup » manual= »%2Fusr%2Fbin%2Ffetchmail%20–sslcertck%20-a%20-f%20%2Froot%2F.fetchmailrc%20-L%20%2Fvar%2Flog%2Ffetchmail.log » message= » » highlight= » » provider= »manual »/]

avec un fichier .fetchmailrc qui ressemble à ça (pour ne pas faire de pub, je suis chez online)

[pastacode lang= »markup » manual= »poll%20pop.online.net%20protocol%20pop3%0A%20user%20olivier.hoarau%40funix.org%20there%20with%20password%20password-fai%20is%20olivier%20here%0A%20option%20ssl%3B%0A%20mda%20%22mda%20%22%2Fusr%2Fbin%2Fprocmail%20-d%20%25T%22″ message= » » highlight= » » provider= »manual »/]

Passons maintenant à l’émission avec SMTP, là encore il faut que le fournisseur d’accès dispose d’un serveur SMTP sécurisé avec TLS/SSL. J’ai passé des heures à jouer avec la configuration de sendmail pour mettre en place le chiffrement de la connexion jusqu’à  que je me rende compte que la connexion était déjà chiffrée par défaut ! Et pour s’en convaincre il a suffit de lancer sendmail en mode verbeux pour voir les échanges entre mon serveur et le serveur de mon fournisseur d’accès:

sendmail -q -v

voilà le résultat

Continuer la lecture de Connexion chiffrée avec un serveur de mail sur internet

Client mail léger pour connexion sécurisée à distance

Toujours dans l’optique d’une connexion itinérante que j’évoquais dans ce post,  je configure actuellement mon serveur (nommé mana sur mon réseau) et mon portable Thinkpad x220 à cette fin. L’idée est que je puisse recevoir et envoyer mon mail en passant par mon serveur de mail sendmail qui est gréé pour pouvoir gérer les spams et autres virus via SpamAssassin et ClamAV. En attendant de réfléchir  à la mise en place d’un tunnel sécurisé entre le serveur et mon portable via le net, je suis passé à une connexion sécurisée sur la base de SSL/TLS entre les machines clientes de mon réseau et mon serveur pour l’envoi de mail. Jusqu’à présent les échanges de connexion et les mails transitaient en clair sur mon réseau perso sur le port classique 587 du serveur SMTP sendmail. Je suis passé à SMTP avec SSL/TLS et le port 465. A voir par ici cela passe par la création d’un certificat pour le serveur de mail. Alors bien sûr ce certificat n’est strictement valable que sur mon réseau perso et n’est pas valide sur internet, mais ça n’a pas d’importance pour mon usage.

Comme client de messagerie léger, j’ai pensé évidemment à mutt. Mutt est fait pour les geeks, il n’y a pas d’interface graphique et tout se passe en ligne de commande dans un shell, il n’est même pas nécessaire d’avoir un environnement graphique !

Continuer la lecture de Client mail léger pour connexion sécurisée à distance

Sécuriser un poste linux et monitorer un réseau

J’ai passé du temps ces derniers jours à mettre à jour mes pages sur la sécurité informatique autour de linux sur mon site Funix, il était temps, certaines n’avaient pas évolué depuis 8 ans !

La sécurité sous linux et plus généralement sur un réseau peut être vue sous différents angles:

  • tout d’abord la protection du poste en lui même en laissant tourner que le strict nécessaire, en privilégiant les services sécurisés et en installant un firewall, Tout cela est décrit dans cette page.
  • ensuite on peut installer un gestionnaire d’évènements de sécurité comme Prelude, qui va agréger tous les signaux et évènements du système et déclencher des alertes de sécurité, libre ensuite à l’administrateur de déclencher les actions qui vont bien. Ce système connu sous le terme de SIEM (Security Event Information Management) repose sur plusieurs sondes qui peuvent être implantées sur l’ensemble des postes du réseau et éléments actifs compatibles. A découvrir sur cette page. Concernant les sondes, certaines vont analyser les fichiers de logs, d’autres vont « écouter » le réseau en temps réel et détecter les tentatives intrusions, on parle également de NIDS (network Intrusion Detection System) comme snort ou suricata qu’on peut découvrir sur cette autre page.
  • pour sécuriser son réseau/poste encore faudrait-il connaître ses vulnérabilités, rien de plus simple ! Il existe des scanners de vulnérabilités, ils se basent sur des bases de données de vulnérabilités régulièrement mises à jour pour scruter les postes et faire leur reporting. A voir par avec des outils comme OpenVAS et nmap. Ces outils ont un but défensif et il est malheureux qu’ils puissent être également utilisés à des fins malveillantes et offensives.
  • la protection des données est un pan important de la sécurité, notamment lors des échanges sur internet. On peut donc chiffrer ses données et mail avec GnuPG et faire des connexions sécurisées via OpenSSH qui offre également un service de transfert de fichier sécurisé sFTP qui remplace avantageusement FTP.
  • même si sous linux on est beaucoup moins vigilant pour les virus qui envahissent le monde windows, il en reste pas moins qu’il en existe ! La séparation des privilèges de base sur un système linux avec les précautions évoquées ici pourront contenir le risque, néanmoins il n’est pas inutile d’installer un antivirus comme ClamAV.

Et pour terminer une copie d’écran du scanner de vulnérabilités OpenVAS qui est un fork libre de nessus.