# OXID eShopin tietoturva PHP2Shellin jälkeen: kaupan ja rajapintojen suojaus

> OXID eShopin suojaus PHP2Shellin jälkeen: tarkista PHP-tila adminissa, config.inc.php ja moduulit sekä suojaa ylläpitäjätilit ja B2B-rajapinnat.

Lähde: https://phpsos.de/fi/plattformen/oxid-eshop/  
Tilanne: 25.10.2026  
Palveluntarjoaja: PHP SOS, PHP-hätäapu ja palvelimen tietoturva. Pikaapu WhatsAppilla: https://wa.me/491736494914?text=Hei%20PHP%20SOS%2C%20tarvitsemme%20apua%20PHP-palvelimemme%20kanssa.%20Yritys%3A%20%E2%80%A6%20Verkkosivusto%3A%20%E2%80%A6

**Lyhyesti:** OXID eShopin tietoturvassa on PHP2Shellin jälkeen kyse ensin palvelimesta: aukko on PHP:ssä, ei OXIDissa. Pyytäkää PHP:n tila vahvistettavaksi ja kaikki prosessit käynnistettäviksi uudelleen. Sen jälkeen tarkistakaa `config.inc.php`, moduulit, teematiedostot, ylläpitäjätilit sekä pääsy ERP:hen ja maksupalveluihin.

## Miksi OXID-kauppojen on syytä katsoa tarkasti

OXID eShop on saksankielisellä alueella yleinen erityisesti B2B-kaupassa, suoramyyntiä harjoittavilla valmistajilla ja tukkukaupassa. Tällaiset kaupat harvoin ovat itsenäisiä saarekkeita: ne vaihtavat tilauksia, hintoja, varastosaldoja ja asiakastietoja ERP:n, PIM:n ja maksupalvelujen kanssa. Kauppapalvelimella oleva hyökkääjä näkee siksi usein enemmän kuin pelkän kaupan.

PHP-tiimin mukaan PHP-haavoittuvuudet CVE-2026-109618 ja CVE-2026-109619 sallivat haittakoodin suorittamisen etänä ilman kirjautumista. Sillä, onko OXID itse ajan tasalla, ei ole tässä merkitystä. Tyypillisiä tietoja OXID-kaupoissa ovat:

- Yritysasiakkaat yhteyshenkilöineen, osoitteineen, asiakasnumeroineen ja yksilöllisine hintoineen
- Tilaushistoria ja tarjouspyynnöt
- ERP-, maksu- ja toimituspalvelujen tunnukset asetuksissa ja moduulien asetuksissa
- Työntekijätilit admin-alueella

## OXID eShopin tietoturva: PHP-tilan oikea tarkistus

Admin-alueella kohta **Palvelu > Järjestelmätiedot** näyttää käynnissä olevan kaupan PHP-tiedot. Se on web-versio, jolla asiakkaita palvellaan. OXID-konsoli, tuonnit ja cron-ajot toimivat sen sijaan usein komentorivi-PHP:llä, joka voi olla eri versio. Molempien on oltava korjattuja.

Korjatut upstream-versiot ovat 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. Jakelut ja hosting-yritykset toimittavat korjauksia osin backporttina, jolloin numero pysyy samana; ratkaisevaa on vahvistettu pakettitila. Mitä PHP-versioita teidän OXID-versionne tukee, tarkistatte valmistajan dokumentaation järjestelmävaatimuksista osoitteessa oxid-esales.com.

Sukupolven 4 vanhemmat OXID-kaupat tai sukupolven 6 varhaiset versiot toimivat usein yhä vanhoilla PHP-versioilla ilman virallisia päivityksiä. Silloin tarvitaan päivitykseen asti väliaikainen suojaus ja kiinteä aikataulu.

## OXIDin hakemistot ja tiedostot

OXID 6:sta lähtien kauppa asennetaan Composerilla; dokumenttijuuri on yleensä hakemisto `source/`.

| Paikka | Sisältö | Tarkistuskohde |
|---|---|---|
| `source/config.inc.php` | Tietokantatunnukset, perusasetukset | sisään ujutettu koodi, salasana vaihdettava epäilyn jälkeen |
| `source/modules/` (OXID 6:een asti), OXID 7:stä alkaen `vendor/` | Moduulit, osin Composer-paketeista | tuntemattomat moduulit, muutetut tiedostot |
| `var/configuration/` | Moduulien ja kaupan asetukset tiedostoina | odottamattomat muutokset |
| `source/out/` | Teemat, kuvat, JavaScript | vieraat skriptit, PHP-tiedostot kuvakansioissa |
| `source/tmp/` | käännetyt mallipohjat ja välimuisti | tyhjennettävä puhdistuksen jälkeen |
| `source/log/` | Kaupan loki | talteen ennen muutoksia |

Hakemiston `tmp` käännetyt mallipohjat jäävät usein huomaamatta. Ne koostuvat PHP-koodista ja luodaan puhdistuksen jälkeen uudelleen; siksi kansio kannattaa tyhjentää jokaisen löydöksen jälkeen.

Vaarattomat ensitarkistukset:

