Zde je otázka, kterou položil Gokul, jeden z pravidelných čtenářů na Techglimpse – hosts.allow nefunguje na minimální instalaci CentOS 7.
Otázka:Nedávno jsem na své VPS nainstaloval minimální verzi CentOS. Po instalaci jsem zkusil nakonfigurovat hosts.allow tak, aby umožňoval připojení TCP pouze ze známých IP adres a jejich rozsahů. K tomu obecně upravuji /etc/hosts.allow a povoluji IP adresy, jak je uvedeno níže:
VŠECHNY:10 180.*.*, 106.*.*.*:povolit
Ale z nějakého důvodu jsem byl schopen SSH na server z nedůvěryhodné IP adresy (ta, která nebyla povolena v hosts.allow). Zdá se, že hosts.allow nefunguje na minimální instalaci CentOS 7. Jak tento problém vyřešit? – Gokul
Oprava hosts.allow nefunguje na minimální instalaci CentOS 7
Obecně hosts.allow bude obsahovat pravidla pro povolení nebo zakázání připojení k síťovým službám, které jsou řízeny tcp_wrappers knihovna. Pokud tedy váš hosts.allow položky jsou správné a pokud to stále nefunguje, musíte se podívat, zda tcp_wrappers knihovna je nainstalována v minimální instalaci OS. Ve většině případů nemusí být minimální instalace součástí tcp_wrapper knihovna předinstalovaná. Takže instalace tcp_wrapper by mohla problém vyřešit.
Nainstalujte knihovnu tcp_wrapper:
Ve skutečnosti démon, který čte hosts.allow a hosts.deny je tcpd . Musíte tedy zkontrolovat, která knihovna poskytuje tcpd démona, jak je uvedeno níže:
# yum provides tcpd
Ukázkový výstup:
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
Ukázkový výstup potvrzuje, že tcpd binární soubor poskytuje tcp_wrappers knihovna. Nainstalujte tcp_wrappers knihovny pomocí yum .
# yum install tcpd ::::::::::::::::::::: Installed: tcp_wrappers.x86_64 0:7.6-77.el7
Po úpravě hosts.allow a hosts.deny , spusťte démona, jak je uvedeno níže:
# /usr/sbin/tcpd
Zkontrolujte, zda hosts.allow správně umožňuje přístup k síťovým službám pouze důvěryhodným hostitelům.
Pořád nefunguje? Ve většině případů byste měli vždy DENY ALL v hosts.deny před povolením v hosts.allow
Například,
What has always worked for me is: /etc/hosts.deny = ALL: ALL: DENY /etc/hosts.allow = sshd: 10.168.1.21
Doufám, že to pomůže.