<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://prendreuncafe.com/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Prendre un Café - Tag - sysadmin</title>
  <link>http://prendreuncafe.com/blog/</link>
  <atom:link href="http://prendreuncafe.com/blog/feed/tag/sysadmin/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Thu, 28 Aug 2008 21:22:43 +0200</pubDate>
  <copyright>Contenus sous licence Creative Commons BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Sécuriser son Ubuntu-server</title>
    <link>http://prendreuncafe.com/blog/post/2007/02/05/Securiser-son-Ubuntu-server</link>
    <guid isPermaLink="false">urn:md5:81e5f98b087f66401a73ff169401b83e</guid>
    <pubDate>Mon, 05 Feb 2007 23:00:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>bestpractices</category><category>serveur</category><category>sysadmin</category><category>sécurité</category><category>ubuntu</category>    
    <description>    &lt;p&gt;L'intérêt d'avoir une &lt;a href=&quot;http://www.dedibox.fr/&quot; hreflang=&quot;fr&quot;&gt;Dedibox&lt;/a&gt; sur une classe C réputée &lt;em&gt;niche à boulets&lt;/em&gt;, c'est qu'on est confronté à de nombreuses tentatives de hacks, &lt;a href=&quot;http://en.wikipedia.org/wiki/DDOS&quot; hreflang=&quot;en&quot;&gt;DDOS&lt;/a&gt; et autres &lt;a href=&quot;http://en.wikipedia.org/wiki/Brute_force_attack&quot; hreflang=&quot;en&quot;&gt;bruteforce&lt;/a&gt; quasi-quotidiennement. De quoi envisager une approche totalement paranoïaque de la sécurité du système ; voila quelques bonnes résolutions pour une &lt;a href=&quot;http://ubuntu-fr.org/&quot; hreflang=&quot;fr&quot;&gt;Ubuntu-server&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Utilisez de &lt;strong&gt;vrais&lt;/strong&gt; mots de passe&lt;/h3&gt;


&lt;p&gt;Minimum 8 caractères avec des lettres, des chiffres et de la ponctuation. Changez-en régulièrement.&lt;/p&gt;


&lt;p&gt;Mieux, &lt;a href=&quot;http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant&quot; hreflang=&quot;fr&quot;&gt;utilisez des clés SSH&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Désactiver l'&lt;strong&gt;accès root&lt;/strong&gt; depuis SSH&lt;/h3&gt;


&lt;p&gt;Si quelqu'un arrivait à craquer votre accès &lt;a href=&quot;http://fr.wikipedia.org/wiki/SSH&quot; hreflang=&quot;fr&quot;&gt;SSH&lt;/a&gt;, il serait dommage qu'il arrive directement en &lt;em&gt;root&lt;/em&gt;. Le moyen le plus simple pour éviter cela, c'est de désactiver l'accès SSH en root, en éditant le fichier &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt; et en remplaçant la ligne :&lt;/p&gt;


&lt;pre&gt;PermitRootLogin: yes&lt;/pre&gt;


&lt;p&gt;par&lt;/p&gt;


&lt;pre&gt;PermitRootLogin: no&lt;/pre&gt;


&lt;h3&gt;Changer le &lt;strong&gt;port SSH&lt;/strong&gt; par défaut&lt;/h3&gt;


&lt;p&gt;Toujours dans le même fichier &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;, changer le numéro de port par défaut (22) par un autre :&lt;/p&gt;


&lt;pre&gt;Port 12345&lt;/pre&gt;


&lt;p&gt;Attention, ne prenez pas un numéro de port utilisé par un des autres services que vous utilisez sur le serveur (80 pour http, 25 pour smtp, 443 pour https, etc.)&lt;/p&gt;


&lt;p&gt;Par exemple si vous déclarez le port 12345 pour SSH, vous vous connecterez ainsi sur la machine :&lt;/p&gt;


&lt;pre&gt;$ ssh user@machine.tld -p 12345&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; Chaque modification du fichier &lt;code&gt;sshd_config&lt;/code&gt; doit occasionner un redémarrage du service :&lt;/p&gt;


&lt;pre&gt;$ sudo /etc/init.d/ssh restart&lt;/pre&gt;

&lt;h3&gt;&lt;strong&gt;Blacklister&lt;/strong&gt; les IP malsaines&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://www.fail2ban.org/wiki/index.php/Main_Page&quot; hreflang=&quot;en&quot;&gt;fail2ban&lt;/a&gt; est un petit utilitaire qui scanne les logs d'accès sshd et blackliste les IP depuis lesquelles émanent trop de tentatives de connexion échouées. Pour l'installer :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install fail2ban&lt;/pre&gt;

