# Biztonság, szinkronizálás és adatkezelés

> Hogyan védi a MainWP a vezérlőpult és a Child közti kapcsolatot, mit csinál a szinkronizálás, és milyen adatok hagyhatják el a kiszolgálót.

## Biztonsági megoldások

| Megoldás | Működése |
|---|---|
| Aláírt kérések | A vezérlőpult minden Child-webhelyhez külön 2048 bites RSA-kulcspárt hoz létre, és a kéréseket az adott webhely privát kulcsával írja alá (az OpenSSL alapértelmezetten SHA-256-ot használ). A MainWP Child a megfelelő nyilvános kulccsal ellenőrzi az aláírást |
| Titkosított átvitel | Használj HTTPS-es webhelycímet, így a kérések és válaszok útközben titkosítva vannak. Az SSL-tanúsítvány ellenőrzése alapból be van kapcsolva, és globálisan vagy webhelyenként állítható |
| Aláíró függvénytár | Alapértelmezetten OpenSSL. Alternatívaként a PHPSecLib választható a globális vagy a webhelyenkénti kapcsolati beállításokban |
| Egyetlen vezérlőpult | Egy Child-webhely egyszerre csak egy vezérlőpulthoz csatlakozhat. Másik vezérlőpulthoz csak a leválasztása után adható hozzá |
| Nincs jelszótárolás | A WordPress-jelszavakat a vezérlőpult nem tárolja |
| Sebezhetőség-bejelentés | A biztonsági kutatók a vezérlőpult és a Child hibáit a Patchstackon keresztül jelenthetik be |
| Saját fejlesztés | Az összes funkciót a MainWP csapata fejleszti |
| Saját kiszolgálón futó architektúra | A vezérlőpult a te kiszolgálódon fut, így a biztonság és az adatvédelem a te kezedben van |

A Child-webhely leválasztásához a webhely WordPress-adminisztrátori hozzáférése szükséges.

### Csatlakozhat más a Child-webhelyemhez?

Miután egy Child-webhely csatlakozott a vezérlőpulthoz, a kapcsolat le van zárva. Hogy más csatlakozhasson, valakinek be kellene jelentkeznie a Child-webhely WordPress-adminjába, és ki- majd bekapcsolnia a **MainWP Child** bővítményt, ami megszakítja a meglévő kapcsolatot. Ha egy támadó WordPress-adminisztrátori hozzáféréssel rendelkezik a Child-webhelyen, annál nagyobb a gond, mint amit bármilyen egyedi azonosító megoldana.

### Hol illeszkedik az egyedi biztonsági azonosító?

