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.