Ce blog — désormais archivé — est en lecture seule. Rendez-vous sur mon nouveau site personnel.

Prendre un Café

L'espace d'expression de Nicolas Perriault

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

Keyword - ubuntu

Fil des billets

lundi 5 février 2007

Sécuriser son Ubuntu-server

L'intérêt d'avoir une Dedibox sur une classe C réputée niche à boulets, c'est qu'on est confronté à de nombreuses tentatives de hacks, DDOS et autres bruteforce quasi-quotidiennement. De quoi envisager une approche totalement paranoïaque de la sécurité du système ; voila quelques bonnes résolutions pour une Ubuntu-server.

Utilisez de vrais mots de passe

Minimum 8 caractères avec des lettres, des chiffres et de la ponctuation. Changez-en régulièrement.

Mieux, utilisez des clés SSH.

Désactiver l'accès root depuis SSH

Si quelqu'un arrivait à craquer votre accès SSH, il serait dommage qu'il arrive directement en root. Le moyen le plus simple pour éviter cela, c'est de désactiver l'accès SSH en root, en éditant le fichier /etc/ssh/sshd_config et en remplaçant la ligne :

PermitRootLogin: yes

par

PermitRootLogin: no

Changer le port SSH par défaut

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

Port 12345

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.)

Par exemple si vous déclarez le port 12345 pour SSH, vous vous connecterez ainsi sur la machine :

$ ssh user@machine.tld -p 12345

Note : Chaque modification du fichier sshd_config doit occasionner un redémarrage du service :

$ sudo /etc/init.d/ssh restart

Blacklister les IP malsaines

fail2ban 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 :

$ sudo apt-get install fail2ban

Plus d'infos sur la configuration et l'utilisation de fail2ban.

Interdire l'execution depuis /tmp

Le répertoire /tmp 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 noexec à votre fichier /etc/fstab, comme dans cet exemple :

/dev/sda3   /tmp    ext3   noexec,nosuid     0    2

Si vous ne possédez pas de point de montage pour /tmp, pas de panique : vous allez pouvoir en créer un à l'arrache :-)

Attention :

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

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

Installer un firewall

Shorewall est un firewall simple à administrer, mais pas pour autant moins efficace que les autres. L'installation se fait par un traditionnel :

$ sudo apt-get install shorewall

Un très bon tutoriel de configuration du logiciel existe, 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.

Vérifier régulièrement la présence de rootkits

Chkrootkit scanne votre machine et y déniche les rootkits les plus répandus. Le programme s'installe facilement via la commande :

$ sudo apt-get install chkrootkit

Et se lance de cette façon :

$ sudo chkrootkit

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

0 3    *   *   *   chkrootkit 2>&1 | mail vous@domain.tld -s "Rapport de chkrootkit"

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

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

Note : si la commande mail est inconnue de votre système, installez le paquet mailx :

$ sudo apt-get install mailx

Emprisonnez vos programmes et utilisateurs

Chroot est un programme qui permet de littéralement emprisonner 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.

Plus d'informations sur la commande chroot.

Encore quelques conseils de base

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

Les commentaires bouillent d'impatience de recevoir vos remarques, suggestions et contributions.

Edit : Prise en compte de certains commentaires judicieux.

Edit 2 : JJL pose une vraie question : Ubuntu est-elle prête pour le serveur ? 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...

mercredi 10 janvier 2007

Une imprimante laser qu'elle est bien sous Ubuntu

Sur les conseils de plusieurs membres du forum Ubuntu-fr, j'ai craqué pour une imprimante laser n&b Brother HL-2030.

Et bien je ne suis pas déçu : l'imprimante, non contente de s'installer en un clin d'oeil sous Ubuntu Edgy, propose une vitesse, une qualité d'impression et un un silence de fonctionnement très satisfaisants.

Et en plus, elle est pas trop chère, donc je ne vais pas me priver de faire un peu de pub pour ce fort sympathique matériel.

Edit: Correction d'un lien brisé

dimanche 24 décembre 2006

Installer Cacti sur Ubuntu

Alerte de sécurité du 8 février 2007

La version de Cacti présente dans les dépôts Universe (non supportés officiellement donc) possède une faille de sécurité importante permettant à un utilisateur peu scrupuleux d'executer du code arbitraire oudes injections SQL sur votre machine : autant dire que le problème est sérieux.

Je me vois donc contraint de vous rappeler que les dépôts Universe ne sont pas officiellement maintenus sur Ubuntu et donc que les programmes en émanant peuvent faire l'objet de failles de sécurité dont les correctifs peuvent tarder à venir.

Installation

Cacti est un outil de monitoring matériel très complet et générant de jolis graphes informatifs sur la charge CPU, la charge réseau et autres informations bien utiles aux administrateurs système en herbe.

Cacti s'installe très facilement sous Ubuntu, voici la procédure pour une 6.06 lts (Dapper drake) déjà configurée en serveur Apache2, MySQL et PHP :

$ sudo apt-get update
$ sudo apt-get install cacti

À la question :

