# Contao-sikkerhed efter PHP2Shell: sådan sikrer I websites korrekt

> Contao-sikkerhed efter PHP2Shell: kontrollér PHP til web og Contao Manager, gennemgå .env og skabeloner, og beskyt backend og Manager-adgang.

Kilde: https://phpsos.de/da/plattformen/contao/  
Status: 25.10.2026  
Udbyder: PHP SOS, PHP-nødhjælp og serversikkerhed. Akut hjælp på WhatsApp: https://wa.me/491736494914?text=Hej%20PHP%20SOS%2C%20vi%20har%20brug%20for%20hj%C3%A6lp%20med%20vores%20PHP-server.%20Firma%3A%20%E2%80%A6%20Website%3A%20%E2%80%A6

**Kort sagt:** Contao-sikkerhed afhænger ved PHP2Shell af serverens PHP, ikke af Contao. Sørg for, at både web-PHP og kommandolinje-PHP i Contao Manager er patchet. Derefter kontrollerer I `.env`, egne skabeloner, mappen `files` og adgangene til backend og Manager.

## Contao og PHP2Shell: hvad det handler om

Contao er et CMS, der er udbredt i det tysksprogede område og siden version 4 bygger på frameworket Symfony. PHP-sårbarhederne CVE-2026-109618 og CVE-2026-109619 gør det ifølge PHP-teamet muligt at køre skadelig kode på afstand uden login. De berører PHP selv, altså også enhver Contao-installation på en upatchet server.

Mange Contao-websites tilhører mellemstore virksomheder, foreninger og kommuner og bliver passet af bureauer. Afklar derfor først, hvem der er ansvarlig for PHP: hostingudbyderen, bureauet eller jeres egen IT.

En hyppig misforståelse angår vedligeholdelsestilstanden. Contao kan spærre et website for besøgende, men denne spærring leveres selv af PHP. Hver forespørgsel når altså stadig PHP-fortolkeren. Mod PHP2Shell beskytter vedligeholdelsestilstanden derfor ikke. Når BSI (det tyske forbundsagentur for informationssikkerhed) anbefaler at tage webservere af nettet indtil opdateringen, menes der en spærring på server- eller hostingniveau, ikke en indstilling i CMS'et.

## Contao-sikkerhed begynder med to PHP-versioner

Contao bruger PHP på to måder. Webserveren behandler sidekald oftest via PHP-FPM. Contao Manager og Contao-konsollen arbejder desuden med et kommandolinje-PHP, f.eks. til installationer, opdateringer og cronjobs. På hostingpakker med flere PHP-versioner kan det være to forskellige programmer.