&lt;p&gt;Plus d'infos sur la &lt;a href=&quot;http://jujuseb.com/dotclear/?2006/04/18/6-fail2ban-contre-l-attaque-par-brute-force&quot; hreflang=&quot;fr&quot;&gt;configuration et l'utilisation de fail2ban&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Interdire l'execution depuis &lt;strong&gt;/tmp&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;Le répertoire &lt;code&gt;/tmp&lt;/code&gt; est souvent utilisé par les script-kiddies de tous poils pour y déposer leurs executables et les lancer. Une approche intelligente du phénomène est d'interdire l'execution de programme sur ce point de montage, en ajoutant la directive &lt;code&gt;noexec&lt;/code&gt; à votre fichier &lt;code&gt;/etc/fstab&lt;/code&gt;, comme dans cet exemple :&lt;/p&gt;


&lt;pre&gt;/dev/sda3   /tmp    ext3   noexec,nosuid     0    2&lt;/pre&gt;


&lt;p&gt;Si vous ne possédez pas de point de montage pour &lt;code&gt;/tmp&lt;/code&gt;, pas de panique : vous allez pouvoir &lt;a href=&quot;http://snippets.prendreuncafe.com/snippet/54&quot; hreflang=&quot;fr&quot;&gt;en créer un à l'arrache&lt;/a&gt; &lt;img src=&quot;/blog/themes/Puc4/smilies/smile.gif&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le gestionnaire de paquet &lt;code&gt;apt&lt;/code&gt; a parfois besoin d'executer des scripts depuis cet emplacement lors de certaines mises à jour, chose que la drective &lt;code&gt;noexec&lt;/code&gt; interdit;&lt;/li&gt;
&lt;li&gt;MySQL a parfois besoin de créer des tables temporaires à cet emplacement pour traiter des requêtes coûteuses, chose que le &lt;code&gt;nosuid&lt;/code&gt; interdit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;La manipulation décrite ci-dessus n'est donc à appliquer en connaissance de cause.&lt;/strong&gt; (voire à ne pas appliquer du tout, en fait. Hem.)&lt;/p&gt;


&lt;h3&gt;Installer un &lt;strong&gt;firewall&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://www.shorewall.net/&quot; hreflang=&quot;en&quot;&gt;Shorewall&lt;/a&gt; est un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Pare-feu&quot; hreflang=&quot;fr&quot;&gt;firewall&lt;/a&gt; simple à administrer, mais pas pour autant moins efficace que les autres. L'installation se fait par un traditionnel :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install shorewall&lt;/pre&gt;


&lt;p&gt;Un très bon &lt;a href=&quot;http://blog.matid.net/2007/2/1/securing-your-ubuntu-server&quot; hreflang=&quot;en&quot;&gt;tutoriel de configuration du logiciel existe&lt;/a&gt;, n'hésitez pas à aller y faire un tour. L'idée est dans tous les cas de tout interdire par défaut et d'ouvrir les ports un à un en fonction de vos besoins.&lt;/p&gt;


&lt;h3&gt;Vérifier régulièrement la présence de &lt;strong&gt;rootkits&lt;/strong&gt;&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://www.chkrootkit.org/&quot; hreflang=&quot;en&quot;&gt;Chkrootkit&lt;/a&gt; scanne votre machine et y déniche les &lt;a href=&quot;http://fr.wikipedia.org/wiki/Rootkit&quot; hreflang=&quot;fr&quot;&gt;rootkits&lt;/a&gt; les plus répandus. Le programme s'installe facilement via la commande :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install chkrootkit&lt;/pre&gt;


&lt;p&gt;Et se lance de cette façon :&lt;/p&gt;


&lt;pre&gt;$ sudo chkrootkit&lt;/pre&gt;


&lt;p&gt;Vous pouvez &lt;em&gt;croner&lt;/em&gt; l'exécution du programme quotidiennement et vous en envoyer le résultat par email, en ajoutant cette ligne dans votre &lt;em&gt;crontab&lt;/em&gt; :&lt;/p&gt;


&lt;pre&gt;0 3    *   *   *   chkrootkit 2&amp;gt;&amp;amp;1 | mail vous@domain.tld -s &amp;quot;Rapport de chkrootkit&amp;quot;&lt;/pre&gt;


&lt;p&gt;D'autres outils peuvent tout aussi bien faire l'affaire et peuvent être utilisés de façon complémentaires :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.rootkit.nl/projects/rootkit_hunter.html&quot; hreflang=&quot;en&quot;&gt;rkhunter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.nongnu.org/tiger/&quot; hreflang=&quot;en&quot;&gt;tiger&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ces deux outils sont disponibles dans les dépôts officiels Ubuntu et sont d'une utilisation très simple.&lt;/p&gt;


