<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tontontux</title>
	<atom:link href="https://tontontux.fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://tontontux.fr</link>
	<description>Blog Linux</description>
	<lastBuildDate>Sun, 10 May 2020 16:18:40 +0000</lastBuildDate>
	<language>fr-FR</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.9</generator>
	<item>
		<title>Créer un conteneur Docker</title>
		<link>https://tontontux.fr/creer-un-conteneur-docker/</link>
		<comments>https://tontontux.fr/creer-un-conteneur-docker/#comments</comments>
		<pubDate>Mon, 28 Nov 2016 13:57:28 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=160</guid>
		<description><![CDATA[Maintenant que tu as installé docker sur ta bête de course tu vas pouvoir créer un conteneur Docker. Pour cela je vais te faire un petit exemple en déployant un serveur de jeux dans Docker. Le serveur est le DarkMultiPlayer pour &#8230; <a href="https://tontontux.fr/creer-un-conteneur-docker/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter wp-image-174 size-full" src="/wp-content/uploads/2016/08/small_v1.png" alt="Logo Docker" width="271" height="242" />Maintenant que tu as installé docker sur ta bête de course tu vas pouvoir créer un conteneur Docker. Pour cela je vais te faire un petit exemple en déployant un serveur de jeux dans Docker. Le serveur est le DarkMultiPlayer pour Kerbal Space Program. Il a la particularité de ne pas avoir été compilé pour Linux :/, il faudra donc le faire fonctionner avec mono &#8230; Bref on va pouvoir tester les performances de docker au passage <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Aller c&rsquo;est parti!</p>
<h1>1. Création de l&rsquo;image docker</h1>
<p>On commence par télécharger le serveur du jeu :</p>
<p>(un petit wget des familles)</p>
<pre><code><code>$ </code>wget https://d-mp.org/downloads/release/latest/DMPServer.zip</code></pre>
<p>On extrait avec unzip et on oubliera pas de supprimer notre zip une fois que tout sera fonctionnel afin de garder un plan de travail toujours propre.</p>
<pre><code><code>$ </code>unzip DMPServer.zip </code>
</pre>
<p><del><em>Il est venu le temps, des rires et des chants,</em> ha non c&rsquo;est pas ça&#8230;</del></p>
<p>Il est venu le temps de créer notre image docker. Pour se faire rien de plus simple, on créer un fichier nommé Dockerfile.</p>
<pre><code><code>$ </code>touch Dockerfile</code></pre>
<p>On l&rsquo;ouvre avec notre éditeur de fichiers préféré :</p>
<pre><code><code>$ </code>vi Dockerfile</code></pre>
<p>Là on commence les choses sérieuses :</p>
<p>On sait que le serveur à besoin de mono pour fonctionner. On va donc prendre un image de mono déjà construite dans les dépôts de docker, qui nous apportera au passage une l&rsquo;image OS avec laquelle elle à été construite. pour cela dans notre docker file on va en écrire ceci en haut du fichier :</p>
<pre><code> <span style="color: #800000;">FROM </span>mono:<span class="st">latest</span> </code></pre>
<p><code><em>(/!\ on lui indique toujours la dernière version plutôt qu'une version en dure, cela veux dire qu'il faudra tester notre image si on veux la reconstruire et que la version de l'image de base à changé.)</em><br />
</code></p>
<p>En dessous on doit indiquer un mainteneur (utile si on souhaite le publier sur les repo docker) sous la forme <strong><em>nom prénom &lt;mail&gt;</em></strong></p>
<pre><code><span style="color: #800000;">MAINTAINER </span>tonton tux &lt;tux@domaine.fr&gt;</code></pre>
<p>On va ensuite lui passer des commandes afin de se faire un endroit cosy dans cette image &#8230; ou pas</p>
<p>On commence par créer un utilisateur (ici kerman en faisant référence au jeu) avec son group, homedir,&#8230;<!--StartFragment--><br />
Cet utilisateur sera créé dans le docker, en aucun cas sur l&rsquo;OS hôte.<!--EndFragment--></p>
<pre><code><code><span style="color: #800000;">RUN</span> useradd -m -d /home/kerman</code></code>
</pre>
<p>Le <em>RUN </em>de docker réalise en réalité appel au shell de l&rsquo;image OS. <em>Les commandes disponibles peuvent donc varier en fonction de votre image de base.</em></p>
<p>On lui ajout notre dossier précédemment &laquo;&nbsp;dé-zippé&nbsp;&raquo; dans le home de l&rsquo;utilisateur kerman et on met ce dernier propriétaire de l’ensemble.</p>
<pre><code><span style="color: #800000;">ADD</span> DMPServer /home/kerman/DMPServer
<code><code><code><span style="color: #800000;">RUN</span> chown -R kerman:kerman /home/kerman</code></code></code></code></pre>
<p>Ensuite on va définir le répertoire de travail et l&rsquo;utilisateur owner qui sera utilisé lors du lancement du docker :</p>
<pre><code><span style="color: #800000;">WORKDIR</span> /home/kerman/DMPServer
</code><code><span style="color: #800000;">USER</span> kerman</code></pre>
<p>On ouvre le port de sur lequel notre service écoute sur l&rsquo;image. Ce port n&rsquo;a pas besoin d’être libre sur votre machine, en effet Docker intègre une couche réseau avancé permettant de créer un nat ou proxy.</p>
<pre><code><span style="color: #800000;">EXPOSE</span> 6702</code></pre>
<p>Et enfin avec l&rsquo;instruction CMD on défini la commande que va exécuter notre serveur.</p>
<pre><code><span style="color: #800000;">CMD</span> mono /home/kerman/DMPServer/DMPServer.exe</code></pre>
<p>Ce qui nous donne :</p>
<pre><code><span style="color: #0000ff;">#Image de base</span>
<span style="color: #800000;">FROM</span> mono:4.4
</code><code><span style="color: #0000ff;">
#Personne en charge</span>
<span style="color: #800000;">MAINTAINER</span> tonton tux &lt;tux@tontontux.fr&gt;
</code><code><span style="color: #0000ff;">
#On créer notre utilisateur et groupe
</span><code><span style="color: #800000;">RUN</span> useradd -m -d /home/kerman

</code></code><code><span style="color: #0000ff;">#On insère les binaires dans l'image</span> 
<span style="color: #800000;">ADD</span> DMPServer /home/kerman/DMPServer </code><code><span style="color: #0000ff;"> 

#On attribut les bons droits</span> 
<span style="color: #800000;">RUN</span> chown -R kerman:kerman /home/kerman </code><code><span style="color: #0000ff;"> 

#On définit l'utilisateur qui exécutera le binaire du serveur</span>
<span style="color: #800000;">USER</span> kerman 

</code><code><span style="color: #0000ff;">#On définit le port d'écoute de l'image
</span><span style="color: #800000;">EXPOSE</span> 6702

</code><code><span style="color: #0000ff;"> #On définit la commande exécutée par l'image
</span><span style="color: #800000;">CMD</span> mono /home/kerman/DMPServer/DMPServer.exe</code></pre>
<p>Puis il nous reste plus qu&rsquo;a installer l&rsquo;image pour pouvoir l&rsquo;utiliser.</p>
<p>Pour se faire il suffit de taper :</p>
<pre><code>$ docker build -t mon_serveur_ksp ./</code></pre>
<p><em>(/!\ le ./ definit la position du fichier Dockerfile)</em></p>
<p>Et on vérifie que tout s&rsquo;est bien passé avec un:</p>
<pre><code>$ docker images
</code></pre>
<p>Cela devrait donner quelque chose dans ce genre la :</p>
<pre>mon_serveur_ksp     latest              42f2966021b6        8 minutes ago       699.4 MB
mono                4.4                 4bcf669858be        3 weeks ago         698.3 MB</pre>
<p>Si on veut être économe en place on vas pouvoir supprimer l&rsquo;image mono qui nous a seulement servi pour la compilation.</p>
<pre><code>$ docker rmi mono:4.4</code></pre>
<p>/!\ Vous ne pourrez et ne devez pas la supprimer si elle est utilisée ailleurs pour pour un autre container.</p>
<p>Et &#8230; voila on a créé notre image docker !</p>
<p><img class="aligncenter" src="https://media.giphy.com/media/xT5LMHxhOfscxPfIfm/giphy.gif" alt="" width="50%" /></p>
<p>Heu ouai &#8230; mais c&rsquo;est pas finit !</p>
<h1> 2. Création du conteneur</h1>
<p>Le conteneur est une instance de notre image et à partir d&rsquo;une image donnée on peut créer autant de conteneur qu&rsquo;on veux. Aller c&rsquo;est parti !</p>
<p>Pour créer le conteneur on lance :</p>
<pre>$ docker  run -t mon_serveur_ksp &amp;</pre>
<p>On peux vérifier qu&rsquo;il est bien lancé avec la commande :</p>
<pre>$ docker ps</pre>
<p>Ce qui devrait nous donner :</p>
<pre>CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
a4235aadace9        mon_serveur_ksp     "/bin/sh -c 'mono /ho"   4 seconds ago       Up 3 seconds        6702/tcp                 elegant_lamport</pre>
<p>Et voila le conteneur est lancé a+!</p>
<p><img class="aligncenter" src="https://i.giphy.com/ToMjGplQBnlX0cktDt6.gif" alt="" width="50%" /></p>
<p>Ok,ok&#8230; on peux mieux faire.</p>
<p>Déjà docker est démarré en jobs et ça &#8230; c&rsquo;est pas top, du coup on le passe en démon en ajoutant l&rsquo;option &laquo;&nbsp;-d&nbsp;&raquo;</p>
<pre><code>$ docker  run -t -d mon_serveur_ksp</code></pre>
<p>Après on peu remarquer que notre container a été nommé par docker et il est pas vraiment simple à apprendre par coeur &#8230; on va donc lui donner un nom plus parlant avec l&rsquo;option &laquo;&nbsp;<code>--name serveur-ksp</code>&nbsp;&raquo;</p>
<pre><code>$ docker  run -t -d --name serveur-ksp mon_serveur_ksp</code></pre>
<p>Ensuite afin que le conteneur puisse parler avec le monde (Hello world), on va utiliser la fonction proxy de docker afin de lui attribuer un port d&rsquo;écoute de la machine physique. On utilise donc pour cela l&rsquo;option &laquo;&nbsp;-p [port reel]:[port conteneur]&nbsp;&raquo;</p>
<pre><code>$ docker run -t -d --name serveur-ksp -p 42:6702 mon_serveur_ksp</code></pre>
<p>Et on finit en externalisant les logs avec l&rsquo;option &laquo;&nbsp;-v&nbsp;&raquo; qui permet de monter un répertoire local dans le conteneur</p>
<pre><code>$ docker run -t -d --name serveur-ksp -p 42:6702 -v /var/log:/home/kerman/DMPServer/logs mon_serveur_ksp</code></pre>
<p>Et voila votre serveur est opérationnel.</p>
<p>Et en extra je rajoute quelques commandes pour la route :</p>
<p>- Pour ouvrir un shell sur le docker :</p>
<pre><code>$ docker exec -it [nom du conteneur] /bin/bash</code></pre>
<p>- Pour supprimer un conteneur :</p>
<pre><code>$ docker rm [nom du conteneur]
</code></pre>
<p>- Pour arrêter un conteneur :</p>
<pre><code>$ docker stop [nom du conteneur]</code></pre>
<p>- Pour redémarrer un conteneur :</p>
<pre><code>$ docker start [nom du conteneur]</code></pre>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/creer-un-conteneur-docker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detection d&#8217;intrusion avec OSSEC 2.9</title>
		<link>https://tontontux.fr/detection-dintrusion-avec-ossec-2-9/</link>
		<comments>https://tontontux.fr/detection-dintrusion-avec-ossec-2-9/#comments</comments>
		<pubDate>Wed, 24 Aug 2016 16:35:49 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=144</guid>
		<description><![CDATA[Tout administrateurs ayant un serveur sur Internet et ayant déjà consulté ses logs (tu ne sais pas comment faire Oo &#8230; aller un indice -&#62; /var/log/) sait qu&#8217;Internet &#8230; C&#8217;est la Jungle. Mais il existe des outils permettant de faire &#8230; <a href="https://tontontux.fr/detection-dintrusion-avec-ossec-2-9/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Tout administrateurs ayant un serveur sur Internet et ayant déjà consulté ses logs (tu ne sais pas comment faire Oo &#8230; aller un indice -&gt; /var/log/) sait qu&rsquo;Internet &#8230; C&rsquo;est la Jungle. Mais il existe des outils permettant de faire de la détection d&rsquo;intrusion ou plus précisément (je l&rsquo;espère) de la détection de tentative d&rsquo;intrusion.</p>
<p>Pour réaliser cela j&rsquo;appelle donc OSSEC à la barre (il est existe d&rsquo;autre). OSSEC est un HIDS (Host Intrusion Detection System) avec option HIPS (Host Intrusion Prevention System), il va analyser le système, puis il alerter (dans son rôle passif) et/ou réaliser des actions (dans son rôle actif), mais on parle alors d&rsquo;IPS (Intrusion Prevention System).</p>
<p>Ici je vais montrer comment le déployer en mode HIDS/HIPS (Host IDS/Host IPS). Autrement dit OSSEC aura pour charge de protéger la machine sur laquelle il est installé en surveillant les logs/fichiers sensible &#8230; La tout en activant des actions active sur les détection d&rsquo;intrusion. OSSEC fonctionne en mode local ou agent/serveur afin de centralisé les alertes sur un serveur dédié. Dans notre cas le serveur sera installé en mode local ce qui ne permet pas de recevoir d&rsquo;alerte depuis un autre serveur, ce qui correspond donc à un mode &laquo;&nbsp;standalone&nbsp;&raquo;.</p>
<p>Pour plus de détail, je vous ajoute le lien vers la dernière documentation :</p>
<p><a title="http://ossec-docs.readthedocs.io/en/latest/" href="http://ossec-docs.readthedocs.io/en/latest/" target="_blank">http://ossec-docs.readthedocs.io/en/latest/</a></p>
<p>Aller c&rsquo;est partie <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>On commence par télécharger les sources depuis le git</p>
<pre>git clone https://github.com/ossec/ossec-hids.git</pre>
<p>Entrer dans le dossier et lancer le install.sh</p>
<pre>cd ossec-hids/
./install.sh</pre>
<p>Dans les choix d&rsquo;installation j&rsquo;ai mis en place une installation &laquo;&nbsp;local&nbsp;&raquo;, j&rsquo;ai activé les alertes par mail, la détection de rootkit (HIDS), l&rsquo;active response (HIPS), le firewall-drop (HIDS).</p>
<p>Par défaut OSSEC va donc s&rsquo;installer dans <em>/var/ossec/, </em>créer un daemon <em>/etc/init.d/ossec et ne se lancera pas après son installation</em>. Mais Il se lancera à chaque démarrage. L&rsquo;active réponse se déclenchera au niveau 6, pour plus d&rsquo;info sur les niveaux d&rsquo;alerte d&rsquo;ossec je vous renvoi vers la doc <a title="http://ossec-docs.readthedocs.io/en/latest/manual/rules-decoders/rule-levels.html" href="http://ossec-docs.readthedocs.io/en/latest/manual/rules-decoders/rule-levels.html" target="_blank">http://ossec-docs.readthedocs.io/en/latest/manual/rules-decoders/rule-levels.html</a></p>
<p>Ok maintenant allons affiner la conf <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Commençons par le fichier <em>/var/ossec/etc/ossec.conf </em></p>
<p>La partie <em>&lt;global&gt;</em> permet d&rsquo;envoyer les notification par mail. Vous pouvez donc la modifier au besoin. Elle permet aussi de whitlister des IP. Je vous conseille d&rsquo;ajouter, au minimum, vos serveurs DNS, passerelle et l&rsquo;IP ou les IP de votre serveur.</p>
<p>La partie <em>&lt;rules&gt;</em> liste les règles utilisés par OSSEC, les règles se trouvent dans le dossier <em>/var/ossec/rules/</em> et il vaut mieux commenter toutes les règles correspondantes à des services non utilisé. Pour commenter une ligne utiliser les balises</p>
<p>&lt;!&#8211; Ma ligne commenté &#8211;&gt;</p>
<p>Si vous avez des doutes sur la désactivation d&rsquo;une règle je vous conseil de jeter un oeil sur ce doc <a title="http://www.ossec.net/ossec-docs/OSSEC-book-ch4.pdf" href="http://www.ossec.net/ossec-docs/OSSEC-book-ch4.pdf" target="_blank">http://www.ossec.net/ossec-docs/OSSEC-book-ch4.pdf</a> et n&rsquo;oublier pas Google <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>La partie <em>&lt;syscheck&gt;</em> va vérifier de manière périodique les fichiers et binaires du système afin de détecter les modifications en se basant sur un checksum MD5/SHA1. Ici vous pouvez ignorer ou ajouter des répertoires/fichiers à surveiller. Par exemple il peut être intéressant de surveiller votre répertoire hébergeant les fichiers de votre serveur web en ajoutant quelque exclusions sur les répertoires stockant des données dynamique.</p>
<p>La partie <em>&lt;alerts&gt;</em> permet de modifier le niveau d&rsquo;alerte générant un envoi de mail ou un log en local. Par défaut le log en local est à 1 et par mail est à 7, si votre serveur est sur Internet, je vous déconseille de trop descendre la dernière valeur sous peine d&rsquo;être spammé par votre propre serveur <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" />  Par contre ce niveau de déclenchement ne viendra pas s&rsquo;appliquer à certaines règles sensible.</p>
<p>La partie <em>&lt;active-response&gt;</em> permet de modifier le niveau d&rsquo;activation de l&rsquo;active reponse. L&rsquo;activation de l&rsquo;active réponse ajoutera une règle de blocage dans le firewall suivant un temps donné. Par défaut le déclenchement ce fait au niveau 6 avec un ban pour 10 minutes.</p>
<p>La partie &lt;localfile&gt; liste tout les fichiers de logs sous surveillance avec le type de format de log.</p>
<p>Voila pour les principales options et donc si tous vous semble ok vous pouvez lancer le daemon avec la commande :</p>
<p>/etc/init.d/ossec start</p>
<p>Pour info les logs OSSEC sur toutes ses alertes sont disponibles dans le répertoire <em>/var/ossec/logs/</em></p>
<p>Enjoy <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/detection-dintrusion-avec-ossec-2-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer docker sur Debian Jessie (8.5)</title>
		<link>https://tontontux.fr/installer-docker-sur-debian-jessie-8-5/</link>
		<comments>https://tontontux.fr/installer-docker-sur-debian-jessie-8-5/#comments</comments>
		<pubDate>Tue, 16 Aug 2016 12:25:21 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=134</guid>
		<description><![CDATA[Docker est un service permet de lancer un lot applicatif avec ses dépendances dans un environnement cloisonné et indépendant de l&#8217;OS. On parle alors d&#8217;application virtualisé &#8230; cool alors installons le Avant de commencer lancer un (la base !) apt-get &#8230; <a href="https://tontontux.fr/installer-docker-sur-debian-jessie-8-5/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Docker est un service permet de lancer un lot applicatif avec ses dépendances dans un environnement cloisonné et indépendant de l&rsquo;OS. On parle alors d&rsquo;application virtualisé &#8230; cool alors installons le <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Avant de commencer lancer un (la base !)</p>
<pre>apt-get update</pre>
<p>Installer les 2 pré-requis suivant</p>
<pre>apt-get install apt-transport-https ca-certificates</pre>
<p>Installer ensuite la clé permettant d&rsquo;utiliser le depôt</p>
<pre>apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D</pre>
<p>Ajouter dans le fichier &laquo;&nbsp;/etc/apt/sources.list&nbsp;&raquo;</p>
<pre>##Docker Depot
deb https://apt.dockerproject.org/repo debian-jessie main</pre>
<p>Rafraichisser la base des paquets (encore)</p>
<pre>
apt-get update</pre>
<p>Vous pouvez maintenant installer docker</p>
<pre>apt-get install docker-engine</pre>
<p>Enfin demarrer le deamon docker</p>
<pre>service docker start</pre>
<p>Vous pouvez lancer un test permettant de valider la bonne installation de docker</p>
<pre>docker run hello-world</pre>
<p>Cela va telécharger une image de test et l&rsquo;ouvrir dans un conteneur. Le tout renverra un log sur votre console</p>
<pre>Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

</pre>
<p>Et voila \o/</p>
<p>Maintenant il ne vous reste plus qu&rsquo;a lancer on créer vos conteneurs Docker <img src="https://tontontux.fr/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/installer-docker-sur-debian-jessie-8-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mise en place de Let’s Encrypt pour Dovecot/Postfix</title>
		<link>https://tontontux.fr/mise-en-place-de-lets-encrypt-pour-dovecotpostfix/</link>
		<comments>https://tontontux.fr/mise-en-place-de-lets-encrypt-pour-dovecotpostfix/#comments</comments>
		<pubDate>Wed, 03 Aug 2016 09:36:13 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=112</guid>
		<description><![CDATA[Démarrons en créant un certificat simple sans installation. Pour cela lancer la commande suivante en suivant les instructions : letsencrypt certonly -d votredomaine.fr --manual Les certificats sont alors créé dans le répertoire suivant : /etc/letsencrypt/live/votredomaine.fr Afin d&#8217;automatiser le renouvellement des &#8230; <a href="https://tontontux.fr/mise-en-place-de-lets-encrypt-pour-dovecotpostfix/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Démarrons en créant un certificat simple sans installation.</p>
<p>Pour cela lancer la commande suivante en suivant les instructions :</p>
<pre>letsencrypt certonly -d votredomaine.fr --manual</pre>
<p>Les certificats sont alors créé dans le répertoire suivant :</p>
<pre>/etc/letsencrypt/live/votredomaine.fr</pre>
<p>Afin d&rsquo;automatiser le renouvellement des certificats ajouter une tâche cron dans le fichier <em>/etc/crontab :</em></p>
<pre>30 2 * * 1 root /bin/letsencrypt renew</pre>
<p>Maintenant que nous avons nos certificats il faut modifier les configurations de nos logiciels afin de les prendre en compte.</p>
<ul>
<li>
<h1><strong>Dovecot</strong></h1>
</li>
</ul>
<p>ajouter ou modifier les informations suivantes dans le fichier <em>/etc/dovecot/conf.d/10-ssl.conf</em> :<strong><br />
</strong></p>
<pre>ssl = yes
ssl_cert = &lt;/etc/letsencrypt/live/votredomaine.fr/fullchain.pem
ssl_key = &lt;/etc/letsencrypt/live/votredomaine.fr/privkey.pem</pre>
<p>Vérifier aussi dans le fichier <em>/etc/dovecot/conf.d/10-master.conf</em> que le ssl est bien activé sur les services intéressés :</p>
<pre> service imap-login {
  inet_listener imap {
  }
  inet_listener imaps {
    ssl = yes
  }</pre>
<p>Recharger la configuration du service :</p>
<pre>service dovecot reload</pre>
<p>Vous pouvez vérifier que le port (993) souhaité est bien en écoute avec la commande :</p>
<pre>netstat -tpln</pre>
<ul>
<li>
<h1><strong>Postfix<br />
</strong></h1>
</li>
</ul>
<p>ajouter ou modifier les informations suivantes dans le fichier <em>/etc/postfix/main.cf</em> :<strong><br />
</strong></p>
<pre>smtpd_use_tls=yes
smtp_tls_CAfile = /etc/letsencrypt/live/votredomaine.fr/chain.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/votredomaine.fr/cert.pem
smtpd_tls_key_file = /etc/letsencrypt/live/votredomaine.fr/privkey.pem</pre>
<p>ajouter ou modifier les informations suivantes dans le fichier<em> /etc/postfix/master.cf</em>  :</p>
<pre>smtps     inet  n       -       -       -       -       smtpd</pre>
<p>Recharger la configuration du service :</p>
<pre>service postfix reload</pre>
<p>Vous pouvez vérifier que le port (465) souhaité est bien en écoute avec la commande :</p>
<pre>netstat -tpln</pre>
<p>Et voila votre service mail chiffre les informations entre le client et le serveur.</p>
<p>Un petit point d&rsquo;attention sur le SMTPS, veiller à laisser le port SMTP ouvert et utilisable afin de ne pas empêcher la réception de mail de certain serveur.</p>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/mise-en-place-de-lets-encrypt-pour-dovecotpostfix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer Let’s Encrypt</title>
		<link>https://tontontux.fr/installer-lets-encrypt/</link>
		<comments>https://tontontux.fr/installer-lets-encrypt/#comments</comments>
		<pubDate>Tue, 02 Aug 2016 12:42:45 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=100</guid>
		<description><![CDATA[Let’s Encrypt s’utilise avec un client et il en existe plusieurs. Voici un lien qui liste les différents clients : https://letsencrypt.org/docs/client-options/ Ici je vais vous montrer comment installer le client certbot qui est le plus utilisé. Pour l’installer il faut &#8230; <a href="https://tontontux.fr/installer-lets-encrypt/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Let’s Encrypt s’utilise avec un client et il en existe plusieurs. Voici un lien qui liste les différents clients : <a title="https://letsencrypt.org/docs/client-options/" href="https://letsencrypt.org/docs/client-options/">https://letsencrypt.org/docs/client-options/</a></p>
<p>Ici je vais vous montrer comment installer le client certbot qui est le plus utilisé.</p>
<p>Pour l’installer il faut déjà récupérer les source sur le github avec un :</p>
<pre><code>$ git clone https://github.com/certbot/certbot
</code></pre>
<p>Entrons ensuite dans le dossier certbot pour puis lançons l’installation assisté :</p>
<pre>$ cd certbot
$ ./letsencrypt-auto --help</pre>
<p>Les binaires seront dans le répertoire suivant :</p>
<pre>~/.local/share/letsencrypt/bin/letsencrypt</pre>
<p>Créons un lien symbolique pour simplifier l’exploitation (Vous pouvez utiliser le binaire certbot cela reviens au même) :</p>
<pre>ln -s /root/.local/share/letsencrypt/bin/letsencrypt /bin

</pre>
<p>le commande suivante nous donne des informations sur son utilisation :</p>
<pre>letsencrypt -h</pre>
<p>&nbsp;</p>
<p>Voici le résultat de la commande :</p>
<pre> certbot [SUBCOMMAND] [options] [-d domain] [-d domain] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
it will attempt to use a webserver both for obtaining and installing the
cert. Major SUBCOMMANDS are:

 (default) run Obtain &amp; install a cert in your current webserver
 certonly Obtain cert, but do not install it (aka "auth")
 install Install a previously obtained cert in a server
 renew Renew previously obtained certs that are near expiry
 revoke Revoke a previously obtained certificate
 register Perform tasks related to registering with the CA
 rollback Rollback server configuration changes made during install
 config_changes Show changes made to server config during installation
 plugins Display information about installed plugins

Choice of server plugins for obtaining and installing cert:

 --apache Use the Apache plugin for authentication &amp; installation
 --standalone Run a standalone webserver for authentication
 (nginx support is experimental, buggy, and not installed by default)
 --webroot Place files in a server's webroot folder for authentication

OR use different plugins to obtain (authenticate) the cert and then install it:

 --authenticator standalone --installer apache

More detailed help:

 -h, --help [topic] print this message, or detailed help on a topic;
 the available topics are:

 all, automation, paths, security, testing, or any of the subcommands or
 plugins (certonly, install, register, nginx, apache, standalone, webroot,
 etc.)</pre>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/installer-lets-encrypt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failed to create session &#8211; timed out</title>
		<link>https://tontontux.fr/failed-to-create-session-timed-out/</link>
		<comments>https://tontontux.fr/failed-to-create-session-timed-out/#comments</comments>
		<pubDate>Tue, 02 Aug 2016 10:12:40 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=105</guid>
		<description><![CDATA[Si lors de vos authentifications vous avez des temps de réaction long et le message d&#8217;erreur suivant dans votre log :  Failed to create session: Activation of org.freedesktop.login1 timed out Le bug semble avoir été patché mais peux encore apparaitre &#8230; <a href="https://tontontux.fr/failed-to-create-session-timed-out/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Si lors de vos authentifications vous avez des temps de réaction long et le message d&rsquo;erreur suivant dans votre log :</p>
<pre> Failed to create session: Activation of org.freedesktop.login1 timed out</pre>
<p>Le bug semble avoir été patché mais peux encore apparaitre dans certain cas. Pour le solutionner temporairement lancer la commande suivante :</p>
<div class="crayon-pre" style="font-size: 12px !important; line-height: 20px !important; -moz-tab-size: 4; -o-tab-size: 4; -webkit-tab-size: 4; tab-size: 4;">
<pre id="crayon-57a0707e9e4ee103927542-1" class="crayon-line">systemctl restart systemd-logind</pre>
<div class="crayon-line">Pour info vous pouvez suivre le report du bug fais chez debian :</div>
</div>
<pre>https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770135</pre>
<p>Ou directement sur le github qui va bien</p>
<pre>https://github.com/systemd/systemd/issues/1961</pre>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/failed-to-create-session-timed-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL pour tous !</title>
		<link>https://tontontux.fr/ssl-pour-tous/</link>
		<comments>https://tontontux.fr/ssl-pour-tous/#comments</comments>
		<pubDate>Tue, 02 Feb 2016 16:19:05 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=91</guid>
		<description><![CDATA[La mise en place d&#8217;un cryptage SSL demande une autorité de certification qui se portera garant du certificat utilisé. Pour avoir une autorité de certification il existe deux solutions, soit on paye (ou on trouve une autorité gratuite qui impose &#8230; <a href="https://tontontux.fr/ssl-pour-tous/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>La mise en place d&rsquo;un cryptage SSL demande une autorité de certification qui se portera garant du certificat utilisé. Pour avoir une autorité de certification il existe deux solutions, soit on paye (ou on trouve une autorité gratuite qui impose quelques limites) ou alors on s&rsquo;installe un autorité de certification sur son serveur. Mais cette dernière technique nécessite d&rsquo;installer le certificat d&rsquo;autorité sur chaque poste client :/ ce qui peut correspondre si on connais notre parc de client, mais qui est impensable lorsqu&rsquo;on doit gérer un parc anonyme comme sur Internet.</p>
<p>MAIS ce n&rsquo;est pas tous car il faut savoir que lorsque vous avez réussi à avoir votre précieux certificat, serveur validé par l&rsquo;autorité de certification, que vous avez bien transpiré et géléré, et bien vous vous retrouvé avec un certificat valide 1 an (mouai c&rsquo;est pas étonnant, la sécurité tousa tousa). Ce qui est super en 1 an, c&rsquo;est qu&rsquo;on à le temps d&rsquo;oublier comment on à fait et surtout on à le temps d&rsquo;oublié qu&rsquo;on l&rsquo;a fait ! A la limite si vous en avez un seul à géré, une croix sur votre calendrier suffit mais si vous en avez 10 &#8230; 20 &#8230; là c&rsquo;est galère &#8230;</p>
<p>Mais il existe maintenant une solution : <strong>Let&rsquo;s Encrypt</strong></p>
<p>Et alors comment ça marche &#8230; et bin y a une commande &#8230; tu la lance et &#8230; c&rsquo;est tout Oo <a title="https://letsencrypt.org/howitworks/" href="https://letsencrypt.org/howitworks/">https://letsencrypt.org/howitworks/</a>.</p>
<p>En plus c&rsquo;est gratuit alors que demande le peuple &#8230;</p>
<p>Je vous invite donc à aller faire un tour sur leur site <a title="https://letsencrypt.org/" href="https://letsencrypt.org/">https://letsencrypt.org/</a></p>
<p>Leur binaire est optimisé pour apache mais on peux mettre du ssl partout (mail, ftp &#8230;) Je vous ferai donc d&rsquo;autre post pour vous présenter l&rsquo;implémentation du SSL sur votre serveur.</p>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/ssl-pour-tous/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le port de ton service SSH tu changera</title>
		<link>https://tontontux.fr/le-port-de-ton-service-ssh-tu-changera/</link>
		<comments>https://tontontux.fr/le-port-de-ton-service-ssh-tu-changera/#comments</comments>
		<pubDate>Sun, 15 Nov 2015 21:51:02 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=82</guid>
		<description><![CDATA[Lorsque vous vivez sur le &#171;&#160;méchant&#160;&#187; Internet, laisser son port SSH sur le 22 est comme donner son numéro de téléphone sur un site ou des gens ne vous aime pas &#8230; En effet sur Internet certain serveur passe leur &#8230; <a href="https://tontontux.fr/le-port-de-ton-service-ssh-tu-changera/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Lorsque vous vivez sur le &laquo;&nbsp;méchant&nbsp;&raquo; Internet, laisser son port SSH sur le 22 est comme donner son numéro de téléphone sur un site ou des gens ne vous aime pas &#8230; En effet sur Internet certain serveur passe leur vie à scanner les autres serveurs. Comme pourrais le dire certain hacker, si tu n&rsquo;as pas scanner au moins une fois Internet, tu as raté ta vie &#8230; Mouai !</p>
<p>Bref, si vous voulez pas voir certain méchant serveur tester la solidité de votre mot de passe ou les éventuelles faille de votre service SSH, le meilleur moyen est de changer son port d&rsquo;écoute.</p>
<p><em>Oui mais je mets quoi ?</em></p>
<p>Et bien le mieux est d&rsquo;en choisir un au dessus des 1000 premiers ports. En effet certain logiciel de scan de port, commence par cela par défaut. Tu as donc le choix entre 1001 et 65535. en évitant les truc évidant dans le genre 2222 :/</p>
<p>Aller place à l&rsquo;action !</p>
<p style="color: #373737;">Editer le fichier de configuration de votre service SSH</p>
<pre style="color: #373737;">/etc/ssh/sshd_config</pre>
<p style="color: #373737;">Puis modifier la ligne contenant Port comme cela :</p>
<pre style="color: #373737;">Port MON_NUMERO_DE_PORT</pre>
<p style="color: #373737;">Recharger la conf du service</p>
<pre style="color: #373737;">service ssh reload</pre>
<p style="color: #373737;">Et voila !</p>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/le-port-de-ton-service-ssh-tu-changera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bloquer la connexion root en SSH</title>
		<link>https://tontontux.fr/bloquer-le-connexion-root-en-ssh/</link>
		<comments>https://tontontux.fr/bloquer-le-connexion-root-en-ssh/#comments</comments>
		<pubDate>Sun, 15 Nov 2015 21:37:29 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=76</guid>
		<description><![CDATA[Certain se dirons &#171;&#160;pourquoi est-il si méchant&#160;&#187; &#8230; Non mais ! Oui cette réponse n&#8217;est pas suffisante, en effet. Alors pourquoi bloquer root sur la connexion SSH. Et bien pour éviter les brutes forces, car dans la tête d&#8217;un attaquant, &#8230; <a href="https://tontontux.fr/bloquer-le-connexion-root-en-ssh/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Certain se dirons &laquo;&nbsp;pourquoi est-il si méchant&nbsp;&raquo; &#8230;</p>
<p><strong>Non mais !</strong></p>
<p>Oui cette réponse n&rsquo;est pas suffisante, en effet. Alors pourquoi bloquer root sur la connexion SSH. Et bien pour éviter les brutes forces, car dans la tête d&rsquo;un attaquant, trouver le mot de passe root, c&rsquo;est un peu comme le graal, alors le simple fait de lui en donner la possibilité est une faille !</p>
<p>Et pour ce qui ce demande comment devenir root sans pouvoir si connecter directement, je leur dirais d&rsquo;aller voir sur côté de su et sudo.</p>
<p>Bref passons à l&rsquo;action !</p>
<p>Editer le fichier de configuration de votre service SSH</p>
<pre>/etc/ssh/sshd_config</pre>
<p>Puis modifier la ligne contenant PermitRootLogin comme cela :</p>
<pre>PermitRootLogin no</pre>
<p>Recharger la conf du service</p>
<pre>service ssh reload</pre>
<p>Et voila !</p>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/bloquer-le-connexion-root-en-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TARPIT &amp; Iptables</title>
		<link>https://tontontux.fr/tarpit-iptables/</link>
		<comments>https://tontontux.fr/tarpit-iptables/#comments</comments>
		<pubDate>Fri, 13 Nov 2015 13:24:28 +0000</pubDate>
		<dc:creator><![CDATA[tontontux]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://tontontux.fr/?p=70</guid>
		<description><![CDATA[TARPIT est un outil qui possède plusieurs utilités (Honeypot, anti-DDOS, anti script-kiddie …). L’outil s’utilise avec iptables, il permet de remplacer DROP. La différence est simple, DROP jette le paquet et ferme la connexion distante, alors que TARPIT jette le &#8230; <a href="https://tontontux.fr/tarpit-iptables/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>TARPIT est un outil qui possède plusieurs utilités (Honeypot, anti-DDOS, anti script-kiddie …). L’outil s’utilise avec iptables, il permet de remplacer DROP. La différence est simple, DROP jette le paquet et ferme la connexion distante, alors que TARPIT jette le paquet et met la connexion distante en attente, la laissant inutilisable jusqu&rsquo;au timeout du client, ainsi une fois toutes les connexions utilisées, la machine attaquante ne peut plus avoir d’accès réseau. De plus la méthode TARPIT génère nue plus grosse consommation CPU côté attaquant.</p>
<p><strong><span style="font-size: 150%;"><span style="color: #000000;">Attention chérie, ça va couper !</span></span></strong></p>
<p>Tout d’abord pour utiliser TARPIT il va falloir installer quelques paquets (testé sur Debian Jessie). Pour cela :</p>
<pre><span style="color: #ff0000;">apt-get update</span></pre>
<pre><span style="color: #ff0000;">apt-get install iptables module-assistant xtables-addons-common</span></pre>
<pre><span style="color: #ff0000;">module-assistant auto-install xtables-addons-source</span></pre>
<p>Ensuite il faut rajouter les lignes ci-dessous dans votre script iptables :</p>
<pre># Cette ligne fait croire, à la personne qui scanne le serveur que le port 25 est ouvert 
# et bloque son accès réseau, si il s'acharne.
<span style="color: #ff0000;">iptables <em> -I INPUT -p tcp -s 0.0.0.0/0</em> --dport 25 -j TARPIT</span></pre>
<pre># Cette ligne fait croire, à la personne qui scanne le serveur que les ports 1 à 24 sont ouvert 
# et bloque son accès réseau, si il s'acharne.
<span style="color: #ff0000;">iptables <em>-I INPUT -p tcp -s 0.0.0.0/0</em> --dport 1:24 -j TARPIT</span></pre>
<pre># Cette ligne permet de bloquer les connexion avec des paquets contenant un mot clé 
# (exemple phpmyadmin, admin, w00tw00t ...)
<span style="color: #ff0000;">iptables<em> -I INPUT -p tcp -s 0.0.0.0/0</em> -m string --string "la_chaine" --algo bm -j TARPIT</span></pre>
<pre># Cette ligne permet de bloquer les connexions trop rapide (DDOS, script ...)
# Ici, si une machine fait plus de 2 connexions par seconde, elle est bloquée
<span style="color: #ff0000;">iptables<em> -I INPUT -p tcp -s 0.0.0.0/0</em> -m state --state NEW -m limit --limit 2/second --limit-burst 1 -j TARPIT</span></pre>
<pre># Cette ligne bloque une IP ou un sous-réseaux particulier
<span style="color: #ff0000;">iptables<em> -I INPUT -p tcp -s 192.168.0.0/24</em> -j TARPIT</span></pre>
]]></content:encoded>
			<wfw:commentRss>https://tontontux.fr/tarpit-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
