Назад | Перейти на главную страницу

управлять контролем доступа по IP через приложение httpd php с конфигурацией virtual_host

Проблема

Система обеспечивает универсальный доступ к php-приложению owncloud. То есть доступ предоставляется серверам в сети. В качестве теста «Требовать все отклонено» доступ не контролировался.

Что отсутствует в этой конфигурации для ограничения доступа к хосту сервера?

Другие мысли

Требуются ли изменения конфигурации и в hpptd.conf? Это проблема owncloud.conf или httpd.conf? Участвует ли php.conf в этих симптомах?

Технические характеристики

Fedora 21

Файл /etc/httpd/conf.d/owncloud.conf:

<VirtualHost *:443>
    ServerName owncloud
    ServerAlias owncloud
    DocumentRoot /var/www/html/owncloud
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/owncloud.pem
SSLCertificateKeyFile /etc/httpd/ssl/owncloud.key
<Directory /var/www/http/owncloud>
    Options +Indexes +FollowSymLinks
        AllowOverride All
        Require local
    <IfModule mod_php5.c>
    php_value upload_max_filesize 512M
    php_value post_max_size 512M
    php_value memory_limit 512M
    php_value mbstring.func_overload 0
    </IfModule>
    <IfModule pagespeed_module>
    </IfModule>
    RewriteEngine on
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
    RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R]
    RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R]
</Directory>
</VirtualHost>

Если ваш сервер разрешает трафик, несмотря на то, что Require local и особенно Require all denied, то это проблема apache / httpd. Это либо переопределение (например, .htaccess), либо загружается другой файл конфигурации. Apache будет применять списки доступа в соответствии с наиболее конкретный каталог в списке. Пример: / var / www / http / owncloud установлен в Require local, если для / var / www / http / owncloud / theRealServerRoot установлено значение Require all granted, тогда всем будет разрешено все, что находится в 'theRealServerRoot', хотя им запрещен доступ к родительскому каталогу. Возможно, вы это уже знаете, но на всякий случай. Кроме того, если два файла конфигурации ссылаются на один и тот же каталог с помощью <directory> оператор, какой бы файл конфигурации ни был загружен последний будет применяться. Загрузка обычно выполняется в алфавитном порядке. Если у вас есть файл security.conf, определяющий альтернативный Require операторы для / var / www / http / owncloud, тогда они будут использоваться вместо того, что находится в owncloud.conf.

1) Можете ли вы дважды проверить, что owncloud не воссоздает файлы .htaccess, как только вы их переименовываете?

2) Какие еще файлы находятся в каталоге conf.d? Не могли бы вы проверить, действуют ли они в каталоге?

3) Кроме того, опубликованный вами файл предназначен для https; Вы проверяете доступ по адресу https: //, верно? Потому что, скорее всего, для URL http: // существует другой набор правил.

4) Наконец, что маловероятно, вы используете обратный прокси или балансировщик нагрузки? Оба они изменяют IP-адрес, который будет видеть apache / httpd, и вызовут ту же проблему, если он будет работать на том же сервере (хотя он все равно будет заблокирован, когда вы укажете в Require all denied линия).