diff --git a/Gemfile b/Gemfile index 18de20d..dab190c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,6 @@ source 'https://rubygems.org' gem 'jekyll-sitemap' gem 'jekyll', ">=4.2.0" -gem 'jekyll-paginate' gem 'rouge' gem 'redcarpet' gem 'racc' diff --git a/_config.yml b/_config.yml index 54a71ec..885d96f 100644 --- a/_config.yml +++ b/_config.yml @@ -1,40 +1,23 @@ name: "Quentin Dufour" -description: "Use toasters to decentralize the net" -meta_description: "Quentin Dufour. Use toasters to decentralize the net" - -shareurl: "https://quentin.dufour.io" -baseurl: "/" - -aboutPage: true - +author: 'Quentin Dufour' +url: 'https://quentin.dufour.io' +description: "Blog d'un ingénieur en informatique et libriste convaincu, avec du code, du linux, du système et du réseau." markdown: kramdown highlighter: rouge -paginate: 20 -domain_name: 'https://quentin.dufour.io' -url: 'https://quentin.dufour.io' - -# Details for the RSS feed generator -url: 'https://quentin.dufour.io' -author: 'Quentin Dufour' -authorTwitter: 'superboum' - permalink: /blog/:year-:month-:day/:title/ defaults: - - - scope: - path: "" # empty string for all files - type: pages - values: - layout: default - - - scope: - path: "" # empty string for all files - type: posts - values: - layout: post + - scope: + path: "" # empty string for all files + type: pages + values: + layout: default + - scope: + path: "" # empty string for all files + type: posts + values: + layout: post plugins: - - jekyll-sitemap - - jekyll-paginate + - jekyll-sitemap diff --git a/_layouts/default.html b/_layouts/default.html index 98ed678..dbc2819 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -2,11 +2,11 @@ - Quentin Dufour + {{ site.name }} - - - + + + diff --git a/_posts/.2018-04-22-bzhctf18.md.swp b/_posts/.2018-04-22-bzhctf18.md.swp deleted file mode 100644 index ddc17b2..0000000 Binary files a/_posts/.2018-04-22-bzhctf18.md.swp and /dev/null differ diff --git a/_posts/2012-05-06-rsoudre-vos-problmes-de-connexion-internet.md b/_posts/2012-05-06-rsoudre-vos-problmes-de-connexion-internet.md index 40b05c9..34fe038 100755 --- a/_posts/2012-05-06-rsoudre-vos-problmes-de-connexion-internet.md +++ b/_posts/2012-05-06-rsoudre-vos-problmes-de-connexion-internet.md @@ -2,11 +2,10 @@ layout: post slug: resoudre-vos-problemes-de-connexion-internet status: published -title: Résoudre vos problèmes de connexion internet +title: Optimiser son ADSL description: Prise téléphone, condensateur et court-circuits disqus: true -categories: -- internet +category: operation tags: --- @@ -14,16 +13,16 @@ tags:

Vous avez des problèmes avec votre connexion internet, divers bugs, du genre : "ma box plante", "Je perds ma connexion internet tous les soirs" ou encore "Mon débit est limité". Vous n'êtes pas le seul, j'ai également vécu cette situation. Voilà quelques solutions qui vous aideront (peut-être).

-

Ma connexion internet n'est pas stable

+

Ma connexion internet n'est pas stable

Vous perdez régulièrement votre connexion internet ? Le soir en particulier ? Il s'agit de pertes de synchronisations. Ces dernières proviennent en général de la mauvaise qualité de réception du signal. Soit de votre installation personnelle, soit de l'installation France Telecom. Dans le deuxième cas il ne reste pas grand chose à faire.

Il est préférable de brancher votre routeur sur la prise téléphonique principale de votre maison et de limiter au maximum les dérivations qui partent de cette dernière qui pourraient la parasiter.

Vérifiez d'abord votre prise téléphonique. Est-elle oxydée à l'intérieur ? Et les branchements fait dessus sont-ils correctement réalisés ? Votre prise ne nécessite que deux fils de branché, le blanc et le gris. Faites attention aux branchements qui en partent. Vous pouvez essayer en ne laissant que ces deux fils branchés.

