Добавьте заголовок HSTS к HTTPS-конечной точке, обслуживающей Nextcloud.

Предупреждение Nextcloud «Strict-Transport-Security» означает, что проверка не выявила заголовок HSTS со значением max-ageне менее 15552000секунд (180 дней) в общедоступном HTTPS-ответе. Добавьте этот заголовок на веб-сервере или обратном прокси-сервере, который обслуживает HTTPS, а затем протестируйте именно этот общедоступный URL. HSTS не является настройкой в ​​Nextcloud config.php, и обычный HTTP-ответ не может установить политику HSTS в браузерах.

Что проверить перед изменением конфигурации

  • Убедитесь, что сайт Nextcloud корректно загружается по протоколу HTTPS и предоставляет действительный сертификат для своего имени хоста.
  • Определите, какой сервис завершает TLS-соединение: Apache, NGINX, балансировщик нагрузки, входящий трафик контейнера или внешний прокси-сервер.
  • Проверьте, настроена ли эта служба уже Strict-Transport-Security. Отправьте одну преднамеренную политику с общедоступной конечной точки TLS; дублирующиеся или конфликтующие заголовки затрудняют проверку.
  • Перед добавлением убедитесь, что все поддомены готовы к HTTPS includeSubDomains. Не включайте preloadэту опцию, чтобы быстро избавиться от этого предупреждения.

HSTS сообщает браузерам, что будущие подключения к имени хоста должны использовать HTTPS. Это помогает предотвратить переход на HTTP после того, как браузер получил политику. HSTS не заменяет TLS, не исправляет недействительный сертификат и не перенаправляет первое HTTP-запрос; также необходимо настроить отдельное перенаправление HTTP на HTTPS. В руководстве администратора Nextcloud 35 указано минимальное значение в 15552000 секунд, и рекомендуется устанавливать заголовок на веб-сервере. Фактической точкой применения в прокси-сервере является компонент, возвращающий ответ посетителю.

Установите базовую политику

В качестве консервативной начальной политики для имени хоста Nextcloud можно использовать следующий вариант:

Strict-Transport-Security: max-age=15552000

Это соответствует минимальному сроку действия документов Nextcloud без автоматического применения политики ко всем поддоменам. После того, как вы убедитесь, что все соответствующие поддомены постоянно поддерживают HTTPS, вы можете рассмотреть возможность добавления ; includeSubDomainsдирективы `https://www.nextcloud.com/domain.com/`. Браузер, который распознал эту директиву, также будет требовать HTTPS для этих поддоменов. Внутренняя панель управления, почтовый сервер или устаревшая служба, которая все еще зависит от HTTP, могут стать недоступными в этом браузере до тех пор, пока не будет выполнена миграция или не истечет срок действия политики.

Apache

Для виртуального хоста Apache с TLS включите mod_headersэту директиву и разместите её внутри виртуального хоста HTTPS, а не только на хосте перенаправления порта 80:

<VirtualHost *:443>
    ServerName cloud.example.com
    # Keep the existing TLS and Nextcloud configuration here.
    <IfModule mod_headers.c>
        Header always set Strict-Transport-Security "max-age=15552000"
    </IfModule>
</VirtualHost>

Замените указанное в примере имя хоста, сохранив существующий сертификат и конфигурацию прокси или PHP. В примере Nextcloud по усилению безопасности Apache используется Header always setвиртуальный хост HTTPS. Проверьте конфигурацию Apache с помощью поддерживаемой вашей дистрибуцией команды config-test, а затем перезагрузите Apache только в том случае, если тест пройден успешно.

NGINX

В NGINX добавьте заголовок внутри serverблока, который прослушивает HTTPS-трафик на общедоступном имени хоста Nextcloud:

server {
    listen 443 ssl;
    server_name cloud.example.com;
    # Keep your existing TLS and Nextcloud locations here.
    add_header Strict-Transport-Security "max-age=15552000" always;
}

Не следует вставлять этот код в качестве полной замены существующей конфигурации сервера. Наследование заголовков NGINX может зависеть от того, определяет ли вложенное местоположение свои собственные add_headerдирективы; проверьте действующую конфигурацию и протестируйте типичные ответы, включая статические ресурсы и конечные точки DAV. Официальный пример Nextcloud NGINX включает настройку HSTS в конфигурации HTTPS и предупреждает администраторов о необходимости включения предварительной загрузки.

Обратный прокси или входящий трафик

Если балансировщик нагрузки, входящий трафик или размещенный прокси-сервер завершает HTTPS-соединение до пересылки трафика в Nextcloud, установите HSTS на этом публичном уровне TLS, если только ваша архитектура намеренно не добавляет его на доверенном вышестоящем сервере. Заголовок, добавленный только бэкэндом, может быть удален или заменен прокси-сервером. И наоборот, установка его на обоих уровнях может привести к дублированию значений. Проверьте конфигурацию заголовка ответа прокси-сервера и убедитесь, что тестируется именно его маршрут HTTPS. Сохраняйте согласованность настроек доверенного прокси-сервера и URL-адреса HTTPS Nextcloud с существующей конфигурацией, но не рассматривайте эти настройки как замену отправки заголовка.

