Ceci est une ancienne révision du document !
Table des matières
hosts.allow, hosts.deny
Ces deux fichiers dans /etc sont le lieu commun pour stocker les règles qui permettront d'autoriser des hôtes à se connecter à des services sur votre machine.
Alors qu'un pare-feu peut être considéré comme cachant une porte, ces fichiers contrôlent qui est autorisé à ouvrir la porte.
Utilisé en combinaison, ces deux fichiers peuvent être utilisés pour créer soit:
- une ouverture par défaut avec des exclusions (liste d'interdiction)
- une fermeture par défaut avec des exclusions (liste d'invités)
Par défaut Slackware est livré avec ces deux fichiers vide, cela signifie que la porte est déverrouillée et que personne n'est interdit.
Ce document vous aidera à changer cet état par défaut par une configuration plus sécurisée.
Contenu
- Faites en sorte d'avoir une clé avec vous
- Vérouiller la porte
- Ecrire la liste des invités
- Ajouter un deuxième hôte
- Ajouter plusieurs hôtes
- Ajouter d'autres services
- Parlez vous!
- Notes
- Voir aussi
Faites en sorte d'avoir une clé avec vous
Si vous vous connectez à la machine par ssh, vous aurez envie de vous assurer que les connexions suivantes sont autorisées. Si la machine devant laquelle vous êtes assis est 192.168.0.10, éditer /etc/hosts.allow et ajoutez:
sshd: 192.168.0.10
Si vous utilisez un DNS, vous pouvez également référer à votre Machine par son nom, par exemple:
sshd: wibble.mynet.invalid
Verrouiller la porte
Cela se fait simplement en éditant /etc/hosts.deny et en ajoutant la ligne:
All: All
Les connexions qui sont en cours d'utilisation seront toujours utilisables, seuls les nouvelles connexions via SSH depuis 192.168.0.10 seront autorisés.
Ecrire la liste des invités
Ajouter un deuxième hôte
Nous avons déjà permis les connexions au serveur sshd uniquement depuis 192.168.0.10, si nous voulons permettre à un second hôte de se connecter, c'est aussi simple que d'ajouter :
sshd: 192.168.0.10 192.168.0.11
ou
sshd: wibble.mynet.invalid wobble.mynet.invalid
Vous pouvez avoir un espace entre eux ou ajouter une virgule pour plus de clarté.
Ajouter plusieurs hôtes
Il est possible de permettre à des plages d'adresses de se connecter soit en raccourcissant l'adresse, soit en utilisant un masque réseau.
sshd: 192.168.0.
sshd: 192.168.0.0/255.255.255.0
Les deux auront le même effet.
Vous pouvez permettre à tous ceux d'un nom de domaine de se connecter, par exemple:
sshd: .mynet.invalid
Adding other services
In the main, the name of the service you are connecting TO eg sshd, in.telnetd, vstfpd, proftpd should be placed in hosts.allow, but as with all things there are exceptions… NFS, with NFS we are making rules for what services we are allowing connections FROM.
If for example the machine we are locking down is an nfs server, and you want to mount it on 192.168.0.10 we would put in /etc/hosts.allow
portmap: 192.168.0.10 mountd: 192.168.0.10
Likewise, similarly back to front, if you want it to mount an nfs export we would put in the address of the nfsd we want to mount
portmap: 192.168.0.10 nfsd: 192.168.0.10
Talking to yourself
Sometimes it's not a bad idea, for example the rndc process for reloading bind might be on the same machine running named, in this case we want to allow connections from the same machine we are on.
rndc: 127.0.0.1
Again, note it is the name of the proccess we want to talk to, not the name of the listening process.
Notes
This does not cover all the variations in grammar of these two files nor will it secure all services that open ports but should hopefully give you a taste of what can be done.
See also
man (5) hosts_access
Sources