19 Commits

Author SHA1 Message Date
84c8433c6c chore: update Nextcloud to 25.0.13 2023-10-30 10:19:38 +01:00
e4ac6877ee chore: update Nextcloud to 25.0.12 2023-09-21 15:53:51 +02:00
ba7356184b chore: update Nextcloud to 25.0.11 2023-09-14 13:03:47 +02:00
2df5fa9674 chore: update Nextcloud to 25.0.10 2023-08-10 12:36:04 +02:00
ad6682a594 fix: disable snuffleupagus xxe protection
Nextcloud now prevents loading external entities by using libxml_set_external_entity_loader.

ref:
https://github.com/nextcloud/server/pull/39490
https://github.com/hoellen/docker-nextcloud/issues/42
2023-07-26 08:11:23 +02:00
4448daf29e chore: update Nextcloud to 25.0.9 2023-07-21 00:18:02 +03:00
f628650c63 chore: update Nextcloud to 25.0.8 2023-06-22 18:19:20 +02:00
7fdf687f23 Update Nextcloud to 25.0.7 2023-05-25 21:10:00 +02:00
b5eda66c8c chore: update Nextcloud and Alpine Linux 2023-04-20 09:39:39 +02:00
c181d509f5 chore: update Nextcloud to 25.0.5 2023-03-27 18:44:04 +02:00
dc50eed61b chore: split version-25 to new branch 2023-03-21 21:37:25 +01:00
b2fcf47b96 Update Nextcloud 25.0.4 2023-02-23 21:17:44 +01:00
be2aa5a6d8 Update Nextcloud to 25.0.3 2023-01-17 10:38:14 +01:00
fb1d5d60ff Update supported versions 2023-01-11 09:45:55 +01:00
fe53018962 Update Nextcloud to 25.0.2 2022-12-08 15:39:54 +01:00
43a5b6bb6f Update to 25.0.1 2022-11-03 18:34:21 +01:00
93866f1171 update cosign 2022-10-31 15:49:22 +01:00
06d89226c5 Whitelist PHP functions for Nextcloud 25 2022-10-19 13:06:53 +02:00
d009280681 Update Nextcloud to 25.0.0 2022-10-19 13:05:57 +02:00
5 changed files with 15 additions and 12 deletions

View File

@ -3,7 +3,7 @@ name: build
on:
workflow_dispatch:
push:
branches: [ version-24 ]
branches: [ version-25 ]
schedule:
# Build the image regularly (each Friday)
- cron: '23 04 * * 5'

View File

@ -1,5 +1,5 @@
# -------------- Build-time variables --------------
ARG NEXTCLOUD_VERSION=24.0.12
ARG NEXTCLOUD_VERSION=25.0.13
ARG PHP_VERSION=8.1
ARG NGINX_VERSION=1.22
@ -10,8 +10,8 @@ ARG SNUFFLEUPAGUS_VERSION=0.8.3
ARG UID=1000
ARG GID=1000
# nextcloud-24.0.12.tar.bz2
ARG SHA256_SUM="2f093bdf7d34faf38d22f38a5e11f3aee32746ff4add3df17c790b9b36390836"
# nextcloud-25.0.13.tar.bz2
ARG SHA256_SUM="387bac148a696244f1ec02698a082d408283a875b3de85eb9719dd4493eebe33"
# Nextcloud Security <security@nextcloud.com> (D75899B9A724937A)
ARG GPG_FINGERPRINT="2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A"

View File