A kezdeti kapcsolódáshoz a MainWP Child legalább egy hitelesítési módot megkövetel: jelszót, egyedi biztonsági azonosítót, vagy mindkettőt. Alapértelmezetten a jelszavas hitelesítés van bekapcsolva, ilyenkor az azonosító egy opcionális extra védelmi réteg. Ha a Child beállításaiban kikapcsolod a jelszavas hitelesítést, az egyedi biztonsági azonosítónak bekapcsolva kell lennie, és csatlakozáskor meg kell adnod a vezérlőpulton is. A két azonosítónak egyeznie kell. A legtöbb telepítéshez az alapértelmezett jelszavas hitelesítés elég. A beállítás részletei a [Telepítés és első beállítás](https://hub.hellowp.io/hu/plugins/mainwp/telepites/) fejezetben vannak.

## Hogyan szinkronizál a vezérlőpult a Child-webhelyekkel?

A vezérlőpult cURL-kéréseket küld a Child-webhelyeknek. Minden szinkronizálási kérés három paramétert tartalmaz:

| Paraméter | Szerepe |
|---|---|
| Felhasználónév | A biztonságos kapcsolathoz használt adminisztrátor neve |
| Függvény | A Child-webhelyen futtatandó függvény neve |
| MainWP-aláírás | A hitelesítő aláírás. Ha nem egyezik, a kérés sikertelen |

Egy szinkronizálási kérés például így néz ki:

```text
https://childsite.com/wp-admin/admin-ajax.php?user=demouser&function=stats&mainwpsignature=dgTOIUbQyBWvCh0pNhnwmxmHoeayfg34...
```

Ez a hitelesítés után a `stats` függvényt futtatja. A kérés adatokat is átad a Child-webhelyeknek, például az elhagyott bővítmények és sablonok tűréshatárát (`&numberdaysOutdatePluginTheme=365`). Emiatt egyes MainWP-beállítások módosítása után szinkronizálni kell, hogy az új érték a Child-webhelyre kerüljön.

### Mit kér le a szinkronizálás?

A kérés a MainWP Child `get_site_stats()` függvényét futtatja, ami ezeket az adatokat gyűjti össze:

- a bővítmények, sablonok és a WordPress-alaprendszer elérhető frissítései,
- a valószínűleg elhagyott bővítmények és sablonok,
- a webhely állapotadatai,
- a kiegészítők saját adatai.

A kiegészítők a `mainwp-sync-others-data` horogon keresztül tehetnek adatot a szinkronizálási kérésbe. Az `othersData` paraméter titkosított adatot hordoz olyan bővítményekről, mint a BackWPup, BackupWordPress, BackupBuddy, Client Reports, WP Staging, WP Time Capsule, UpdraftPlus, Page Speed és WP Rocket.

### Teljesítmény

A szinkronizálás processzoridőt igényel, ezért a vezérlőpult kiszolgálóján rövid ideig megnőhet a terhelés. Ha emiatt ugyanazon a kiszolgálón futó más webhelyek elérhetősége romlik:

- növeld a kiszolgáló erőforrásait, vagy
- csökkentsd a **Maximum simultaneous sync requests** értékét a jobb felső felhasználói menü → **MainWP beállításai** → **Speciális beállítások** oldalon. Ettől hosszabb lesz a szinkronizálás, de kisebb a processzorterhelés.

### A kérések aláírása

Az alapértelmezett OpenSSL-módszerrel a vezérlőpult az `openssl_pkey_new()` függvénnyel 2048 bites RSA-kulcspárt hoz létre minden Child-webhelyhez. A nyilvános kulcs a Child-webhelyen, a privát kulcs a vezérlőpulton tárolódik. Az új kapcsolatok privát kulcsa automatikusan titkosítva van. Az 5.3-as verzió előtt létrehozott kapcsolatoknál, ha még nem tetted meg, el kell végezni a privát kulcsok titkosításának lépéseit.

| Lépés | Függvény | Hol fut |
|---|---|---|
| Kérés aláírása | `openssl_sign()` | Vezérlőpult |
| Kérés ellenőrzése | `openssl_verify()` | MainWP Child |

A vezérlőpult minden kérést az adott webhely privát kulcsával ír alá, a Child a nyilvános kulccsal ellenőrzi. Az érvénytelen aláírású kéréseket elutasítja.

Az aszimmetrikus titkosítás összetartozó privát és nyilvános kulcsot használ. Itt az aláírás a kérés hitelességét igazolja, de a tartalmát nem rejti el. A tartalmat a HTTPS titkosítja útközben.

## Adatkezelés

A MainWP stabil kiadásai nem tartalmaznak telemetriát, és nem kapcsolódnak „haza”. A vezérlőpult teljesen önállóan működik a kiszolgálódon, és a MainWP-nek semmilyen adat nem megy.

| Téma | Mi történik |
|---|---|
| Ingyenes bővítmények | Az ingyenes vezérlőpult és a Child bővítmény alapból nem követ és nem gyűjt adatot. A MainWP nem tudja, ki telepíti, és hová |
| Külső szolgáltatások | Három opcionális, alapból kikapcsolt szolgáltatás van, bármikor be- és kikapcsolhatók (lásd lent) |
| Kiegészítők licencellenőrzése | Fizetős kiegészítők vásárlása esetén a vezérlőpult domainnevét és IP-címét időnként begyűjtik a licenc ellenőrzéséhez. A Child-webhelyek adatait soha nem gyűjtik |
| Korai hozzáférésű kiadások | A 6-os verzió korai hozzáférésű kiadásai opcionális, korlátozott telemetriát tartalmaznak, ami bármikor kikapcsolható |

### Külső szolgáltatások engedélyei

A jobb felső profilkép legördülő menüjében a **MainWP eszközei** (Eszközök) oldalon az **Adatvédelem és külső szolgáltatások engedélyei** szakaszban három kapcsoló van. Mindhárom alapból ki van kapcsolva:

| Kapcsoló | Mit kapcsol be |
|---|---|
| **Usetiful (interaktív útmutatók és tippek)** (béta) | Vezetett túrák, eszköztippek és bevezetési segítség |
| **Chatbase (AI-alapú csevegőtámogatás)** (béta) | AI-alapú támogatás a vezérlőpulton belül |
| **YouTube-beágyazások (videós oktatóanyagok)** | Beágyazott videós útmutatók |

Ezeket külső JavaScript-kódok és szolgáltatások valósítják meg, ezért a saját adatvédelmi irányelveik vonatkoznak rájuk. A beállítások mentése a **Beállítások mentése** gombbal történik. Ugyanezek a kapcsolók a [Támogatási ablakban](https://hub.hellowp.io/hu/plugins/mainwp/elso-lepesek-tamogatas/) is megjelennek.