Contao Manager viser i sin serverkonfiguration, hvilken PHP-programfil den bruger. Web-versionen ser I i hostingpanelet. Rettede upstream-versioner er 8.5.12, 8.4.27, 8.3.36 og 8.2.35; backports kan bære ældre numre. Begge veje skal være patchet og alle processer genstartet. Hvilke PHP-versioner jeres Contao-version understøtter, kontrollerer I ifølge systemkravene på contao.org. Mere om kontrollen under [Kontrollér PHP-version og patch-status korrekt](https://phpsos.de/da/php2shell/php-version-pruefen/).

## Mapper og filer i Contao

| Sted | Indhold | Kontrolpunkt |
|---|---|---|
| `.env`, `.env.local` | Databaseadgang, `APP_SECRET` | forny ved mistanke |
| `config/config.yaml` | Installationens konfiguration | uventede ændringer |
| `public/` (ældre versioner `web/`) | Dokumentrod med `index.php`, Contao Manager-fil, assets | ekstra PHP-filer |
| `files/` | Redaktørernes filhåndtering | ingen PHP-filer |
| `templates/` | egne skabeloner, klassisk som `.html5` med PHP | ukendte eller ændrede skabeloner |
| `system/config/localconfig.php` | ældre indstillinger | indskudt kode |
| `var/` | Cache og logs | sikre logs, generér cache på ny |

Netop `templates/` undervurderes: Klassiske Contao-skabeloner med endelsen `.html5` er PHP-filer. En indskudt kommando i en egen skabelon kører med ved hvert sidekald og overlever Contao-opdateringer.

Ufarlige første kontroller:

```bash
# PHP-filer i filhåndteringen
find files -type f -name "*.php"
# Skabeloner ændret siden 17.10.2026
find templates -type f -newermt "2026-10-17"
# Kontrollér tilgængelige Contao-kommandoer og afhængigheder
vendor/bin/contao-console list contao
composer audit
```

> **Vigtigt:**
> Contao Manager kan installere pakker og dermed bringe vilkårlig kode ind på serveren. Kontrollér ved mistanke dens brugerkonti, tildel nye adgangskoder, og fjern adgange tilhørende tidligere tjenesteudbydere.

## Backend, Manager og udvidelser

Backend ligger under `/contao`. Kontrollér brugere med administratorrettigheder og brugergrupper med vidtgående rettigheder, f.eks. til filhåndtering, skabeloner eller brugeradministration. Contao medbringer en totrinsgodkendelse; brug den til alle konti med forhøjede rettigheder.

Udvidelser installeres via Composer eller via Contao Manager. Hver medbringer PHP-kode, og ældre udvidelser uden vedligeholdelse bremser PHP-opgraderinger. På servere med flere websites bør hver installation køre adskilt, så en hændelse ikke breder sig til nabosider; mere herom under [open_basedir og isolation pr. website](https://phpsos.de/da/ratgeber/open-basedir/).

## Hvad en Contao-opdatering kan, og hvad den ikke kan

En Contao-opdatering via Manager eller Composer lukker kendte fejl i Contao og udvidelser. Den patcher ikke PHP og genstarter hverken PHP-FPM eller baggrundsprocesser. Egne skabeloner, filer i `files/` og fremmede brugerkonti forbliver uændrede. Efter et skifte af PHP-hovedversion bør cachen genskabes og websitet kontrolleres i et testmiljø.

Ved websites med mange redaktører er et blik på rettighederne i backend værd efter rettelsen. Den, der må redigere skabeloner, kan lægge PHP-kode i klassiske `.html5`-skabeloner. Denne tilladelse hører kun hjemme hos få, teknisk kyndige personer. Det samme gælder adgangen til filhåndteringen med upload-rettigheder til offentligt tilgængelige mapper.

## Hvordan hjælper PHP SOS konkret?

- Vi fastslår web- og CLI-PHP i jeres Contao-installation og lader rettelse og genstart bekræfte.
- Vi sikrer logs, filer og database, før vi ændrer noget.
- Vi kontrollerer skabeloner, `files/`, dokumentroden, backend- og Manager-konti.
- PHP-skiftet med dokumentation overtager på ønske vores [PHP-patch-service](https://phpsos.de/da/leistungen/php-patch-service/), afstemt med jeres bureau.


## Ofte stillede spørgsmål

**Er Contao berørt af PHP2Shell?**  
Contao har ikke selv en ny sårbarhed. Kører websitet derimod på et upatchet PHP, er det som enhver PHP-applikation sårbart. En Contao-opdatering lukker ikke PHP-sårbarheden.

**Hvorfor er Contao Manager sikkerhedsrelevant?**  
Contao Manager kan installere, opdatere og fjerne pakker. Den, der har adgang dertil, kan indspille vilkårlig kode. Adgangen kræver derfor en stærk adgangskode og få med adgang.

**Indeholder Contao-skabeloner PHP-kode?**  
De klassiske skabeloner med endelsen .html5 er PHP-skabeloner. Egne skabeloner i mappen templates kan derfor indeholde PHP. Ukendte eller nyligt ændrede skabeloner bør I kunne forklare.

## Kilder

- [php.net: Sikkerhedsmeddelelser](https://www.php.net/)
- [Contao](https://contao.org/)
- [Understøttede PHP-versioner](https://www.php.net/supported-versions.php)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
