/etc/hosts.deny проигнорированный в Ubuntu 14.04

У меня есть Apache2, работающий на Ubuntu 14.04LTS. Чтобы начать защищать доступ к сети к машине, я хочу запуститься путем блокирования всего, затем сделать конкретными, позволяют операторам для определенных подсетей просматривать на сайты, размещенные в Apache.

Сервер Ubuntu установлен без пакетов, выбранных во время установки, единственные пакеты, добавленные после того, как установка будет: склонный - получают обновление; склонный - получают установку apache2, php5 (с дополнительными php5-модулями), openssh-сервер, mysql-клиент

Следующее - мой /etc/hosts.deny & /etc/hosts.allow настройки:

  • /etc/hosts.deny

    ALL:ALL
    
  • /etc/hosts.allow имеет не позволяют записи вообще.

Я ожидал бы, что все сетевые протоколы будут отклонены. Признак - то, что я могу все еще веб-обзор на сайты, размещенные на веб-сервере Apache даже при том, что существует опровергание всего заявления в/etc/hosts.deny

Система была перезагружена после того, как не разрешать въезд был добавлен.

Почему был бы/etc/hosts.deny с ALL:ALL быть проигнорированным и позволить http, просматривающий сайтам, размещенным на апачском веб-сервере?

3
задан 12 August 2014 в 05:23
4 ответа

Для того, чтобы tcp-обертки вступили в силу, необходимо запустить соответствующий сервис из xinetd или иметь ссылку приложения на libwrap. Демон xinetd - это суперсервис, обернутый в TCP.

enter image description here

tcpwrappers совместимость

Первое, что нужно запомнить, это то, что не каждое сетевое приложение на вашей машине совместимо с tcpwrappers. Ограничения на hosts.allow или hosts.deny действительны только в том случае, если они относятся к библиотеке tcpwrappers. Как вы можете узнать совместимо ли ваше приложение? Используйте эту команду:

ldd /path/to/binary | grep libwrap (general example)

ldd /usr/sbin/sshd | grep libwrap (shows that the sshd refers to libwrap)

ldd /usr/sbin/apache2 | grep libwrap (show that apache does not refer to libwrap)

В основном примере выше мы видим, что sshd (сервер ssh) ссылается на libwrap.so, поэтому мы можем сказать, что любые ограничения в hosts.allow и hosts.deny применимы к этому сервису. Мы также видим, что apache2 не ссылается на libwrap.so, поэтому любые ограничения, описанные там, не применимы к соединениям с apache2. (т.е. вы можете заблокировать ssh, но apache2 все еще широко открыт)

1
ответ дан 3 December 2019 в 07:28

Для ограничения вашего apache-сервера добавьте что-то из следующего в httpd.conf

<Directory />
Order Deny, Allow
Deny from all
#Allow from your ip
</Directory>

Если я правильно помню, что вам нужен включенный mod_access, но в основном это происходит по умолчанию.

NB! Вы должны перезапустить apache

.
0
ответ дан 3 December 2019 в 07:28

Файлы hosts.allow и hosts.deny обладают лишь ограниченной эффективностью. Это не относится к приложению apache.

Однако, в конфигурационных директивах apache есть директивы контроля доступа, которые позволяют делать такие ограничения.

.
0
ответ дан 3 December 2019 в 07:28

См. https://stackoverflow.com/questions/19445686/ubuntu-server-apache-2-4-6-client-denied-by-server-configuration-php-fpm и Обновление с версии Apache 2.2 до версии 2.4

В Ubuntu 14.04 что-то было изменено для конфигурации Apache. Вы должны сделать это изменение: Изменить

Order Deny,Allow
Deny from all

на

Require all denied
0
ответ дан 3 December 2019 в 07:28

Теги

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