&lt;p&gt;Note : si la commande &lt;code&gt;mail&lt;/code&gt; est inconnue de votre système, installez le paquet &lt;code&gt;mailx&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install mailx&lt;/pre&gt;


&lt;h3&gt;&lt;strong&gt;Emprisonnez&lt;/strong&gt; vos programmes et utilisateurs&lt;/h3&gt;


&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chroot&quot; hreflang=&quot;en&quot;&gt;Chroot&lt;/a&gt; est un programme qui permet de littéralement &lt;em&gt;emprisonner&lt;/em&gt; un utilisateur ou un programme dans un environnement désolidarisé du reste du système, ce qui garanti une réversibilité des dommages occasionnés.&lt;/p&gt;


&lt;p&gt;Plus d'informations sur la &lt;a href=&quot;http://lea-linux.org/cached/index/Admin-admin_env-chroot.html&quot; hreflang=&quot;fr&quot;&gt;commande chroot&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Encore quelques &lt;strong&gt;conseils&lt;/strong&gt; de base&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Mettez régulièrement à jour votre système&lt;/li&gt;
&lt;li&gt;Utilisez toujours les dépôts officiels Ubuntu&lt;/li&gt;
&lt;li&gt;N'installez jamais de softs &lt;em&gt;pour tester&lt;/em&gt; en oubliant de les désinstaller par la suite&lt;/li&gt;
&lt;li&gt;N'ouvrez de nouveaux services que si vous en avez réellement besoin&lt;/li&gt;
&lt;li&gt;Surveillez vos logs&lt;/li&gt;
&lt;li&gt;Surveillez régulièrement les process système&lt;/li&gt;
&lt;li&gt;Monitorez votre machine, surveillez les comportements anormaux&lt;/li&gt;
&lt;li&gt;Ne donnez jamais vos mots de passe&lt;/li&gt;
&lt;li&gt;Touchez du bois&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les commentaires bouillent d'impatience de recevoir vos remarques, suggestions et contributions.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit :&lt;/strong&gt; Prise en compte de certains commentaires judicieux.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit 2 :&lt;/strong&gt; &lt;a href=&quot;http://kubuntu.free.fr/blog/&quot; hreflang=&quot;fr&quot;&gt;JJL&lt;/a&gt; pose une vraie question : &lt;a href=&quot;http://kubuntu.free.fr/blog/index.php/2007/02/08/186-ubuntu-est-elle-prete-pour-le-serveur&quot; hreflang=&quot;fr&quot;&gt;Ubuntu est-elle prête pour le serveur ?&lt;/a&gt; Sachant que les paquets Universe contenant des choses comme Trac ou Bacula ne sont pas maintenues au niveau patches de sécurité, cela laisse songeur...&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Synchro distante automatique via un daemon rsync sur Ubuntu</title>
    <link>http://prendreuncafe.com/blog/post/2007/01/18/Synchro-distante-automatique-via-un-daemon-rsync-sur-Ubuntu</link>
    <guid isPermaLink="false">urn:md5:2d2a0faedd532e3cd8531d2b670e548a</guid>
    <pubDate>Thu, 18 Jan 2007 16:26:00 +0100</pubDate>
    <dc:creator>NiKo</dc:creator>
        <category>Ubuntu</category>
        <category>bestpractices</category><category>cli</category><category>linux</category><category>rsync</category><category>sysadmin</category>    
    <description>    &lt;p&gt;Et non ! &lt;a href=&quot;http://fr.wikipedia.org/wiki/Rsync&quot; hreflang=&quot;fr&quot;&gt;Rsync&lt;/a&gt; n'est pas une voiture des années 90 mais bien un outil de synchronisation de fichiers à distance très puissant. Il peut notamment tourner en &lt;a href=&quot;http://fr.wikipedia.org/wiki/Daemon&quot; hreflang=&quot;fr&quot;&gt;daemon&lt;/a&gt; afin d'autoriser les appels distants automatiques,  via &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cron&quot; hreflang=&quot;fr&quot;&gt;Cron&lt;/a&gt; par exemple.&lt;/p&gt;


&lt;p&gt;Si par un hasard hallucinant vous ne disposiez pas de rsync sur votre &lt;a href=&quot;http://ubuntu-fr.org&quot; hreflang=&quot;fr&quot;&gt;Ubuntu&lt;/a&gt;, voici la démarche à suivre pour l'installer en ligne de commande :&lt;/p&gt;