```bash
# PHP-tiedostot kuva- ja mediakansioissa
find source/out -type f -name "*.php"
# Moduulitiedostot, jotka ovat muuttuneet 17.10.2026 jälkeen (OXID 6; OXID 7:stä alkaen moduulit ovat hakemistossa vendor/)
find source/modules -type f -newermt "2026-10-17"
# Riippuvuuksien tunnetut aukot
composer audit
```

> **Tärkeää:**
> Puhdistettu kauppapalvelin ei tee vuotaneita rajapintatunnuksia taas salaisiksi. Uusikaa epäilyn jälkeen ERP-, maksu- ja toimituspalvelujen tunnukset sopien asiasta niiden ylläpitäjien kanssa.

## Admin-alue ja moduulit

Admin-alue on oletuksena osoitteessa `/admin/`. Tarkistakaa käyttäjähallinnasta admin-oikeuksilla varustetut tilit, joita kukaan ei osaa yhdistää, sekä entisten palveluntarjoajien tunnukset. Rajatkaa admin-pääsy mahdollisuuksien mukaan yrityksen verkkoon tai VPN:ään; B2B-ympäristössä se on yleensä helposti toteutettavissa.

Maksutapojen, ERP-liitännän ja B2B-toimintojen, kuten porrastettujen hintojen tai hyväksymisprosessien, moduulit on OXID-kaupoissa usein räätälöity. Jokainen moduuli on omaa PHP-koodia, ja räätälöidyt moduulit hidastavat PHP-päivityksiä usein. Kirjatkaa ylös, mitkä moduulit ovat aktiivisia, kuka niitä ylläpitää ja onko niistä versiota tavoitellulle PHP-versiolle.

## Mihin OXID-päivitys pystyy ja mihin ei

OXIDin tai moduulin päivitys sulkee tämän koodin tunnetut virheet ja voi mahdollistaa uudemmat PHP-versiot. Se ei korjaa PHP:tä eikä käynnistä PHP-FPM:ää tai taustaprosesseja uudelleen. Vieraat tiedostot hakemistossa `source/out`, muokatut moduulit, käännetyt mallipohjat ja uudet admin-tilit säilyvät. Onko hyökkäyksestä merkkejä, tarkistatte sivun [Olenko jo vaarantunut?](https://phpsos.de/fi/php2shell/bin-ich-gehackt-anzeichen/) avulla. Keskisuurten yritysten tilanteeseen sopii [Keskisuurten yritysten ja teollisuuden IT-turva](https://phpsos.de/fi/branchen/mittelstand-industrie/).

Monella OXID-kaupalla on tuotantojärjestelmän rinnalla staging-ympäristö samalla tai toisella palvelimella. Tarkistakaa ja korjatkaa myös se, sillä siinä on usein kopio asiakastiedoista ja se on hyökkääjille yhtä hyödyllinen.

## Miten PHP SOS auttaa konkreettisesti?

- Selvitämme OXID-palvelimenne web- ja CLI-PHP:n ja varmennamme korjauksen ja uudelleenkäynnistyksen.
- Varmuuskopioimme lokit 20.10.2026 alkaen, tiedostot ja tietokannan.
- Tarkistamme `config.inc.php`:n, moduulit, teemat, käännetyt mallipohjat ja admin-tilit.
- Epäilyn yhteydessä koordinoimme [Incident Response -palvelumme](https://phpsos.de/fi/leistungen/incident-response/) kautta puhdistuksen ja rajapintatunnusten uusimisen toimistonne ja ERP-palveluntarjoajienne kanssa.


## Usein kysytyt kysymykset

**Koskeeko PHP2Shell OXID eShopia?**  
PHP2Shell ei ole OXID-aukko vaan PHP:n aukko. Jokainen OXID-kauppa korjaamattomalla PHP-palvelimella on siksi mahdollisesti haavoittuva. OXID-päivitys ei sulje aukkoa.

**Mistä näen OXIDissa PHP-version?**  
Admin-alueella kohdassa Palvelu > Järjestelmätiedot näkyvät käynnissä olevan kaupan PHP-tiedot. Asennettua backportia ei tunnista siitä; sen vahvistaa hosting-palveluntarjoajanne tai ylläpitäjänne.

**Mikä OXID-tiedosto sisältää tunnukset?**  
Tiedosto config.inc.php hakemistossa source. Se sisältää tietokantatunnukset. Epäilyn jälkeen tietokannan salasana kannattaa vaihtaa ja tiedosto tarkistaa sisään ujutetun koodin varalta.

**Pitääkö meidän tarkistaa ERP-rajapintamme?**  
Kyllä. Jos hyökkääjä on suorittanut koodia kauppapalvelimella, hän on voinut lukea ERP-, PIM- tai maksupalvelutunnukset. Nämä tunnukset kannattaa uusia epäilyn jälkeen.

## Lähteet

- [php.net: tietoturvatiedotteet](https://www.php.net/)
- [OXID eSales](https://www.oxid-esales.com/)
- [Tuetut PHP-versiot](https://www.php.net/supported-versions.php)
- [BSI (Saksan liittovaltion tietoturvavirasto)](https://www.bsi.bund.de/)