Проверьте реакцию общественности.

  1. Воспользуйтесь встроенной в платформу программой проверки синтаксиса для проверки измененной конфигурации веб-сервера или прокси-сервера.
  2. Перезагрузите или разверните проверенную конфигурацию.
  3. Запросите публичный HTTPS-адрес и проверьте заголовки ответа: curl -sSI https://cloud.example.com/. Найдите хотя бы одну Strict-Transport-Securityстроку, в которой max-ageсодержится не менее 15552000.
  4. В инструментах разработчика браузера изучите ответ от того же общедоступного хоста. Это может выявить прокси-сервер, изменяющий заголовки, или маршрут, обходящий ожидаемый виртуальный хост.
  5. Перезагрузите страницу «Администрирование» → «Обзор» в Nextcloud и дождитесь обновления проверки безопасности.

Если curlзаголовок HSTS отсутствует, убедитесь, что DNS указывает на отредактированную вами конечную точку, что запрос использует HTTPS и что прокси-сервер не удаляет заголовок. Если заголовок отображается на главной странице, но отсутствует в других ответах, проверьте директивы уровня местоположения NGINX или правила заголовков ответа прокси-сервера. Если публичный ответ корректен, но Nextcloud по-прежнему выдает предупреждение, убедитесь, что административная проверка использует то же внешне видимое имя хоста и схему, а затем проверьте любой уровень кэширования или прокси-сервера между сервером и проверкой.

Используйте предварительную загрузку только после проверки всего домена.

Предварительная загрузка — это отдельный, но очень важный шаг. Сама по себе директива предварительной загрузки не регистрирует домен; списки предварительной загрузки для браузеров имеют свои собственные требования к отправке. Текущие рекомендации для браузеров требуют длинного max-ageи includeSubDomainsподробного описания для регистрации. Nextcloud предупреждает, что удаление из списка предварительной загрузки может занять несколько месяцев, прежде чем оно достигнет установленных браузеров. Начните с базовой политики, проведите инвентаризацию всех затронутых имен хостов, убедитесь, что HTTPS работает на всем домене, и ознакомьтесь с официальными требованиями к предварительной загрузке, прежде чем применять её. Большинство администраторов Nextcloud могут устранить это конкретное предупреждение без включения предварительной загрузки.

Справочная информация: предупреждения безопасности Nextcloud 35 , рекомендации по усилению безопасности Nextcloud , конфигурация Nextcloud NGINX и справочник по заголовкам HSTS на MDN .

Оставить комментарий

Добавьте заголовок HSTS к HTTPS-конечной точке, обслуживающей Nextcloud.

Чтобы устранить предупреждение HSTS от Nextcloud, установите заголовок на Apache, NGINX или вашем TLS-прокси, а затем безопасно проверьте публичный HTTPS-ответ.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Причины сбоев при установке приложений из App Store могут быть связаны с DNS, HTTPS, прокси-сервером, TLS или проблемами конфигурации самого сервера Nextcloud.

Снизьте скачки загрузки ЦП в предварительной версии Nextcloud с помощью запланированной очереди.

Перенесите обработку миниатюр в контролируемый фоновый режим, обрежьте неиспользуемые размеры предварительного просмотра и проверьте очередь, не перегружая сервер Nextcloud.

Переход от «обработки файлов» к синхронизации Nextcloud Desktop Sync

Найдите файл, правило исключения, проблему с подключением или состояние базы данных клиента, препятствующие синхронизации Nextcloud, а затем безопасно проверьте загрузку и скачивание файлов.

Устраните предупреждение Nextcloud OPcache, отрегулировав правильный лимит.

Найдите ограничение на использование PHP OPcache, вызывающее предупреждение Nextcloud, обновите правильную конфигурацию PHP для веб-приложений, безопасно перезапустите систему и проверьте результат.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Сравните встроенный и основанный на Docker код, затем подключите Collabora Online к Nextcloud через защищенный обратный прокси-сервер HTTPS.

Создайте отказоустойчивый кластер Nextcloud с помощью Galera.

Спланируйте надежное развертывание Nextcloud HA с использованием общего хранилища, блокировок Redis, маршрутизации MariaDB с учетом кворума и практичных проверок отказоустойчивости.

Проводите звонки Nextcloud Talk, если прямая передача медиаданных не работает.

Проводите звонки Nextcloud Talk, если прямая передача медиаданных не работает.

Настройте и проверьте доступность TURN-ретранслятора для Nextcloud Talk, если брандмауэры или ограничительные NAT блокируют прямые вызовы.

Устраните предупреждения о целостности Nextcloud, восстановив правильные файлы.

Используйте отчет о недействительных файлах, чтобы выявить измененный, отсутствующий или лишний код Nextcloud, безопасно восстановить доверенные файлы и проверить результат.

Подключите Gmail или Microsoft 365 к Nextcloud Mail с помощью OAuth2.

Настройте OAuth2 для почты Nextcloud с использованием Gmail или Microsoft 365, проверьте получение и отправку сообщений, а также устраните распространенные ошибки, связанные с согласием и SMTP.