Faut-il configurer la base de données de cacti avec dbconfig-common ?

Répondez oui et entrez les paramètres MySQL demandés par l'assistant de configuration. Si par hasard l'assistant vous déclare ne pas réussir à créer la base de données cacti, ouvrez un autre shell et créez une nouvelle base de données cacti comme suit :

$ mysql -uroot -p
Password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 21 to server version: 5.0.24a-Debian_9-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE cacti;
Query OK, 1 row affected (0.00 sec)

mysql> \q
Bye

Ceci fait, faites pointer votre renard préféré vers http://votredomaine.tld/cacti et suivez les étapes de configuration en ligne de l'outil. Théoriquement vous n'avez rien de particulier à changer aux options préremplies par défaut. Une fois les étapes de configuration franchies, logguez vous dans la console d'administration Cacti en admin:admin puis changez immédiatement votre mot de passe.

Les graphes seront automatiquement générés à intervalles réguliers et vous aideront à superviser votre machine, comme dans la capture d'écran ci-dessous.

Cacti graphes

Ah, et bonnes fêtes à tous :)

jeudi 21 décembre 2006

Back(space) to the future

[Via Ubuntonista]

On était quelques-uns à regretter, depuis la sortie de Firefox2 sous Ubuntu, la disparition de la fonctionnalité permettant de revenir en arrière dans son historique de navigation au moyen de la touche [Backspace]. Et bien réjouissons-nous, une solution a été trouvée rétablissant l'odre naturel et immuable des choses en ce bas monde \o/ :

  • Tapez about:config dans la barre d'adresse de Firefox 2,
  • Cherchez browser.backspace_action et remplacez la valeur par 0 (zéro)

C'est tout. Content.

vendredi 8 décembre 2006

Zapping #3

mercredi 29 novembre 2006

Installer XDebug sur Ubuntu et l'utiliser avec Symfony

Si comme moi vous développez beaucoup avec Symfony [1] (ou avec PHP en général), les informations fournies par XDebug peuvent être très utiles. Pour installer XDebug 2.0RC1 sur une Ubuntu Edgy, voici la démarche à suivre :

$ sudo apt-get install php-pear php5-dev
$ sudo pecl install xdebug-beta

C'est dur hein ? Bon, il reste une petite manipulation : il faut activer l'extension dans votre (ou vos) fichier(s) php.ini. Par exemple chez moi, je rajoute cette ligne à la toute fin du fichier :

zend_extension="/usr/lib/php5/20051025/xdebug.so"

Et je relance Apache. Pour ceux qui connaissent la barre de débug en ligne de Symfony, vous allez voir du changement (avant / après)

Évidemment les perfs en prennent un coup, mais le jeu en vaut la chandelle quand on cherche le vilain dysfonctionnement volatile.

Merci XDebug, merci Symfony !

Edit : Ajout du paquet php_pear contenant pecl, merci Mat.

Notes

[1] Qui vient tout juste de sortir en 1.0 beta 1 !

jeudi 2 novembre 2006

The Edgy Dance

[Via Scott James Remnant]

Tout utilisateur d'Ubuntu a au moins une fois dans sa vie de geek [1] entendu le fameux startup-sound percussif du système.

Toujours est-il qu'une tradition semble avoir découlé de cela, celle de se lever et de danser, d'agiter les bras en l'air ou de tapoter avec ses doigts sur une table dès qu'on entend ce son, et ce où que l'on soit.

Je trouve l'idée amusante et je vais désormais m'y atteler :-P

Notes

[1] Ou alors la détection des cartes son a encore beaucoup de pain sur la planche.

mercredi 1 novembre 2006

Installer l'accélerateur APC pour PHP5 sur Ubuntu

APC est un accélérateur PHP qui permet d'optimiser les performances de vos applications PHP. Voyons comment l'installer sur un serveur Ubuntu Dapper Drake 6.06 LTS avec Apache2 et PHP5 :

$ sudo apt-get update
$ sudo apt-get install build-essential php5-dev php-pear apache2-prefork-dev

On va utiliser l'utilitaire de gestion de modules d'Apache2, apxs2. APC va chercher par défaut la version Apache1, donc on fait un lien symbolique :

$ sudo ln -s /usr/bin/apxs2 /usr/bin/apxs

Cette installation nécessite une importante quantité de mémoire vive allouée à PHP, aussi nous allons devoir augmenter cette valeur au sein du script de commande PEAR en modifiant le fichier /usr/share/php/pearcmd.php et en y ajoutant en tête de fichier la ligne :

<?php
ini_set('memory_limit','24M');

Tout est prêt, on peut lancer l'installation d'APC via PECL :

$ sudo pecl install apc

Répondez oui à toutes les questions posées. Ceci fait et si l'installation s'est déroulée convenablement, éditez votre fichier /etc/php5/apache2/php.ini :

extension=apc.so

Il ne reste plus qu'à redémarrer Apache2 pour profiter d'une substantielle amélioration des performances de vos applications PHP5 :-)

- page 2 de 13 -