Désactiver IPv6 sous RedHat EL et CentOS 7

La solution la plus simple et efficace pour désactiver totalement la prise en charge IPv6 sous RedHat Enterprise Linux et CentOS en version 7 est de le désactiver au niveau du programme d’amorçage GRUB.

Cette solution est bien spécifique aux version 7.x de RHEL/CentOS et n’est pas compatible pour les versions antérieures.

Pour cela, éditer le fichier /etc/default/grub :

# vim /etc/default/grub

Ajouter ipv6.disable=1 à la fin du paramètre GRUB_CMDLINE_LINUX (avant le caractère ") :

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet ipv6.disable=1"

Puis générer le fichier grub.cfg grâce à la commande grub2-mkconfig :

# grub2-mkconfig -o /boot/grub2/grub.cfg

Enfin, redémarrer le système pour la prise en compte du support IPv6 :

# reboot

Après redémarrage, si vous listez les interfaces vous ne devriez plus avoir de ligne inet6 comme ici :

AVANT

# ip addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

APRES

# ip addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever

Si tel est le cas, c’est bon, le support IPv6 est désactivé ! Pour le réactiver, il suffit de suivre cette même procédure en supprimant le motif ipv6.disable=1.

CentOS 6 : schéma de partitionnement

Introduction

Suite à l'installation d'un nouveau serveur muni du système d'exploitation CentOS en version 6, je me suis posé la question du partitionnement.

Après la lecture de la documentation officielle de RedHat sur le sujet, j'en suis arrivé à la conclusion que le schéma de partitionnement ci-dessous convenait très bien pour un serveur avec 2 Gio de RAM et quelque soit la taille du disque dur associé.

Schéma

  • /boot : 256 Mio
  • / : 4 Gio
  • swap : 4 Gio
  • /home : 256 Mio
  • /tmp : 256 Mio
  • /var : 4 Gio

Explication des tailles

Malgré le gros disque dur, il ne me semble pas nécessaire de tailler de grosses partitions dès le départ puisqu'elles peuvent facilement s'agrandir par la suite en fonction des besoins, d'autant que c'est une opération faisable à chaud via LVM (sauf les partitions / et /boot qui ne sont pas en LVM mais qui ne sont pas sensés grossir après l'installation, sauf à empiler les kernel 🙂 ).

Par ailleurs, je considère que les applications principales devraient avoir leur propre volume logique pour le stockage des logs et données, le schéma indiqué ici ne devrait donc s'appliquer qu'à l'espace utilisé par le système et les applications mineures.

  • /boot : destiné à accueillir le noyau du système d'exploitation, je le laisse à la taille recommandée de 256 Mio
  • / : contient la plupart des fichiers et logiciels du système d'exploitation, notamment dans /usr que RedHat ne conseille pas de placer sur une partition séparée pour des questions de compléxité du processus de démarrage
  • swap : avec 2 Gio de RAM, on peut encore utiliser la formule de calcul "swap = 2 * RAM". Au-delà et jusque 8 Gio, mettre la même taille que la RAM
  • /home : taille minimum, à ajuster plus tard en fonction du nombre d'utilisateurs et de leurs besoins
  • /tmp : taille minimum
  • /var : contient des applications et sert de base au téléchargement des mises à jours de paquets : une taille de 4 Gio est plutôt conseillée

Et après ?

Le reste de la taille sera affecté à un ou plusieurs groupe de volumes LVM afin de pouvoir le distribuer plus tard aux différentes applications hébergées sur le serveur.

Variantes

Quelques variantes discutées dans les commentaires :

  • /home à 1 Gio
  • /var à 8 Gio
  • /tmp à 4 Gio
  • placer /usr et /lib dans des volumes séparés plutôt que dans /, et avoir un / plus petit

Modifier le hostname sous RedHat

Avec une distribution RedHat la modification du hostname de la machine se fait via une modification du fichier /etc/sysconfig/network :

$ vi /etc/sysconfig/network
HOSTNAME=monordinateur

La modification sera prise en compte au prochain démarrage de la machine.

Pour une prise en compte immédiate on utilise la commande hostname :

$ hostname monordinateur

On peut vérifier avec la commande hostname suivi d'aucun argument :

$ hostname
monordinateur

Pour la prise en compte dans l'invite de commande, il faut se déconnecter puis se reconnecter.

 

Chrooter un utilisateur

chroot est une commande permettant de lancer une commande en modifiant l'emplacement du répertoire racine. Ainsi, si l'on choisit comme répertoires racine /usr/local/jail, lorsque l'utilisateur tapera "cd /" il arrivera dans ce qui est pour lui la racine (la commande pwd lui retournera bien /), alors qu'en réalité il sera dans /usr/local/jail. Il ne pourra donc pas accéder à la vraie racine du serveur.

Objectif : permettre à un utilisateur d'accéder à un système Linux de manière étanche avec le reste du système tout en lui permettant d'accéder à certaines ressources ou services, comme par exemple la possibilité de se connecter en ssh et d'utiliser sftp.

En pratique, on obligera l'utilisateur à s'emprisonner lui-même dans un environnement "prison" que l'on aura préparé spécialement pour lui 🙂

Cette note sera découpée en deux grandes parties : la création de la prison et de son environnement, puis la création des utilisateurs de cette prison.

Logiciels utilisés : chroot, OpenSSH 4

Système d'exploitation : RedHat EL 5, Linux 2.6.x

Continuer la lecture de « Chrooter un utilisateur »