[![Schéma prise téléphonique](/assets/images/posts/telephone-01.png)](/assets/images/posts/telephone-01.png) *Source : [Cablage prise de téléphone en T - josdblog](http://gurau-audibert.hd.free.fr/josdblog/2012/06/cablage-prise-telephone-en-t/)*

Faites attention à l'âge de votre prise, car les contacts entre la prise et la fiche sont très mauvais. Les connecteurs de la prise femelle sont trop souples, et si il ne sont pas absolument neufs et pas oxydés, vous tenez surement la cause de vos déconnexions intempestives !

-

Mon débit est limité (abonnés Orange uniquement)

+

Mon débit est limité (abonnés Orange uniquement)

Si votre débit est inférieur à celui auquel vous êtes éligible, il est peut-être bridé par un DLM (Dynamic Line Management) mis en place automatiquement par Orange. Ce dernier mesure la qualité de votre ligne, et si il considère qu'elle n'est pas assez stable, il bride le débit de votre ligne (entre autre). Si vous considérez que vous n'en avez pas besoin, vous pouvez formuler une demande afin que ce bridage soit retiré à partir de ce formulaire.

-

Compléments et sources

+

Compléments et sources

Informations sur les prises téléphoniques
Explication du DLM par Orange diff --git a/_posts/2013-01-08-tout-sur-les-serveurs-teeworlds-partie-1.markdown b/_posts/2013-01-08-tout-sur-les-serveurs-teeworlds-partie-1.markdown index 131bca4..038fdbf 100755 --- a/_posts/2013-01-08-tout-sur-les-serveurs-teeworlds-partie-1.markdown +++ b/_posts/2013-01-08-tout-sur-les-serveurs-teeworlds-partie-1.markdown @@ -2,11 +2,10 @@ layout: post slug: tout-sur-les-serveurs-teeworlds-partie-1 status: published -title: Créer un serveur Teeworlds (partie 1) +title: Créer un serveur Teeworlds description: Un serveur Teeworlds basique disqus: true -categories: -- reseau +category: operation tags: - teeworlds - jeu diff --git a/_posts/2013-07-11-installer-icescrum-7.markdown b/_posts/2013-07-11-installer-icescrum-7.markdown index 06575c4..380c784 100755 --- a/_posts/2013-07-11-installer-icescrum-7.markdown +++ b/_posts/2013-07-11-installer-icescrum-7.markdown @@ -4,9 +4,7 @@ slug: installer-icescrum-7 status: published title: Installer Icescrum description: Gestion de projet agile self-hosted -disqus: true -categories: -- web +category: operation tags: - projet - developpement diff --git a/_posts/2013-07-25-utiliser-casperjs.markdown b/_posts/2013-07-25-utiliser-casperjs.markdown index 8702de8..509efa2 100755 --- a/_posts/2013-07-25-utiliser-casperjs.markdown +++ b/_posts/2013-07-25-utiliser-casperjs.markdown @@ -2,11 +2,9 @@ layout: post slug: utiliser-casperjs status: published -title: CasperJS +title: Aperçu de CasperJS description: Du test fonctionnel au web scraping -disqus: true -categories: -- web +category: developpement tags: - projet - developpement @@ -33,11 +31,11 @@ casper.run(function() { ``` -##Fonction 1 +## Fonction 1 Ce script se charge de se rendre sur la page de connexion, vérifie le titre de la page puis entre un identifiant et un mot de passe et enfin valide. -##Fonction 2 +## Fonction 2 La seconde fonction vérifie que la page contient bien ce qui est attendu après la connexion. Ici, un titre h1 contenant le texte Tableau de bord. -##Fonction 3 +## Fonction 3 Enfin cette dernière fonction indique que le test est fini. Elle affiche les statistiques sur le test. diff --git a/_posts/2014-04-30-l2tp.markdown b/_posts/2014-04-30-l2tp.markdown index 3f5cd8b..7b235a6 100755 --- a/_posts/2014-04-30-l2tp.markdown +++ b/_posts/2014-04-30-l2tp.markdown @@ -2,11 +2,9 @@ layout: post slug: l2tp status: published -title: Tunnel L2TP +title: L2TP sur Linux description: Créer un tunnel avec la commande ip -disqus: true -categories: -- linux +category: operation tags: - projet --- diff --git a/_posts/2014-10-15-web.markdown b/_posts/2014-10-15-web.markdown index c6fdc0f..acdbfab 100755 --- a/_posts/2014-10-15-web.markdown +++ b/_posts/2014-10-15-web.markdown @@ -2,11 +2,9 @@ layout: post slug: web status: published -title: L'histoire des technos du web en 2 minutes +title: Un historique du web description: Aperçu rapide des lib et frameworks web -disqus: true -categories: -- web +category: developpement tags: --- diff --git a/_posts/2015-10-02-ansible.markdown b/_posts/2015-10-02-ansible.markdown index ee1e78a..ee42d37 100644 --- a/_posts/2015-10-02-ansible.markdown +++ b/_posts/2015-10-02-ansible.markdown @@ -2,11 +2,10 @@ layout: post slug: ansible status: published -title: Automatisez votre déploiement avec Ansible +title: Automatiser avec Ansible description: Un fichier pour les gouverner tous disqus: true -categories: -- web +category: developpement tags: --- diff --git a/_posts/2015-10-09-dns.markdown b/_posts/2015-10-09-dns.markdown deleted file mode 100644 index 08f2e2a..0000000 --- a/_posts/2015-10-09-dns.markdown +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -slug: dns -status: draft -title: Comprendre et utiliser les noms de domaine -description: Donnez un petit nom à votre adresse IP -categories: -disqus: true -tags: ---- - -Les noms de domaine, ou domain name sont utilisés de manière intensive sur internet. Ils sont définit à travers le protocole DNS, pour Domain Name System. - -## À quoi ça sert ? - - - -## Comment ça fonctionne ? - -## Et concrètement, comment ça marche ? - -## Mon adresse IP change tout le temps ! diff --git a/_posts/2015-10-13-h5ai-cve-postmortem.markdown b/_posts/2015-10-13-h5ai-cve-postmortem.markdown index b71858c..60a0de7 100644 --- a/_posts/2015-10-13-h5ai-cve-postmortem.markdown +++ b/_posts/2015-10-13-h5ai-cve-postmortem.markdown @@ -1,12 +1,11 @@ --- layout: post slug: h5ai-cve-postmortem -status: draft -sitemap: false -title: Faille dans h5ai, mon postmortem +status: published +sitemap: true +title: Une CVE dans h5ai description: Et maintenant l'attaque à l'indonésienne. -categories: -- sys +category: securite tags: --- @@ -20,19 +19,7 @@ J'ai découvert l'intrusion dans les règles de l'art : en me rendant sur l'inde ![Capture d'écran](/assets/images/posts/h5ai-index.png) -Je me connecte donc rapidement en SSH sur mon serveur, pour voir l'étendu des dégats. Nous sommes alors le vendredi 9 octobre. Les fichiers sont là depuis 24 septembre, soit 15 jours. Mazette, ça fait un bout de temps que personne n'est venu ici. Je désactive PHP (`sudo service php5-fpm stop`), m'empresse de regarder les logs nginx, de copier tout les fichiers incriminés dans un dossier ailleurs et de mettre à jour h5ai. - -Voilà les fichiers et dossiers que j'ai identifié comme malicieux : - -``` -drwxr-xr-x 2 www-data www-data 4,0K sept. 24 04:31 dm -drwxr-xr-x 2 www-data www-data 80K sept. 24 04:31 DM --rw-r--r-- 1 www-data www-data 2,1K sept. 24 04:53 index.html --rw-r--r-- 1 www-data www-data 105K sept. 24 04:54 pro_mailer.php --rw-r--r-- 1 www-data www-data 122K sept. 24 04:31 we.php -``` - -Dans dm et DM se trouvent des liens symboliques cassés. Il serait intéressant d'étudier le fonctionnement de we.php pour comprendre leur utilité. index.html est la page de revendication, we.php est une interface web (non protégée) pour controler le serveur, et pro_mailer.php est utilisé pour envoyer facilement du spam. +Je me connecte donc rapidement en SSH sur mon serveur, pour voir l'étendu des dégats. Nous sommes alors le vendredi 9 octobre. Les fichiers sont là depuis 24 septembre, soit 15 jours. Mazette, ça fait un bout de temps que personne n'est venu ici. Je désactive PHP (`sudo service php5-fpm stop`), m'empresse de regarder les logs nginx, de copier tout les fichiers incriminés dans un dossier ailleurs et de mettre à jour h5ai. J'ai pu identifier plusieurs fichiers et dossiers malveillants dans mon racine web. ## Informations sur la CVE @@ -52,9 +39,9 @@ Après cet épisode, on peut trouver un message bien discret sur le site de h5ai Pour ceux qui seraient intéressé par l'exploit, vous pouvez en trouver un sur [Exploit-DB](https://www.exploit-db.com/exploits/38256/). (Bien évidemment il est a utiliser uniquement pour tester votre installation...) -## Le fichier we.php +## Un RAT PHP -Le fichier we.php contient une interface, permettant de prendre le contrôle du serveur, et de nombreux outils. On citera, entre autres, la possibilité de naviguer dans les fichiers du serveur, d'executer des commandes, d'automatiser l'ajout d'un compte dans un Wordpress ou un Joomla, etc. +Le RAT PHP contient une interface, permettant de prendre le contrôle du serveur, et de nombreux outils. On citera, entre autres, la possibilité de naviguer dans les fichiers du serveur, d'executer des commandes, d'automatiser l'ajout d'un compte dans un Wordpress ou un Joomla, etc. On notera que le code n'est pas directement en clair dans le fichier, il est compressé en gzip puis converti en base 64. L'ensemble est ensuite décodé puis passé dans un eval qui va interpréter le code. @@ -62,9 +49,9 @@ On notera que le code n'est pas directement en clair dans le fichier, il est com On remarquera que la "team" qui a réalisé ce logiciel est indonésienne et se nomme "D'MASTERPIECE". -## Le fichier pro_mailer.php +## Le mailer -Le fichier pro_mailer.php quant à lui n'est pas obfusqué. Il est d'ailleurs écrit dans un PHP plus propre (en utilisant des classes). On remarquera le soin apporté au design... +Le fichier PHP du mailer quant à lui n'est pas obfusqué. Il est d'ailleurs écrit dans un PHP plus propre (en utilisant des classes). On remarquera le soin apporté au design... ![Capture d'écran](/assets/images/posts/h5ai-pm.png) @@ -72,13 +59,13 @@ Son seul objectif est d'utiliser le serveur email de la cible pour envoyer des e ## Retour sur l'attaque -Afin d'accéder au serveur, nos pirates revendiquant le nom de "Dragon Net" ont exploité la faille de sécurité dans h5ai pour envoyé trois fichiers : index.html (leur revendication), we.php et pro_mailer.php. +Afin d'accéder au serveur, nos pirates revendiquant le nom de "Dragon Net" ont exploité la faille de sécurité dans h5ai pour s'en servir comme base avancée pour des attaques (mailer et RAT). -Ils ont ensuite utilisé we.php pour fouiller dans les fichiers du site et uploadé différents fichiers, entre autre un `.ssh/known_hosts` (mais c'est tout côté SSH). +Ils ont ensuite utilisé le RAT pour fouiller dans les fichiers du site et uploadé différents fichiers, entre autre un `.ssh/known_hosts` (mais c'est tout côté SSH). -Ils se targuent de se contenter de publier leurs revendications. Et en effet, ils semblent n'avoir rien fait d'autre. Cependant, on peut supposer que leur intentions ne sont pas aussi louables qu'ils le prétendent : pourquoi ne pas avoir directement envoyé leur fichier index.html ? we.php et pro_mailer.php sont inutiles dans notre cas... +Sur leur défaçage, ils se targuent de se contenter de publier leurs revendications. Et en effet, ils semblent n'avoir rien fait d'autre. Cependant, on peut supposer que leur intentions ne sont pas aussi louables qu'ils le prétendent : pourquoi ne pas avoir directement envoyé leur fichier index.html ? Le RAT et le mailer semblent avoir été inutiles dans notre cas... -On notera d'ailleurs que la team ayant réalisé l'attaque n'est pas la même que celle qui a créé le fichier we.php ou encore pro_mailer.php. Il y a un marché pour tout... +On notera d'ailleurs que la team ayant réalisé l'attaque n'est pas la même que celle qui a créé les outils. Il y a un marché pour tout... Faute d'informations supplémentaires je suppose qu'ils ont prévu ces fichiers "au cas où" ils aient besoin d'un serveur. diff --git a/_posts/2016-01-15-arrivee-au-canada.md b/_posts/2016-01-15-arrivee-au-canada.md index 15ceb1c..6a0b95a 100644 --- a/_posts/2016-01-15-arrivee-au-canada.md +++ b/_posts/2016-01-15-arrivee-au-canada.md @@ -4,8 +4,7 @@ slug: arrivee-au-canada status: published title: Arrivée au Canada description: Et départ de France -disqus: true -categories: canada, voyage +category: divers tags: --- diff --git a/_posts/2016-01-17-premiers-jours-a-montreal.md b/_posts/2016-01-17-premiers-jours-a-montreal.md index 90b7673..30ef930 100644 --- a/_posts/2016-01-17-premiers-jours-a-montreal.md +++ b/_posts/2016-01-17-premiers-jours-a-montreal.md @@ -4,8 +4,7 @@ slug: premiers-jours-a-montreal status: published title: Premiers jours à Montréal description: Avec un soupçon de jet lag -categories: canada, voyage -disqus: true +category: divers tags: --- diff --git a/_posts/2016-04-19-quelques-bugs-etonnants.md b/_posts/2016-04-19-quelques-bugs-etonnants.md index 9859c5e..8bf5f00 100644 --- a/_posts/2016-04-19-quelques-bugs-etonnants.md +++ b/_posts/2016-04-19-quelques-bugs-etonnants.md @@ -2,10 +2,9 @@ layout: post slug: quelques-bugs-etonnants status: published -title: Quelques bugs étonnants +title: Florilège de bugs description: Et l'histoire qui va avec ! -disqus: true -categories: linux +category: operation tags: --- diff --git a/_posts/2016-05-19-prenons-du-recul.md b/_posts/2016-05-19-prenons-du-recul.md deleted file mode 100644 index 8fecbc0..0000000 --- a/_posts/2016-05-19-prenons-du-recul.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -layout: post -slug: prenons-du-recul -status: draft -sitemap: false -title: Prenons du recul -disqus: true -description: État d'urgence, manifestations, violences policières et casseurs -categories: -- politique -tags: ---- - - -Aujourd'hui, la France va mal, plus mal que jamais. Attentats, puis état d'urgence. D'abord temporaire, puis renouvelé une fois, deux fois, et peut-être la pour longtemps. Après tout, le plan vigipirate n'a jamais disparu, lui. Le chômage monte, on propose une réforme du code du travail, des manifestations éclatent, des rassemblements se créer. On ne comprend pas, ils n'ont pas de chef. Et puis ce sont des casseurs qui ne respectent rien. - -Cette petite musique des "catastrophes" quotidiennes on l'entend tous les jours sur TF1, France 2, France 3, BFM... Rien ne semble pouvoir les arrêter. Enfin si, on vous propose des solutions rassurantes. Plus de sécurité, plus de surveillance et plus de répression. Alors qu'attendons-nous ? A moins que... - -## A moins que les manifestations dégénèrent quand on le décide - -Comme introduction, je vais commencer avec les vidéastes de "Osons Causer". Ils se sont fait connaitre sur Youtube, et sont engagés dans le mouvement Nuit Debout. La vidéo suivante résume rapidement les paragraphes qui suivent : - - - -Sur Mediapart, il a été relevé plusieurs fois que les décisions prises à Rennes étaient incohérentes et menées à des débordements : - -> « C’est l’État qui organise l’escalade, juge un syndicaliste de Sud Santé, et ce par l’usage général et immodéré de la force. Sans raison, sur des gens tombés à terre. À l’hôpital de Rennes, on a eu un afflux de personnes blessées au visage. Et il y a une masse de gens qui ne veulent pas déposer plainte contre la police. » - -Source : [Il faut interdire à Bernard Cazeneuve de se manifester - Mediapart](https://www.mediapart.fr/journal/france/160516/il-faut-interdire-bernard-cazeneuve-de-se-manifester?page_article=2) - -Alexandre Langlois, secrétaire général de la CGT Police quant à lui annonce via des propos recueillis sur le site Reporterre : - -> Les ordres ne sont pas toujours adaptés, poursuit M. Langlois : « Encercler une foule, ça ne devrait plus exister. C’est dans les manuels et même les livres d’histoire : toutes les manifestations qui ont dérapé, c’est à cause de nasses dont les gens ne pouvaient plus sortir. » Mais là encore, la responsabilité des policiers est limitée, juge le syndicaliste, car « les collègues sur le terrain n’ont pas de vision d’ensemble. Si les donneurs d’ordres leur demandent de bloquer une rue, ils ne savent pas si toutes les autres rues sont bloquées. » - -Source : [Le dialogue inattendu entre policiers et manifestants de nuit debout - Reporterre](http://reporterre.net/Le-dialogue-inattendu-entre-policiers-et-manifestants-de-Nuit-debout) - -On ne pourra s'empêcher au [triste épisode la station de métro Charonne](https://fr.wikipedia.org/wiki/Affaire_de_la_station_de_m%C3%A9tro_Charonne), qui s'est déroulée le 8 février 1962. Les policiers avaient alors encerclés les manifestants, qui ont alors essayés de se réfugier dans les stations de métro. 8 personnes y ont trouvé la mort. - -Pour approfondir le sujet, Mediapart a organisé un débat sur les violences policières, avec entre autre des manifestants, des journalistes de Mediapart, et le secrétaire général de la CGT Police : - - - -## A moins qu'on laisse faire les casseurs - -On entend beaucoup parler des casseurs, et on aime faire l'amalgame avec les casseurs. Oui, mais ce n'est pas si simple... - -> Pour Alexandre Langlois, si on trouve « toujours des gens irresponsables », les principaux coupables sont « les donneurs d’ordres ». « Les groupes violents sont clairement identifiés avant les manifestations. Pourtant, rien n’est fait, dénonce-t-il. Parfois, nous voyons des manifestants s’équiper de casques et d’armes juste devant nous, et aucun ordre n’arrive. Le 8 avril, on a poussé la compagnie de CRS pour que des personnes violentes puissent rejoindre la place. Évidemment, le soir même, c’est parti en vrac. Après, tout ceci est instrumentalisé au niveau politique. - -Source : [Le dialogue inattendu entre policiers et manifestants de nuit debout - Reporterre](http://reporterre.net/Le-dialogue-inattendu-entre-policiers-et-manifestants-de-Nuit-debout) - -Au delà de la CGT, le syndicat majoritaire chez les forces de l'ordre, Alliance se pose des questions sur la gestion des évènements. Ce dernier étant pourtant connu pour être à droite, voire extrème droite. - -> Même le syndicat de police Alliance, qui appelle à manifester mercredi 18 mai place de la République « contre la haine anti-flics », commence à s’interroger sur les desseins de Bernard Cazeneuve. « L’État doit prendre ses responsabilités, ne pas nous laisser attendre des heures face à des casseurs identifiés, expliquait il y a quelques jours sur France Info le responsable de ce syndicat, Jean-Claude Delage. Je pense que ça vise aussi à discréditer le mouvement social et syndical parce qu’évidemment, lorsque des syndicalistes manifestent contre un texte et qu’il y a des casseurs qui cassent tout dans le quartier, que les riverains sont exaspérés et que la police ne peut pas rapidement intervenir, eh bien, ça discrédite aussi quelque part le mouvement social. » - -Source : [Il faut interdire à Bernard Cazeneuve de se manifester - Mediapart](https://www.mediapart.fr/journal/france/160516/il-faut-interdire-bernard-cazeneuve-de-se-manifester) - -Ce à quoi Mediapart proposera comme analyse : - -> Le ministre de l’intérieur peut en faire un calcul politique de court terme : « criminaliser » un large mouvement social en réduisant des dizaines de milliers de manifestants à quelques centaines de « casseurs », et décourager les opposants. Cela peut hypnotiser les journaux télévisés quelque temps… Mais à terme, ce pouvoir prend un risque majeur : celui d’un accident grave. - -Source : [Il faut interdire à Bernard Cazeneuve de se manifester - Mediapart](https://www.mediapart.fr/journal/france/160516/il-faut-interdire-bernard-cazeneuve-de-se-manifester) - -## A moins qu'on se trompe de problème - -Sur France Inter, la chroniqueuse Nicole Ferroni partage les différences de motivations entre un comissaire de police et un policier, ainsi que la précarité de ces derniers. - -> Après tout, c'est comme si on interviewait un ministre pour savoir si un français va bien. Ah on me dit que c'est ce que l'on fait déjà... - - - -## A moins que l'état d'urgence ne protège pas ceux que l'on imagine - -A travers leur épisode intitulé "L'état d'urgence, plus c'est long, moins c'est bon", Datagueule, émission diffusée sur France 4, dresse un bilan de l'état d'urgence. Ainsi, la plus part des perquisitions et arrestations ont été réalisées dans les premiers jours. Peu ont abouti, et depuis, elles semblent plus servir à passer des décrets arbitrairement. On notera par exemple l'interdiction de vente d'alcool dans certaines régions à une heure donnée, ou encore l'assignation à résidence de certains militants écologistes pendant la COP21. - - - -La quadrature du net, association ayant pour but de défendre les libertés des citoyens, a d'ailleurs [recensé toutes les dérives liées à l'état d'urgence](https://wiki.laquadrature.net/%C3%89tat_urgence/Recensement). - -## En conclusion - -Il est très tentant de tirer des conclusions hâtives, ce à quoi je ne me livrerai pas. Mais on peut sans nul doute se dire que certains casseurs ont pu se livrer à leurs actes car on ne les a pas empêché. Et que certains débordements ont eu lieu car les ordres données ont provoqué des réactions connues depuis longtemps auprès de la foule. Enfin, certaines bavures policières pourraient être dues à un manque de formation et épuisement des policiers. A cela vient s'ajouter des assignations à résidence et des perquisitions qui n'ont pas de lien manifeste avec l'état d'urgence qui l'autorise. C'est à partir de ces faits, qu'on peut légitimement s'interroger sur les objectifs des donneurs d'ordres. Se poser la question, c'est déjà voir les choses autrement... - -## A propos des sources - -Relancé en 2007, Reporterre est un journal en ligne sur l'écologie, créé par Hervé Kempf, ancien journaliste de Courrier International, Le Monde et la Recherche. - -Mediapart est un journal en ligne fondé par Edwy Plenel en 2008, qui était rédacteur en chef du Monde de 1996 à 2004. Mediapart a notamment publié les enquêtes sur Woerth-Bettencourt, Cahuzac ou plus récemment Denis Beaupin. - -France Inter, du groupe radio france est une radio française, et France 4 du groupe France Television est une chaine de télévision. diff --git a/_posts/2016-06-10-la-radioactivite.md b/_posts/2016-06-10-la-radioactivite.md deleted file mode 100644 index e311c45..0000000 --- a/_posts/2016-06-10-la-radioactivite.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: post -slug: la-radioactivite -status: draft -sitemap: false -title: La radioactivité -disqus: true -description: Ça se mange ? -categories: -- physique -tags: ---- - -Ce billet à pour but d'expliquer simplement et sans partie prenante ce qu'est la radioactivité.
-Est-ce que c'est bio ? -Est-ce dangereux ? -Est-ce que ça se mange ? -A quoi ça sert ? diff --git a/_posts/2016-06-10-sait-on-encore-construire-une-centrale-nucleaire.md b/_posts/2016-06-10-sait-on-encore-construire-une-centrale-nucleaire.md deleted file mode 100644 index 28a96bc..0000000 --- a/_posts/2016-06-10-sait-on-encore-construire-une-centrale-nucleaire.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: post -slug: sait-on-encore-construire-une-centrale-nucleaire -status: draft -sitemap: false -title: Sait on encore construire une centrale nucléaire ? -description: Et plus particulièrement un EPR ? -disqus: true -categories: -- physique -tags: ---- - -Cet article n'a pas pour but de relancer le débat sur le nucléaire mais plus à s'intéresser à son fonctionnement et son état actuel. diff --git a/_posts/2016-07-01-val-d-or.markdown b/_posts/2016-07-01-val-d-or.markdown index dfe98b3..9f9843c 100644 --- a/_posts/2016-07-01-val-d-or.markdown +++ b/_posts/2016-07-01-val-d-or.markdown @@ -5,8 +5,7 @@ status: published title: Excursion à Val d'Or description: Val d'Or est une petite ville minière du Québec disqus: true -categories: -- voyage +category: divers tags: --- diff --git a/_posts/2016-07-02-jenkins-pipeline.markdown b/_posts/2016-07-02-jenkins-pipeline.markdown deleted file mode 100644 index ca292dc..0000000 --- a/_posts/2016-07-02-jenkins-pipeline.markdown +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: post -slug: jenkins-pipeline -status: draft -title: Introduction aux pipelines Jenkins 2.0 -description: Ou comment automatiser la compilation de votre application à son déploiement. -disqus: true -categories: -- jenkins -tags: -- continuous delivery -- continuous integration -- jenkins -- pipeline -- jenkinsfile ---- - -## Pourquoi - -Eviter l'effet it works on my machines. - -## Comment - -Continuous Integration / Continuous Delivery - -## Blue Ocean - -## Le module Pipeline - -Anciennement Workflow Plugin - -## Construisons notre premier pipeline - -## Les ressources existantes - - * [Continuous Delivery et Pipeline sur Wikipedia](https://en.wikipedia.org/wiki/Continuous_delivery) - * [Tutoriel pipelines Jenkins](https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md) - * c diff --git a/_posts/2016-12-17-iperf.md b/_posts/2016-12-17-iperf.md deleted file mode 100644 index e70745d..0000000 --- a/_posts/2016-12-17-iperf.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -layout: post -slug: iperf -status: draft -sitemap: false -title: iperf -disqus: true -description: iperf -categories: -- monitoring -tags: ---- - - -# Monitorer votre connexion internet (1/?) - -## Connexion internet grand public : que mesurer ? - -Nous dirons qu'il y a trois points intéressants à mesurer quand il s'agit d'une connexion internet : - * La disponibilité (est-ce qu'internet marche) - * La bande passante (est-ce que je peux transférer beaucoup de données en un temps donné) - * La latence (est-ce que je peux transférer des données rapidement) - -Evidemment, il y a d'autres points plus ou moins liés qui sont aussi de bons indicateurs mais que je considère plus secondaire comme le drop de paquets, la marge aux bruits, etc. - -## La bande passante - -Dans cet article, on va s'intéresser uniquement à mesurer la bande passante disponible. -J'aborderai peut-être les autres points dans un article à part. - -La bande passante est toujours le premier élément que l'on mesure sur une connexion internet. -J'imagine que vous avez déjà du utiliser [speedtest](https://speedtest.net) ou le dernier né, l'outil de [netflix](https://fast.com). -Bien que ces outils donnent une bonne idée de la vitesse de la connexion, il est possible d'aller plus loin. - -Le principal problème est qu'on effectue une mesure à un instant donné sur un serveur donné. -Un des reproche souvent fait aussi et que les opérateurs pourraient prioritiser le traffic allant vers ces outils de mesure pour tromper les chiffres. -On est aussi tributaire du protocole HTTP qui peut-être prioritisé ou non selon les règles de ce dernier opérateur. - -De plus, le fournisseur d'accès passe des accords de peering. Ainsi, si certains accords sont insuffisants, certains sites peuvent être pénalisés. -On a donc tout intérêt de faire des tests sur plusieurs serveurs. - -Ensuite l'utilisation du réseau varie en fonction de l'heure de la journée, du jour de la semaine et même de la période de l'année. Faites un test à 5 heure de matin ou à 20h le soir, je parie que vous verrez la différence. Il faudrait donc faire des tests réfulièrements. - -On ajoutera aussi que le problème peut venir du réseau local. Un réseau wifi saturé, un routeur de mauvaise qualité, un CPL cassé ou je ne sais quel autre problème. - -Enfin les autres utilisateurs peuvent perturber le test en utilisant le réseau en même temps. - -En conclusion, nous allons étudier des solutions pour augmenter au maximum la qualité de nos tests à partir des contraintes : - - * Faire des mesures à travers le temps - * Faire des mesures sur plusieurs serveurs - * Avoir un témoin sur le réseau local - * Limiter ou annuler l'impact des autres utilisateurs - -## Un script + un cron - -Pour commencer, on peut juste utiliser curl pour télécharger des ISO sur des miroirs un peu partout et logger ça dans un fichier. -Voici un exemple avec l'ISO de free : - -``` -curl free dl iso -``` - -ping.online.net - -## iperf - -## script python rrdtool - -## munin - - * plugin existant - * modification - * tests - -## limites - - * dégrade la qualité de la connexion - * peut etre basse a cause d'autres utilisateurs - * peut etre du au réseau interne - -## solutions - - * QoS diff --git a/_posts/2016-12-18-tignes.md b/_posts/2016-12-18-tignes.md deleted file mode 100644 index 9cd69bb..0000000 --- a/_posts/2016-12-18-tignes.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -layout: post -slug: tignes -status: draft -sitemap: false -title: Tignes - Journal de bord -disqus: true -description: Tignes -categories: -- vacances -tags: ---- - -## Dimanche : Arrivée à Tignes - -C'est vers 15h que nous arrivons à Tignes La Bressière, la partie basse de Tignes. Nous découvrons un petit village fort jolie. - -[![Le village](/assets/images/posts/tignes-01.jpg)](/assets/images/posts/tignes-01.jpg) - -Après avoir acheté notre forfait et nous être installé à l'hôtel, Erwan et moi décidons de faire une petite randonnée juste le temps de prendre la montagne en photo. - -[![La montagne](/assets/images/posts/tignes-02.jpg)](/assets/images/posts/tignes-02.jpg) - - -## Lundi : Première journée sous le brouillard - -[![Vue de la station](/assets/images/posts/tignes-03.jpg)](/assets/images/posts/tignes-03.jpg) - -Il a neigé cette nuit, et quelques flocons sont tombés en continue toute la journée. Il a fait froid et il y avait du vent. La visibilité dans le bas de la station n'était pas mauvaise mais dès que l'on montait, c'était autre chose... - - - -Au final, la neige n'était pas trop mauvaise et il n'y avait pas trop de monde. Toute la station n'était pas encore ouverte. Nous en avons cependant profité pour aller jusqu'à *Val Claret* et monter dans le funiculaire de *La Grande Motte* qui nous a emmené jusqu'à plus de 3 000 mètres d'altitude. - - - -Et pour finir Erwan et moi (derrière le masque et la cagoule) bravant les éléments pour prendre cette photo/vidéo. - -## Mardi : Tignes, toujours - -Aujourd'hui impossible d'aller à *Val d'Isère*. À cause du vent, beaucoup de remontés sont fermées. D'ailleurs, nous devons prendre un premier télésiège à pied ce matin puis une navette pour pouvoir rejoindre les pistes à Tignes 2100. - -Heureusement le brouillard s'est levé et il fait plus chaud que hier. On peut enfin commencer à admirer le paysage. - -[![Vue de la Tignes 2100](/assets/images/posts/tignes-04.jpg)](/assets/images/posts/tignes-04.jpg) - -En début d'après-midi nous trouvons un versant avec un peu de soleil. - -[![Depuis le télésiège](/assets/images/posts/tignes-05.jpg)](/assets/images/posts/tignes-05.jpg) - -Nous n'étions pas les seul à avoir eu la même idée. J'ai quand même pris le temps de poser mon téléphone pour filmer le paysage... - - - -## Mercredi : Val d'Isère - -Aujourd'hui nous avons pu nous rendre à Val d'Isère, et même jusqu'à son extremité *Le Fornet*. Sur le plan suivant (possibilité de cliquer dessus pour agrandir), on peut voir en bas à droite *Tignes Les Brévières* d'où nous sommes partis et *Le Fornet* tout à gauche où nous avons mangé de midi. - -[![Plan des pistes](/assets/images/posts/tignes-08.jpg)](/assets/images/posts/tignes-08.jpg) - -Nous avons pu constater que le public cible était assez aisé à *Val d'Isère*, encore plus qu'à *Tignes* : Wifi gratuit partout, même à 3500 mètres, sièges des télécabines en cuir, etc. - -Du haut de *Val d'Isère* on avait une belle vue sur la vallée. - -[![En haut de Val d'Isère](/assets/images/posts/tignes-06.jpg)](/assets/images/posts/tignes-06.jpg) - -Il a commencé à neiger à midi, voici une photo du bas des pistes du *Fornet* où nous avons dégusté un hotdog savoyard pour pas trop cher. - -[![Le Fornet](/assets/images/posts/tignes-07.jpg)](/assets/images/posts/tignes-07.jpg) - -On ne pouvait pas aller plus loin, nous sommes donc repartis vers *Les Brévières* après qu'Erwan ai pu faire son hors piste. Tout de même. - -## Jeudi : Du haut de la Grande Motte à 3456 mètres d'altitude - - - -Aujourd'hui nous avons pu monter sur le glacier de Tignes, au plus haut de la station à 3456 mètres, sur *La Grande Motte*. Avant d'en arriver là, il faut un funiculaire et un vieux téléphérique. - -[![Du haut de la Grande Motte](/assets/images/posts/tignes-10.jpg)](/assets/images/posts/tignes-10.jpg) - -Nous avons pu nous arrêter pour profiter du paysage. Il parait même qu'on peut voir le *Mont Blanc* d'ici. - -La descente se fait sur un glacier, pas de différence au premier coup d'oeil mais impossible de s'éloigner des pistes à causes des crevasses. - -[![Une piste](/assets/images/posts/tignes-09.jpg)](/assets/images/posts/tignes-09.jpg) - -Nous profitons de la vue dégagée et du retour sur la montagne pour s'éloigner un peu de pistes. Tout au fond, la Grande Motte où nous étions un peu avant. - -La suite demain... diff --git a/_posts/2017-01-04-cloner-vers-un-disque-plus-petit.md b/_posts/2017-01-04-cloner-vers-un-disque-plus-petit.md index 615e67c..b9b4efc 100644 --- a/_posts/2017-01-04-cloner-vers-un-disque-plus-petit.md +++ b/_posts/2017-01-04-cloner-vers-un-disque-plus-petit.md @@ -2,12 +2,10 @@ layout: post slug: cloner-vers-un-disque-plus-petit status: published -title: Cloner un disque vers un support plus petit +title: Migrer vers un disque plus petit description: Migrer vers un SSD sans tout réinstaller disqus: true -categories: -- systeme -- linux +category: operation tags: --- diff --git a/_posts/2017-01-22-json.md b/_posts/2017-01-22-json.md index e7ee2ea..5aeae6a 100644 --- a/_posts/2017-01-22-json.md +++ b/_posts/2017-01-22-json.md @@ -4,9 +4,7 @@ slug: json status: published title: JSON simplement description: Simplifiez-vous la vie -disqus: true -categories: -- code +category: developpement tags: --- diff --git a/_posts/2017-02-09-docker-swarm.md b/_posts/2017-02-09-docker-swarm.md index f5f98a9..c4a98c8 100644 --- a/_posts/2017-02-09-docker-swarm.md +++ b/_posts/2017-02-09-docker-swarm.md @@ -2,12 +2,9 @@ layout: post slug: decouverte-docker-swarm status: published -title: Découverte de Docker Swarm +title: Docker Swarm description: Toujours plus de Docker -disqus: true -categories: -- systeme -- linux +category: operation tags: --- diff --git a/_posts/2017-02-10-dhcp-gateways.md b/_posts/2017-02-10-dhcp-gateways.md index 26873b5..a80a24e 100644 --- a/_posts/2017-02-10-dhcp-gateways.md +++ b/_posts/2017-02-10-dhcp-gateways.md @@ -4,10 +4,7 @@ slug: passerelles-et-dhcp status: published title: DHCP et la gestion des passerelles description: DHCP DISCOVER -disqus: true -categories: -- systeme -- linux +category: operation tags: --- diff --git a/_posts/2017-02-12-commandes-utiles.md b/_posts/2017-02-12-commandes-utiles.md deleted file mode 100644 index 488484c..0000000 --- a/_posts/2017-02-12-commandes-utiles.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -slug: commandes-utiles -status: draft -title: Commandes utiles -description: Mon couteau suisse -disqus: true -categories: -- systeme -- linux -tags: ---- - -## Tunnel SSH - -``` -(nathalie) -ssh -N quentin@havelock.machine.deuxfleurs.fr -p110 -L 3389:192.168.1.101:3389 -(maude) -ssh -N quentin@havelock.machine.deuxfleurs.fr -p110 -L 3389:192.168.1.76:3389 -``` diff --git a/_posts/2017-02-25-battlenet-probleme-transfert-donnees.md b/_posts/2017-02-25-battlenet-probleme-transfert-donnees.md index 8615450..a6771a9 100644 --- a/_posts/2017-02-25-battlenet-probleme-transfert-donnees.md +++ b/_posts/2017-02-25-battlenet-probleme-transfert-donnees.md @@ -2,12 +2,9 @@ layout: post slug: battlenet-probleme-transfert-donnees status: published -title: "Battle.net : problème de transfert de données" +title: "Debugguer Battle.net" description: Et quelques outils de debuggage Windows -disqus: true -categories: -- jeux -- windows +category: operation tags: --- diff --git a/_posts/2017-05-03-liveusb.md b/_posts/2017-05-03-liveusb.md deleted file mode 100644 index ce93d5b..0000000 --- a/_posts/2017-05-03-liveusb.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -layout: post -slug: liveusb -status: draft -sitemap: false -title: todo -description: todo -categories: -- linux -tags: ---- - - -```bash -sudo dnf install debootstrap -sudo debootstrap --arch=amd64 zesty live/ -sudo mount --bind /dev live/dev -sudo vim live/etc/apt/sources.list # ajouter universe multiverse - -# Chroot inside -sudo chroot live/ -mount none -t proc /proc -mount none -t sysfs /sys -mount none -t devpts /dev/pts - -# Install -sudo apt install \ - xubuntu-desktop \ - ubuntu-minimal \ - linux-generic \ - live-boot \ - language-pack-fr \ - arduino \ - inkscape \ - blender \ - freecad \ - openscad \ - git \ - kicad \ - gimp \ - git - -passwd -adduser fabriqueurs -usermod -a -G dialout fabriqueurs -vim /etc/lightdm/lightdm.conf.d/01_autologin.conf -vim /etc/default/keyboard -dpkg-reconfigure locales -dpkg-reconfigure keyboard-configuration - -su fabriqueurs -git clone https://github.com/jmoenig/Snap--Build-Your-Own-Blocks - -# Télécharger repetier -# Extraire dans /home/fabriqueurs -# Executer ./installDependenciesDebian - -# Cleaning -rm /var/lib/dbus/machine-id -apt clean -umount /proc /sys /dev/pts - -# Create USB -mkdir -p binary/live binary/isolinux - -cp live/boot/vmlinuz* binary/live/vmlinuz -cp live/boot/initrd* binary/live/initrd - -mksquashfs ./live ./binary/live/filesystem.squashfs -comp xz -e boot - -cp /usr/share/syslinux/isolinux.bin ./binary/isolinux/ -cp /usr/share/syslinux/menu.c32 ./binary/isolinux/ -cp /usr/share/syslinux/ldlinux.c32 ./binary/isolinux/ -cp /usr/share/syslinux/libutil.c32 ./binary/isolinux/ - -vim ./binary/isolinux/isolinux.cfg - -xorriso -as mkisofs \ - -o output.iso \ - -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \ - -c isolinux/boot.cat \ - -b isolinux/isolinux.bin \ - -no-emul-boot -boot-load-size 4 -boot-info-table \ - -eltorito-alt-boot \ - -e boot/grub/efi.img \ - -no-emul-boot \ - -isohybrid-gpt-basdat \ - ./binary -``` - -On peut créer l'ISO à l'aide de xorriso ou genisoimage ou mkisofs - -Utiliser virtualbox et pas qemu pour tester l'ISO - -On a copié .disk, boot et EFI depuis l'ISO d'ubuntu sans comprendre. - -https://help.ubuntu.com/community/LiveCDCustomizationFromScratch -https://l3net.wordpress.com/2013/09/21/how-to-build-a-debian-livecd/ -http://www.syslinux.org/wiki/index.php?title=Isohybrid - diff --git a/_posts/2017-05-08-backups.md b/_posts/2017-05-08-backups.md deleted file mode 100644 index d42af67..0000000 --- a/_posts/2017-05-08-backups.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: post -slug: todo -status: draft -sitemap: false -title: todo -description: todo -categories: -- linux -tags: ---- - - - -HP DDS 4 -Digital Data Storage - - -Monter le système fuse Seafile : - -```bash -./seaf-fuse.sh start /mnt/seafile -``` - -Sauvegarde : - -```bash -mt -f /dev/st0 rewind -tar -czf /dev/st0 /mnt/seafile/xxx@xxx.xx/ -``` - -Informations : - -```bash -mt -f /dev/st0 status -mt -f /dev/st0 tell -tar -tzf /dev/st0 -``` - -Liste des fichiers - -``` -tar -tzf /dev/st0 -``` - -Restauration - -```bash -mt -f /dev/st0 rewind -tar -xzf /dev/st0 /tmp/ -``` - -Efface : - -```bash -mt -f /dev/st0 erase -``` - - * https://manual.seafile.com/extension/fuse.html - * https://www.cyberciti.biz/faq/linux-tape-backup-with-mt-and-tar-command-howto/ - * https://www.cyberciti.biz/hardware/unix-linux-basic-tape-management-commands/ diff --git a/_posts/2017-06-25-ndh.md b/_posts/2017-06-25-ndh.md index 4a756ac..080780d 100644 --- a/_posts/2017-06-25-ndh.md +++ b/_posts/2017-06-25-ndh.md @@ -5,9 +5,7 @@ status: published sitemap: true title: Write-Up Wargame Nuit du Hack XV description: Les méfaits de The Magic Modbus -disqus: true -categories: -- securite +category: securite tags: --- @@ -25,12 +23,11 @@ Vous trouverez l'explication d'autres challenges par d'autres membres de mon éq [![Logo The Magic Modbus](/assets/images/posts/ndh-magic-modbus.png)](/assets/images/posts/ndh-magic-modbus.png) -## Challenges Intrinsec + +## Intrinsec : Escape from pyjail to MARS Au moment de l'écriture de ce Write-Up, il est encore possible d'accéder aux [challenges Intrinsec](https://ndh.intrinsec.com/challenges) -### Escape from pyjail to MARS - On commence le challenge par la ligne suivante, une connexion TCP sur le port 8001 sur un serveur d'Intrinsec : ```raw @@ -161,7 +158,7 @@ Description : MARS is a lightweight interactive development environment (IDE) fo En exécutant notre code dans cet environnement de développement, on peut récupérer le flag pour remporter l'épreuve. -### Modbus +## Intrinsec : Modbus Pour Modbus, nous avons également une adresse et un port TCP : @@ -196,9 +193,7 @@ with ModbusClient('ndh.intrinsec.com', 5020) as client: Le flag était donc stocké dans un *input register*, peu importe *l'unit* et il fallait récupérer les valeurs depuis 0, jusqu'à 21. Ensuite on convertit le tableau de bytes en tableau de char que l'on transforme en string. -## Challenges officiels - -### So so funny +## NDH : So so funny Ce challenge nous a donné plus de fil à retordre que prévu. Nous partions d'un PDF sur Kev Adams. @@ -225,7 +220,7 @@ Le flag final est donc le hash sha1 avec `ndh2k17_` devant : ndh2k17_3d723704f9c1aa8d3ff8b6bcb71c0fa2558f47e2 ``` -### So easy +## NDH : So easy Pour ce challenge, nous partions de l'image suivante : @@ -243,7 +238,7 @@ Ensuite, on peut soit baisser son écran pour lire le texte, soit redimensionner [![Étape finale](/assets/images/posts/ndh-chall_soeasy-final.png)](/assets/images/posts/ndh-chall_soeasy-final.png) -### jam +## NDH : jam Le challenge commence par le téléchargement d'un fichier binaire inconnu qui se nomme chall. On commence par essayer de deviner ce que c'est : @@ -290,7 +285,7 @@ rec_type('./chall_fs') Nous trouvons bien un seul fichier qui contient une image PNG et cette image contient le flag que nous cherchons. -### Cul air code +## NDH : Cul air code Ce challenge commence avec une image : diff --git a/_posts/2017-08-22-hardening-lxc-containers.md b/_posts/2017-08-22-hardening-lxc-containers.md index a4eb818..fab1699 100644 --- a/_posts/2017-08-22-hardening-lxc-containers.md +++ b/_posts/2017-08-22-hardening-lxc-containers.md @@ -1,23 +1,17 @@ --- layout: post slug: hardening-lxc-containers-running-systemd -status: draft +status: published sitemap: true -title: Hardening LXC containers running systemd +title: Some LXC hardening description: An epic trying to drop CAP\_SYS\_ADMIN -disqus: false -categories: +category: developpement tags: - security - linux - containers --- -![A real container](/assets/images/posts/harden-container.jpg) -
-*A container. Photo by [Mr. Rollers](https://www.flickr.com/photos/mr-rollers/32972266123/). CC BY-NC-ND 2.0* -
- Hardening Linux Containers, and more especially [LXC containers](https://linuxcontainers.org/fr/lxc/introduction/), is needed to prevent a malicious user to escape your container. However, even hardened, a container can't be considered totally safe today. You can consider this article as part of a [defence in depth strategy](https://en.wikipedia.org/wiki/Defense_in_depth_(computing)). But before starting, we need to understand how containers work under the hood. As said by Jessie Frazelle in her blog post [Setting the Record Straight: containers vs. Zones vs. Jails vs. VMs](https://blog.jessfraz.com/post/containers-zones-jails-vms/), containers in Linux are not a top level design like Zone in Solaris and Jails in BSD. @@ -32,11 +26,6 @@ If you feel a bit lost with all these terms, a good start is the reading of this ## Creating a standard LXC container -![A factory](/assets/images/posts/harden-factory.jpg) -
-*A factory building containers ? Photo by [Thomas Berg](https://www.flickr.com/photos/decafinata/1989725289/). CC BY-SA 2.0* -
- Before starting, you'll need a very recent version of LXC, at least lxc-2.0.9 (not yet released as of this writing). Fortunately, you can compile it from its master branch. We'll see later why we need a such recent version. Here is a quick reminder on how to compile LXC: @@ -65,11 +54,6 @@ It will launch your container in foreground (so you'll be able to see systemd lo ## Capabilities: split the root -![Puzzle](/assets/images/posts/harden-puzzle.jpg) -
-*The great puzzle of root. Photo by [Kevin Dooley](https://www.flickr.com/photos/pagedooley/14555354976). CC BY 2.0.* -
- Historically, there is a huge difference between the root user (with uid 0) which bypass any access control and the other users of the system which must pass every control. So, if you want to send an ICMP request via the `ping` command for example, you must run the command as root (with the magic of [setuid](https://en.wikipedia.org/wiki/Setuid) to enable non privileged users to launch it). As the command is launched as root for everyone, ping can load a kernel module, change the time on your system, erase every files, etc. That's dangerous, particularly if someone find a vulnerability in your command and use it to do a [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation). A good idea would be to only allow the ping command to execute actions related to network as root, not everything. You can do that by using capabilities, by giving the `CAP_NET_RAW` capability to your ping command. @@ -173,11 +157,6 @@ You can find the whole capability list in the dedicated man page [capabilities(7 ## cgroups: group your processes -![Lions](/assets/images/posts/harden-lions.jpg) -
-*A cgroup of lions with parents and children. Photo by [Joel Herzog](https://unsplash.com/@joel_herzog). Unsplash license.* -
- [Wikipedia](https://en.wikipedia.org/wiki/Cgroups) proposes the following definition: > cgroups is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network, etc.) of a collection of processes. @@ -187,8 +166,6 @@ It might not be totally clear at the first read, but cgroups are two differents 1. A method to create groups of processus 2. A method to apply limitation, accounting, etc. on these groups - - If you want to read more on this, the article [Control Groups vs. Control Groups](http://0pointer.de/blog/projects/cgroups-vs-cgroups.html) by Lennart Poettering explains how systemd uses cgroups and why the distinction is crucial. ## Namespaces: isolate your system resources @@ -197,29 +174,4 @@ Michael Kerrisk wrote an interesting [serie of articles about namespaces](https: > The purpose of each namespace is to wrap a particular global system resource in an abstraction that makes it appear to the processes within the namespace that they have their own isolated instance of the global resource. -At first glance, namespaces handle could appear trivial in LXC: every available namespaces are used and that's all. - The reality is more complex. -## Seccomp: filter your syscalls - -![Barriers](/assets/images/posts/harden-barrier.jpg) -
-*The seccomp barrier protects the access to the kernel. Photo by [Mike Wilson](https://unsplash.com/@mkwlsn). Unsplash license.* -
- -## LSM: mandatory access control - -![Top Secret](/assets/images/posts/harden-secret.jpg) -
-*Back to the origin. Photo by [Michelangelo Carrieri](https://www.flickr.com/photos/malakhkelevra/4951863053). CC BY-ND 2.0* -
- -## Other - -### prlimit - -### /dev - -### The bridge - -ethtable diff --git a/_posts/2017-11-25-upgrade-fedora-online.md b/_posts/2017-11-25-upgrade-fedora-online.md index 1e9ab67..eb97e84 100644 --- a/_posts/2017-11-25-upgrade-fedora-online.md +++ b/_posts/2017-11-25-upgrade-fedora-online.md @@ -6,7 +6,7 @@ sitemap: true title: Upgrade Fedora online description: How to efficiently destroy your distribution disqus: false -categories: +category: operation tags: - linux - fedora diff --git a/_posts/2017-11-28-affichages-inertes.md b/_posts/2017-11-28-affichages-inertes.md index 24d5794..09df9b2 100644 --- a/_posts/2017-11-28-affichages-inertes.md +++ b/_posts/2017-11-28-affichages-inertes.md @@ -5,8 +5,7 @@ status: published sitemap: true title: Affichages inertes description: Le rétro c'est chic -disqus: false -categories: +category: divers tags: - electronique --- diff --git a/_posts/2018-01-15-recharger-carte-korrigo-avec-fedora.md b/_posts/2018-01-15-recharger-carte-korrigo-avec-fedora.md index e9effa8..a2318d1 100644 --- a/_posts/2018-01-15-recharger-carte-korrigo-avec-fedora.md +++ b/_posts/2018-01-15-recharger-carte-korrigo-avec-fedora.md @@ -6,7 +6,7 @@ sitemap: true title: Recharger sa carte Korrigo sur Fedora description: C'est possible ! disqus: false -categories: +category: operation tags: - fedora --- diff --git a/_posts/2018-04-22-bzhctf18.md b/_posts/2018-04-22-bzhctf18.md index 79f23a6..2e60c6d 100644 --- a/_posts/2018-04-22-bzhctf18.md +++ b/_posts/2018-04-22-bzhctf18.md @@ -5,8 +5,7 @@ status: published sitemap: true title: Write-Up BreizhCTF 2018 description: Garanti 100% sans Go -categories: -- securite +category: securite tags: --- diff --git a/_posts/2018-05-20-build-a-rpm-package-and-publish-it-on-copr.md b/_posts/2018-05-20-build-a-rpm-package-and-publish-it-on-copr.md index e07811d..db2d774 100644 --- a/_posts/2018-05-20-build-a-rpm-package-and-publish-it-on-copr.md +++ b/_posts/2018-05-20-build-a-rpm-package-and-publish-it-on-copr.md @@ -3,19 +3,19 @@ layout: post slug: build-a-rpm-package-and-publish-it-on-copr status: published sitemap: true -title: Build a RPM package and publish it on Copr +title: Publish on Copr description: They said it was easy -categories: -- linux +category: developpement tags: - fedora - copr - rpm +- en --- *Disclaimer: I'm not a linux packaging expert, some parts could be considered as bad practises. Moreover, there are billions different ways of building packages. I am proposing only one in this article.* -### Setup +## Setup First of all, we will need some tools to build packages: @@ -81,7 +81,7 @@ rm -rf %{buildroot} So, now we must fill this file. You can use the Fedora Packaging Guidelines guide to find help for the different macro (lines starting with a percent). You can also take some inspiration from existing `.spec` files like [meshlab.spec](https://src.fedoraproject.org/rpms/meshlab/blob/master/f/meshlab.spec) or [chez-scheme.spec](https://github.com/superboum/rpm/blob/master/chez-scheme/chez-scheme.spec). -### Sources and patches +## Sources and patches We will consider the case where a source tarball is provided, but you need to patch it. You can easily retrieve a tarball from any github or gitlab project, for a given release, like: @@ -149,7 +149,7 @@ Unfortunately, they are not very flexible. rpkg and fedpkg never download the so So, we will need an home made solution. -### make srpm +## make srpm Fortunately, copr propose different solutions. One is to build your `.srpm` locally and send it to copr, but we can even avoid this step and only give a git repository to copr: we will build our own builder with a Makefile. @@ -193,7 +193,7 @@ rpm You really have to put the Makefile here, otherwise copr will not find it. -### Use Copr +## Use Copr Now you just need to commit + push your repository and use the [Copr web interface](http://copr.fedorainfracloud.org/) to create a new project, add a package and trigger a build ! @@ -207,7 +207,7 @@ sudo dnf install chez-scheme You can configure some webhooks to rebuild your packages for each git commit. And that's all! -### Sources +## Sources * [Fedora Packaging Guidelines](https://fedoraproject.org/wiki/Packaging:Guidelines) * [Spectool](https://pagure.io/spectool) diff --git a/_posts/2018-07-01-ndh16.md b/_posts/2018-07-01-ndh16.md index 8440c4d..c996da5 100644 --- a/_posts/2018-07-01-ndh16.md +++ b/_posts/2018-07-01-ndh16.md @@ -5,8 +5,7 @@ status: published sitemap: true title: Write-Up Wargame Nuit du Hack 16 description: Powershell et compagnie -categories: -- securite +category: securite tags: --- diff --git a/_posts/2019-02-10-manette-xbox-reparation.md b/_posts/2019-02-10-manette-xbox-reparation.md index 7d4c6cb..2769898 100644 --- a/_posts/2019-02-10-manette-xbox-reparation.md +++ b/_posts/2019-02-10-manette-xbox-reparation.md @@ -5,8 +5,7 @@ status: published sitemap: true title: Réparation d'une manette Xbox One description: La panne la plus bête du monde -categories: -- bricolage +category: divers tags: --- diff --git a/_posts/2019-05-31-installer-cura-4.md b/_posts/2019-05-31-installer-cura-4.md index ba494db..5f0a5c2 100644 --- a/_posts/2019-05-31-installer-cura-4.md +++ b/_posts/2019-05-31-installer-cura-4.md @@ -5,8 +5,7 @@ status: published sitemap: true title: Utiliser une Alfawise U30 depuis Fedora description: Pour des impressions 3D libres -categories: -- bricolage +category: operation tags: --- diff --git a/_posts/2019-08-06-protocole-shoutcast.md b/_posts/2019-08-06-protocole-shoutcast.md index fdf87e0..714ec06 100644 --- a/_posts/2019-08-06-protocole-shoutcast.md +++ b/_posts/2019-08-06-protocole-shoutcast.md @@ -3,10 +3,9 @@ layout: post slug: le-protocole-shoutcast-au-scalpel status: published sitemap: true -title: Le protocole Shoutcast au scalpel +title: Disséquer le protocole Shoutcast description: Découpage de flux HTTP -categories: -- network +category: developpement tags: --- diff --git a/_posts/2019-09-04-comprendre-et-installer-ubuntu.md b/_posts/2019-09-04-comprendre-et-installer-ubuntu.md index 32b4ae6..0b1b056 100644 --- a/_posts/2019-09-04-comprendre-et-installer-ubuntu.md +++ b/_posts/2019-09-04-comprendre-et-installer-ubuntu.md @@ -3,10 +3,9 @@ layout: post slug: vous-avez-dit-os status: published sitemap: true -title: "Vous avez dit OS ?" +title: Le concept d'OS description: Comprenez votre ordinateur -categories: -- system +category: developpement tags: --- diff --git a/_posts/2020-06-20-freeture-sur-la-ligne.md b/_posts/2020-06-20-freeture-sur-la-ligne.md deleted file mode 100644 index 730f0d3..0000000 --- a/_posts/2020-06-20-freeture-sur-la-ligne.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: post -slug: freeture-sur-la-ligne -status: draft -sitemap: false -title: "Freeture sur la ligne" -description: L'internet des campagnes ---- - diff --git a/_posts/2021-03-05-latex-dvi-integrer-image.md b/_posts/2021-03-05-latex-dvi-integrer-image.md index e3b5bcc..c483860 100644 --- a/_posts/2021-03-05-latex-dvi-integrer-image.md +++ b/_posts/2021-03-05-latex-dvi-integrer-image.md @@ -3,9 +3,9 @@ layout: post slug: latex-dvi-integrer-image status: published sitemap: true -title: Intégrer des images dans des documents LaTeX supportant une sortie DVI-Tex +title: Latex, DVI et images description: Grâce à ImageMagick -categories: +category: developpement tags: --- diff --git a/_posts/2021-07-12-chroniques-administration-synapse.md b/_posts/2021-07-12-chroniques-administration-synapse.md index 63816b2..c677c29 100644 --- a/_posts/2021-07-12-chroniques-administration-synapse.md +++ b/_posts/2021-07-12-chroniques-administration-synapse.md @@ -1,11 +1,11 @@ --- layout: post slug: chroniques-administration-synapse -status: draft +status: published sitemap: false title: Chroniques d'administration de Synapse description: Pour l'instant tout va bien, pour l'instant tout... -categories: +category: operation tags: --- diff --git a/assets/css/style.css b/assets/css/style.css index bedf573..b3e1b49 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -16,6 +16,7 @@ body { text-rendering: optimizeLegibility; font-feature-settings: "kern", "liga", "dlig", "salt"; font-size: 2.4rem; + line-height: 1.7; } main > section, footer { diff --git a/assets/video/tignes-01.mp4 b/assets/video/tignes-01.mp4 deleted file mode 100644 index 61051f4..0000000 Binary files a/assets/video/tignes-01.mp4 and /dev/null differ diff --git a/assets/video/tignes-01.png b/assets/video/tignes-01.png deleted file mode 100644 index 156beb6..0000000 Binary files a/assets/video/tignes-01.png and /dev/null differ diff --git a/assets/video/tignes-01.webm b/assets/video/tignes-01.webm deleted file mode 100644 index a83d6fb..0000000 Binary files a/assets/video/tignes-01.webm and /dev/null differ diff --git a/assets/video/tignes-02.mp4 b/assets/video/tignes-02.mp4 deleted file mode 100644 index 54724a4..0000000 Binary files a/assets/video/tignes-02.mp4 and /dev/null differ diff --git a/assets/video/tignes-02.png b/assets/video/tignes-02.png deleted file mode 100644 index 489725e..0000000 Binary files a/assets/video/tignes-02.png and /dev/null differ diff --git a/assets/video/tignes-02.webm b/assets/video/tignes-02.webm deleted file mode 100644 index f71c892..0000000 Binary files a/assets/video/tignes-02.webm and /dev/null differ diff --git a/assets/video/tignes-03.mp4 b/assets/video/tignes-03.mp4 deleted file mode 100644 index e15d684..0000000 Binary files a/assets/video/tignes-03.mp4 and /dev/null differ diff --git a/assets/video/tignes-03.png b/assets/video/tignes-03.png deleted file mode 100644 index 2712a6a..0000000 Binary files a/assets/video/tignes-03.png and /dev/null differ diff --git a/assets/video/tignes-03.webm b/assets/video/tignes-03.webm deleted file mode 100644 index b8b9b91..0000000 Binary files a/assets/video/tignes-03.webm and /dev/null differ diff --git a/assets/video/tignes-04.mp4 b/assets/video/tignes-04.mp4 deleted file mode 100644 index 9639340..0000000 Binary files a/assets/video/tignes-04.mp4 and /dev/null differ diff --git a/assets/video/tignes-04.png b/assets/video/tignes-04.png deleted file mode 100644 index 21db529..0000000 Binary files a/assets/video/tignes-04.png and /dev/null differ diff --git a/assets/video/tignes-04.webm b/assets/video/tignes-04.webm deleted file mode 100644 index 446cca4..0000000 Binary files a/assets/video/tignes-04.webm and /dev/null differ diff --git a/index.html b/index.html index 49efaca..7de1382 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,9 @@ -
-

Quentin Dufour

+--- +layout: default +--- + +
+

{{ site.name }}

@@ -36,30 +40,61 @@

J'écris sur

-

Comment fabriquer du logiciel

- -
-

Comment opérer des ordinateurs

-

Comment sécuriser le numérique

-

D'autres choses

+ +
+
+

l'exploitation et le debug

+
+
    + {% for post in site.categories.operation %} + {% if post.status == "published" %} +
  • + {{ post.title }} +
  • + {% endif %} + {% endfor %} +
+
+
+
+

la sécurité

+
+
    + {% for post in site.categories.securite %} + {% if post.status == "published" %} +
  • + {{ post.title }} +
  • + {% endif %} + {% endfor %} +
+
+
+
+

D'autres choses

+
+
    + {% for post in site.categories.divers %} + {% if post.status == "published" %} +
  • + {{ post.title }} +
  • + {% endif %} + {% endfor %} +
+
+