Cette page a pour but de vous décrire l'accès à votre serveur expert nouvellement créé, les services en écoute sur celui-ci à la création, ainsi que vous fournir des informations sur la manière de le sécuriser un minimum.
L'accès se fait donc par SSH avec l'utilisateur configuré lors de la création et le mot de passe correspondant. Cet utilisateur est capable de gagner les droit super-utilisateur soit 'root' en tapant la commande 'su -'.
Puisque le mot de passe de l'utilisateur est le même que celui du super-utilisateur, il convient de les changer grâce à la commande 'passwd'.
L'agent Gandi
Au lieu d'utiliser un mot de passe pour l'utilisateur système lorsque vous vous connectez en SSH, vous pouvez créer un couple de clés privée/publique qui vous serviront à vous connecter.
Sur votre ordinateur, créez les clés :
ssh-keygen -t rsa -b 2048
Ensuite, envoyez la clé publique sur le serveur distant :
scp .ssh/id_rsa.pub user@ip_du_serveur:~/.ssh/authorized_keys
Si le répertoire '.ssh' n'existe pas préalablement sur le serveur virtuel, je vous suggère de le créer puis d'envoyer la clé publique.
Lorsque vous vous connecterez en SSH (ssh user@ip_du_serveur), le serveur ne vous demandera alors pas de mot de passe, la clé vous authentifiant.
Une clef SSH est aussi incluse dans les serveurs expert pour permettre à notre équipe technique d'accéder au serveur expert *si l'autorisation nous est donnée* et si l'urgence ou le problème ne permet pas une résolution de votre côté de manière simple.
Vous pouvez la désactiver dans le fichier /etc/default/gandi
Cette technique permet d'éviter partiellement les attaques par brute-force, le service SSH n'étant ouvert que si vous tapez d'abord sur un autre port défini par vos soins.
Il sera indisponible si le visiteur n'a pas encore effectué d'action sur un port précis, SSH ne pourra alors être attaqué par brute-force ou autre méthode.
Je vous invite à vous reporter aux documentations sur Internet qui expliquent cette technique :
Plusieurs outils à base d'Iptables (règles du pare-feu Netfilter/Linux) peuvent assurer la sécurité et vous rapporter les tentatives de connexion frauduleuses, notez qu'Iptables peut être géré en ligne de commande directement :
Sur les systèmes Unix/BSD, Packet Filter (PF) est le pare-feu usuel.
Logwatch/logcheck : reporting quotidien par email - parsing des journaux du serveur
Rkhunter/Chkrootkit : vérification de la présence de rootkits sur le serveur
Ninja/Tiger : reporting système (permissions et modifications des fichiers système)
Debsecan : reporting sur les failles connues des paquets installés sur le serveur
Vous devez dans un premier temps activer SELinux dans les paramètres avancés du disque, en vous rendant sur la page principale de gestion du disque en question sur le site de gandi.net.
Vous devez alors indiquez dans les champs suivants :
selinux : Activer selinux security : selinux
Puis validez la modification. À noter que le serveur doit être redémarré afin que les changements soit pris en compte. Vous pourrez le vérifier sur votre serveur en exécutant la commande :
# cat /proc/cmdline console=hvc0 nosep loglevel=8 selinux=1 security=selinux ro root=/dev/xvda1
Puis, ajoutez les lignes suivantes dans le fichier '/etc/fstab' :
none /selinux selinuxfs defaults 0 0
Installez ensuite les packages suivants :
SELinux devrait être activé à partir de là.
Si vous redémarrez votre serveur, vous devrez effectuer des étapes supplémentaires.
Il faudra utiliser semodule pour l'installation, par exemple :
# packages="execmem.pp.bz2 unconfined.pp.bz2 unconfineduser.pp.bz2" # semodule -n -r oracle-port -b base.pp.bz2 -i $packages -s \ targeted 2>&1 | grep -v "oracle-port"
La liste des paquets disponibles se trouve dans le fichier '/usr/share/selinux/<type>/*.pp.bz2'.
Vous pouvez également charger les polices en utilisant la commande 'load_policy'.
Si besoin, vous pouvez corriger avec 'fixfiles'. Vous pouvez vérifier le statut de SELinux avec la commande 'sestatus'.
Vous pouvez disposer de plus d'information dans les scripts des paquets selinux-policy-<type>, lisible avec la commande 'rpm -q –scripts', par exemple ''rpm -q –scriptps selinux-policy-minimum'.