Блокирует ли /etc/host.deny http-запросы?

Если я помещу запись в /etc/hosts.deny, заблокирует ли он все запросы с этого IP-адреса на мою машину (например, iptables do ), или он будет блокировать доступ только для некоторых приложений, таких как SSH?

-2
задан 3 December 2015 в 09:41
2 ответа

Если вы говорите о стандартном дистрибутиве Linux, то это зависит от приложения. Вопрос о порте 80, я был бы склонен ответить нет, поскольку большинство известных мне веб-серверов (в первую очередь, apache) не скомпилированы с библиотекой tcpwrapper - это то, что сообщает приложениям of hosts. {allow, deny} директивы.

У веб-серверов, конечно же, есть собственный способ отключения нежелательных клиентов. Однако, если вы не хотите зависеть от методов, специфичных для приложения, самый надежный способ - это низкоуровневый брандмауэр (например, упомянутый iptables).

1
ответ дан 5 December 2019 в 21:11

Инструкции по чтению Иэна как услуга в вашей службе erm ...

Это зависит от

Если вы установите

ALL: 192.0.2.1, example.com

, он заблокирует доступ ко всем ВСЕМ соответствующим образом скомпилированные службы для перечисленных хостов.

Если вы укажете

sshd: 192.0.2.1, example.com

, то доступ к sshd будет заблокирован для перечисленных хостов, при условии, что sshd был скомпилирован соответствующим образом.

Для службы, которая должна принимать преимущество hosts.deny | hosts.allow, он должен быть осведомлен о tcpwrapper, не все службы.

В общем, вы и проверяете, поддерживает ли служба tcpwrapper, например, ища libwrap в выводе ldd для двоичный файл, например

ldd /usr/sbin/sshd | grep libwrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fae25ae7000)

, поэтому в этом случае sshd поддерживает tcpwrapper.

2
ответ дан 5 December 2019 в 21:11

Теги

Похожие вопросы