Nextcloud管理画面で表示される警告に対応した件

nextcloud



Nextcloud管理画面で以下のような警告が表示されていたので、いろいろ対応。
その作業メモです。

The PHP memory limit is below the recommended value of 512MB

これは簡単。
php-fpm設定ファイルで以下の通りphp_admin_value[memory_limit]を指定するだけ。
自分の場合はphp-fpm起動インスタンス数を併せて減らしました。

-pm.max_children = 50
-pm.start_servers = 20
-pm.min_spare_servers = 20
-pm.max_spare_servers = 40
+pm.max_children = 15
+pm.start_servers = 5
+pm.min_spare_servers = 5
+pm.max_spare_servers = 10
+php_admin_value[memory_limit] = 512M



githubのコミット貼り付けておきます。

Configured to remove "Security & setup warnings" in Nextcloud Overvie… · kurofuku/nextcloud-container-fpm@6a300e4
…w page.



The “…” is not set to “…” This is a potential security or privacy risk,

具体的にはこの警告。

The "X-Content-Type-Options" HTTP header is not set to "nosniff" This is a potential security or privacy risk,
The "X-Robots-Tag" HTTP header is not set to "none" This is a potential security or privacy risk,
The "X-Frame-Options" HTTP header is not set to "SAMEORIGIN" This is a potential security or privacy risk,
The "X-Download-Options" HTTP header is not set to "noopen" This is a potential security or privacy risk,
The "X-Permitted-Cross-Domain-Policies" HTTP header is not set to "none" This is a potential security or privacy risk,
The "X-XSS-Protection" doesn't contain "1; mode=block" This is a potential security or privacy risk,
The "Strict-Transport-Security" HTTP header is not set at least "15552000" This is a potential security or privacy risk,
The "Referrer-Policy" HTTP header is not set to "no-referrer" This is a potential security or privacy risk,



これもNginxのserverブロックで追加するだけ。

add_header X-Content-Type-Options nosniff;
add_header X-Robots-Tag none;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header X-XSS-Protection "1; mode=block";
add_header Strict-Transport-Security 15552000;
add_header Referrer-Policy no-referrer always;



githubのコミットはこちら。
add_header X-XSS-Protection “1;mode=block”; となっていますが、正しくは
add_header X-XSS-Protection “1; mode=block”; とする必要があります。
 1;とmodeとの間に半角スペースを入れる。

Configured to remove "Security & setup warnings" in Nextcloud Overvie… · kurofuku/nextcloud-container-fpm@6a300e4
…w page.



Your web server is not properly set up to resolve “…”

この部分です。

Your web server is not properly set up to resolve "/.well-known/webfinger".
Your web server is not properly set up to resolve "/.well-known/nodeinfo".
Your web server is not properly set up to resolve "/.well-known/caldav".
Your web server is not properly set up to resolve "/.well-known/carddav".



結論として
 webfinger, nodeinfoは警告を消すことを諦めた
  放置しても問題なさそうなので、いったんこのままで
 caldav, carddavは対応した
としました。

Nginxのserverブロックに以下を追加します。

location ^~ /.well-known {

	location = /.well-known/carddav {
		return 301 /remote.php/dav/;
	}
	location = /.well-known/caldav {
		return 301 /remote.php/dav/;
	}
	location ^~ /.well-known/ {
		return 301 /index.php$uri;
	}

}



githubのコミットはこれ。

Modified to allow dav access for Nextcloud. · kurofuku/nextcloud-container-fpm@fff944e
Contribute to kurofuku/nextcloud-container-fpm development by creating an account on GitHub.



Your installation has no default phone region set.

Nextcloudのconfig.phpに以下を追加します。
国のコードはここを参考に適切なものを選んでください。

'default_phone_region' => 'JP',



Your PHP does not have FreeType support,

Dockerfileで
 aptでlibfreetype6-devを追加
 docker-php-ext-configure gdで–with-freetypeを追加
とします。
 見づらかったので、一部抜粋。

-docker-php-ext-configure gd --with-jpeg --with-webp && \
+apt -y install libfreetype6-dev libjpeg-dev libwebp-dev && \
+docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp && \



githubのコミットはこれです。

Configured to remove "Security & setup warnings" in Nextcloud Overvie… · kurofuku/nextcloud-container-fpm@6a300e4
…w page.



This instance is missing some recommended PHP modules.

Dockerfileにてintl, gmpを追加。

apt install libgmp-dev && \
docker-php-ext-install intl gmp && \
docker-php-ext-enable intl gmp && \



githubのコミットはこれ。

Configured to remove "Security & setup warnings" in Nextcloud Overvie… · kurofuku/nextcloud-container-fpm@6a300e4
…w page.



おまけ – X-Powered-Byを削除 –

デフォルトだとX-Powered-Byヘッダーが出ていたので、隠します。
Nginxのserverブロックに追加。

fastcgi_hide_header X-Powered-By;



githubのコミットはこれ。

Hided X-Powered-By header to avoid information leak. · kurofuku/nextcloud-container-fpm@ecfd86e
Contribute to kurofuku/nextcloud-container-fpm development by creating an account on GitHub.



動作確認

Nextcloudの管理画面では以下の通り、ほぼすべての警告が消えました。
 webfinger/nodeinfoは非対応なので残っている。



また、公式のセキュリティレベルチェックツールがあるので、確認してみました。

レベルA+ということで、ひとまず安心できるレベルのようです。



終わりに

いかがでしたか。

Nextcloudを外部公開する際、最低でもこれはやっておくほうがいいです!

Comments

タイトルとURLをコピーしました