14 Commits

Author SHA1 Message Date
45a234493e chore: update cosign 2024-03-29 15:49:51 +01:00
3e34e9ce75 chore: update Nextcloud to 26.0.13 2024-03-29 15:21:13 +01:00
e124f93eef chore: update Nextcloud to 26.0.12 2024-03-02 05:02:00 +01:00
a80fb64d67 chore: update Nextcloud to 26.0.11 2024-01-25 14:02:31 +01:00
33b04cc14c chore: update Nextcloud to 26.0.10 2023-12-15 21:21:59 +01:00
099ebeba30 chore: update Nextcloud to 26.0.9 2023-11-24 09:26:28 +01:00
8d52cdd1cd chore: update Nextcloud to 26.0.8 2023-10-30 10:19:05 +01:00
bc284dd800 chore: update Nextcloud to 26.0.7 2023-09-21 15:53:13 +02:00
16b55d47e4 chore: update Nextcloud to 26.0.6 2023-09-14 13:05:43 +02:00
b89abfd29c chore: update Nextcloud to 26.0.5 2023-08-10 12:35:16 +02:00
3df8828362 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:10:55 +02:00
9fab1bee28 chore: update Nextcloud to 26.0.4 2023-07-21 00:16:34 +03:00
33f4837a7a chore: update Nextcloud to 26.0.3 2023-06-22 18:18:23 +02:00
867943620a chore: split version-26 to new branch 2023-06-12 14:07:27 +02:00
4 changed files with 9 additions and 10 deletions

View File

@ -3,7 +3,7 @@ name: build
on:
workflow_dispatch:
push:
branches: [ master ]
branches: [ version-26 ]
schedule:
# Build the image regularly (each Friday)
- cron: '23 04 * * 5'
@ -34,7 +34,7 @@ jobs:
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@main
with:
cosign-release: 'v1.13.1'
cosign-release: 'v2.2.2'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
@ -53,7 +53,6 @@ jobs:
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
latest
${{ env.FULL_VERSION }}
${{ env.MAJOR_VERSION }}
@ -70,4 +69,4 @@ jobs:
if: ${{ github.event_name != 'pull_request' }}
env:
COSIGN_EXPERIMENTAL: "true"
run: cosign sign ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}
run: cosign sign --yes ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}

View File

@ -1,5 +1,5 @@
# -------------- Build-time variables --------------
ARG NEXTCLOUD_VERSION=26.0.2
ARG NEXTCLOUD_VERSION=26.0.13
ARG PHP_VERSION=8.1
ARG NGINX_VERSION=1.24
@ -10,8 +10,8 @@ ARG SNUFFLEUPAGUS_VERSION=0.9.0
ARG UID=1000
ARG GID=1000
# nextcloud-26.0.2.tar.bz2
ARG SHA256_SUM="f3db0ec5e0aaff7c088eb34f752d77d79913bc6784e0fc47a84cdaa28e567a33"
# nextcloud-26.0.13.tar.bz2
ARG SHA256_SUM="0a362df7a1233348f99d1853fd7e79f0667b552c145dc45012fab54ac31c79ae"
# 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:
```

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,7 +34,7 @@ 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 25.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();