&lt;pre&gt;$ sudo apt-get install rsync&lt;/pre&gt;


&lt;p&gt;Bien. Nous disposons de deux machines, la machine A - disposant d'un utilisateur &lt;code&gt;jeanpierre&lt;/code&gt; - et la machine B - habitée par &lt;code&gt;edmond&lt;/code&gt;. Nous devons automatiser la synchro d'un répertoire présent sur la machine A vers la machine B. On va donc installer un daemon rsync sur la machine A et le configurer en créant le fichier &lt;code&gt;/etc/rsyncd.conf&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;uid             = jeanpierre 
gid             = jeanpierre
use chroot      = no    
max connections = 4
syslog facility = local5
pid file        = /var/run/rsyncd.pid

[mon_partage]
  comment = Mon partage
  path = /home/jeanpierre/monpartage
  read only = yes
  list = yes
  hosts allow = *
  auth users = edmond, gerard
  secrets file = /etc/rsyncd.secrets&lt;/pre&gt;


&lt;p&gt;Je vous renvoie à cette page sur la &lt;a href=&quot;http://sunsite.dk/info/guides/rsync/rsyncd.conf.html&quot; hreflang=&quot;en&quot;&gt;syntaxe du fichier rsync.conf&lt;/a&gt; pour plus de renseignements.&lt;/p&gt;


&lt;p&gt;On crée un fichier process vide :&lt;/p&gt;


&lt;pre&gt;jeanpierre@machineA:~$ sudo touch /var/run/rsyncd.pid&lt;/pre&gt;


&lt;p&gt;Les comptes utilisateurs se définissent dans le fichier &lt;code&gt;/etc/rsyncd.secrets&lt;/code&gt; sous la traditionnelle forme &lt;code&gt;login:motdepasse&lt;/code&gt; comme ci-dessous :&lt;/p&gt;


&lt;pre&gt;edmond:3dm0nd
gerard:g3r4rd&lt;/pre&gt;


&lt;p&gt;Par souci de sécurité et de confidentialité, ces fichiers ne devront pas être lisibles par un autre utilisateur que le root, donc :&lt;/p&gt;


&lt;pre&gt;jeanpierre@machineA:~$ sudo chmod 640 /etc/rsyncd.conf
jeanpierre@machineA:~$ sudo chmod 640 /etc/rsyncd.secrets&lt;/pre&gt;


&lt;p&gt;Lancer rsync en daemon sur la machine A (machinea.domain.tld) :&lt;/p&gt;


&lt;pre&gt;jeanpierre@machineA:~$ sudo rsync --daemon&lt;/pre&gt;


&lt;p&gt;Et depuis la machine B (machineb.domain.tld) :&lt;/p&gt;


&lt;pre&gt;edmond@machineB:~$ rsync -avz edmond@machinea.domain.tld::mon_partage ~/mon/repertoire/cible&lt;/pre&gt;


&lt;p&gt;La saisie du password de l'utilisateur &lt;code&gt;edmond&lt;/code&gt; défini précedemment lancera la synchronisation effective des fichiers. Pour éviter la saisie manuelle du password, il faut envisager d'utiliser l'option &lt;code&gt;--password-file=FILE&lt;/code&gt;. Pour se faire, il faut créer un fichier contenant juste le mot de passe en clair, par exemple dans &lt;code&gt;/home/edmond/.rsync_passwd&lt;/code&gt; comme ceci :&lt;/p&gt;


&lt;pre&gt;3dm0nd&lt;/pre&gt;


&lt;p&gt;Ce fichier devra n'être accessible que par l'utilisateur système utilisant la commande &lt;code&gt;rsync&lt;/code&gt;. Dans le cas de l'utilisateur connecté à la machine B :&lt;/p&gt;


&lt;pre&gt;edmond@machineB:~$ chmod 640 /home/edmond/.rsync_passwd&lt;/pre&gt;


&lt;p&gt;On peut alors lancer une synchro de cette façon :&lt;/p&gt;


&lt;pre&gt;edmond@machineB:~$ rsync -avz edmond@machinea.domain.tld::mon_partage ~/mon/repertoire/cible --password-file=/home/edmond/.rsync_passwd&lt;/pre&gt;


&lt;p&gt;L'avantage de cette ligne de commande est qu'elle peut être appellée depuis un Cron et donc ne pas nécessiter de saisie du mot de passe manuellement.&lt;/p&gt;


&lt;p&gt;Enfin, sachez que les éventuelles erreurs d'authentification seront logguées dans le fichier &lt;code&gt;/var/log/syslog&lt;/code&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>