Voici une question posée par Gokul, l'un des lecteurs réguliers de Techglimpse - hosts.allow ne fonctionne pas sur l'installation minimale de CentOS 7.
Question :J'ai récemment installé une version minimale de CentOS sur mon VPS. Après l'installation, j'ai essayé de configurer hosts.allow pour autoriser les connexions TCP uniquement à partir d'adresses IP connues et de leurs plages. Pour ce faire, je modifie généralement /etc/hosts.allow et j'autorise les adresses IP comme ci-dessous :
TOUS :10.180.*.*, 106.*.*.* :autoriser
Mais pour une raison quelconque, j'ai pu me connecter en SSH au serveur à partir d'une adresse IP non fiable (celle qui n'était pas autorisée dans hosts.allow). Il semble que hosts.allow ne fonctionne pas sur l'installation minimale de CentOS 7. Comment résoudre ce problème ? – Gokul
Réparer hosts.allow ne fonctionne pas sur l'installation minimale de CentOS 7
Généralement, hosts.allow
contiendra des règles pour autoriser ou refuser les connexions aux services réseau contrôlés par tcp_wrappers
bibliothèque. Donc, si votre hosts.allow
les entrées sont correctes et si cela ne fonctionne toujours pas, alors vous devez voir si tcp_wrappers
bibliothèque est installée dans l'installation minimale du système d'exploitation. Dans la plupart des cas, les installations minimales peuvent ne pas être fournies avec tcp_wrapper
bibliothèque pré-installée. L'installation de tcp_wrapper pourrait donc résoudre le problème.
Installez la bibliothèque tcp_wrapper :
En fait, le démon qui lit hosts.allow
et hosts.deny
est tcpd
. Vous devez donc vérifier quelle bibliothèque fournit tcpd
démon comme ci-dessous :
# yum provides tcpd
Exemple de résultat :
tcp_wrappers-7.6-77.el7.x86_64 : A security tool which acts as a wrapper for TCP : daemons Repo : base Matched from: Filename : /usr/sbin/tcpd
L'exemple de sortie confirme que le tcpd
le binaire est fourni par tcp_wrappers
bibliothèque. Installez tcp_wrappers
bibliothèque utilisant yum
.
# yum install tcpd ::::::::::::::::::::: Installed: tcp_wrappers.x86_64 0:7.6-77.el7
Après avoir modifié hosts.allow
et hosts.deny
, démarrez le démon comme ci-dessous :
# /usr/sbin/tcpd
Vérifiez si hosts.allow
autorise à juste titre uniquement les hôtes de confiance à accéder aux services de mise en réseau.
Ne fonctionne toujours pas? Dans la plupart des cas, vous devez toujours DENY ALL
dans hosts.deny
avant d'autoriser dans hosts.allow
Par exemple,
What has always worked for me is: /etc/hosts.deny = ALL: ALL: DENY /etc/hosts.allow = sshd: 10.168.1.21
J'espère que ça aide.