@ -46,7 +46,7 @@ Don't run random images from random dudes on the Internet. Ideally, you want to
- **Images are scanned every day** by [Trivy](https://github.com/aquasecurity/trivy) for OS vulnerabilities. Known vulnerabilities will be automatically uploaded to [GitHub Security Lab](https://github.com/Wonderfall/docker-nextcloud/security/code-scanning) for full transparency. This also warns me if I have to take action to fix a vulnerability.
- **Latest tag/version is automatically built weekly**, so you should often update your images regardless if you're already using the latest Nextcloud version.
- **Build production images without cache** (use `docker build --no-cache` for instance) if you want to build your images manually. Latest dependencies will hence be used instead of outdated ones due to a cached layer.
- **A security module for PHP called [Snuffleupagus](https://github.com/jvoisin/snuffleupagus) is used by default**. This module aims at killing entire bug and security exploit classes (including XXE, weak PRNG, file-upload based code execution), thus raising the cost of attacks. For now we're using a configuration file derived from [the default one](https://github.com/jvoisin/snuffleupagus/blob/master/config/default_php8.rules), with some explicit exceptions related to Nextcloud. This configuration file is tested and shouldn't break basic functionality, but it can cause issues in specific and untested use cases: if that happens to you, get logs from either `syslog` or `/nginx/logs/error.log` inside the container, and [open an issue](https://github.com/hoellen/docker-nextcloud/issues). You can also disable the security module altogether by changing the `PHP_HARDENING` environment variable to `false` before recreating the container.
- **A security module for PHP called [Snuffleupagus](https://github.com/jvoisin/snuffleupagus) is used by default**. This module aims at killing entire bug and security exploit classes (including weak PRNG, file-upload based code execution), thus raising the cost of attacks. For now we're using a configuration file derived from [the default one](https://github.com/jvoisin/snuffleupagus/blob/master/config/default_php8.rules), with some explicit exceptions related to Nextcloud. This configuration file is tested and shouldn't break basic functionality, but it can cause issues in specific and untested use cases: if that happens to you, get logs from either `syslog` or `/nginx/logs/error.log` inside the container, and [open an issue](https://github.com/hoellen/docker-nextcloud/issues). You can also disable the security module altogether by changing the `PHP_HARDENING` environment variable to `false` before recreating the container.
- **Images are signed with the GitHub-provided OIDC token in Actions** using the experimental "keyless" signing feature provided by [cosign](https://github.com/sigstore/cosign). You can verify the image signature using `cosign` as well:
```
@ -58,8 +58,8 @@ Verifying the signature isn't a requirement, and might not be as seamless as usi
## Tags
- `latest` : latest Nextcloud version
- `x` : latest Nextcloud x.x (e.g. `24`)
- `x.x.x` : Nextcloud x.x.x (e.g. `24.0.0`)
- `x` : latest Nextcloud x.x (e.g. `25`)
- `x.x.x` : Nextcloud x.x.x (e.g. `25.0.0`)
You can always have a glance [here](https://github.com/users/hoellen/packages/container/package/nextcloud).
Only the **latest stable version** will be maintained by myself.

View File

@ -7,9 +7,10 @@ and will receive the minor version updates and security patches.
| Version | Supported |
| ------- | ------------------ |
| 25. x | :white_check_mark: |
| 24. x | :white_check_mark: |
| 23. x | :white_check_mark: |
| 22. x | :white_check_mark: |
| 23. x | :negative_squared_cross_mark: |
| 22. x | :negative_squared_cross_mark: |
Please update to the latest version available. Major migrations are always tested before being pushed.

View File

@ -8,7 +8,7 @@
sp.harden_random.enable();
# Disabled XXE
sp.xxe_protection.enable();
#sp.xxe_protection.enable();
# Global configuration variables
# sp.global.secret_key("YOU _DO_ NEED TO CHANGE THIS WITH SOME RANDOM CHARACTERS.");
@ -34,16 +34,18 @@ sp.sloppy_comparison.enable();
# https://snuffleupagus.readthedocs.io/features.html#protection-against-cross-site-request-forgery
sp.cookie.name("PHPSESSID").samesite("lax");
# Nextcloud whitelist (tested with Nextcloud 24.0.0)
# Nextcloud whitelist (tested with Nextcloud 27.0.1)
sp.disable_function.function("function_exists").param("function").value("proc_open").filename("/nextcloud/3rdparty/symfony/console/Terminal.php").allow();
sp.disable_function.function("function_exists").param("function").value("exec").filename("/nextcloud/lib/private/legacy/OC_Helper.php").allow();
sp.disable_function.function("function_exists").param("function").value("exec").filename("/nextcloud/lib/public/Util.php").allow();
sp.disable_function.function("proc_open").filename("/nextcloud/3rdparty/symfony/console/Terminal.php").allow();
sp.disable_function.function("ini_set").param("option").value_r("display_errors").filename("/nextcloud/lib/base.php").allow();
sp.disable_function.function("ini_get").param("option").value("open_basedir").filename("/nextcloud/3rdparty/bantu/ini-get-wrapper/src/IniGetWrapper.php").allow();
sp.disable_function.function("function_exists").param("function").value("exec").filename("/nextcloud/lib/private/legacy/OC_Helper.php").allow();
sp.disable_function.function("ini_get").param("option").value_r("suhosin").filename("/nextcloud/3rdparty/bantu/ini-get-wrapper/src/IniGetWrapper.php").allow();
sp.disable_function.function("ini_get").param("option").value("open_basedir").filename("/nextcloud/apps2/twofactor_webauthn/vendor/symfony/process/ExecutableFinder.php").allow();
sp.disable_function.function("ini_get").param("option").value("open_basedir").filename("/nextcloud/3rdparty/symfony/process/ExecutableFinder.php").allow();
sp.disable_function.function("ini_get").param("option").value("allow_url_fopen").filename("/nextcloud/3rdparty/guzzlehttp/guzzle/src/Utils.php").allow();
sp.disable_function.function("exec").param("command").value("apachectl -M | grep mpm").filename("/nextcloud/apps2/spreed/lib/Settings/Admin/AdminSettings.php").allow();
# Harden the `chmod` function (0777 (oct = 511, 0666 = 438)
sp.disable_function.function("chmod").param("permissions").value("438").drop();