A vezérlőpult és a Child-webhelyek kapcsolatának biztonsága
Hogyan védi a MainWP a kapcsolatot: jelszavas hitelesítés, egyedi biztonsági azonosító, időtúllépés, kulcspár, kérések aláírása, HTTPS és a paraméterek escape-elése.
A MainWP hitelesíti a webhelykapcsolatokat, és a csatlakozás után a vezérlőpult aláírja a Child-webhelyeknek küldött kéréseket. A kérések és válaszok titkosításához használj HTTPS-es címeket a Child-webhelyeknél.
A kezdeti kapcsolat védelme
Szekció neve “A kezdeti kapcsolat védelme”A MainWP Child legalább egy kezdeti hitelesítési módszert megkövetel: jelszavas hitelesítést, egyedi biztonsági azonosítót, vagy mindkettőt. A MainWP Child beállításaiban nem kapcsolhatod ki mindkettőt.
Jelszavas hitelesítés
Szekció neve “Jelszavas hitelesítés”A MainWP a WordPress-rendszergazda jelszavát használja a kezdeti ellenőrzéshez. Alapértelmezetten be van kapcsolva, és biztosítja, hogy csak ellenőrzött rendszergazda hagyhassa jóvá a kapcsolatot. Csak akkor kapcsolható ki, ha az egyedi biztonsági azonosító be van kapcsolva.
| Szempont | Részlet |
|---|---|
| Használat | Csak a kezdeti beállításkor történő ellenőrzéshez |
| Tárolás | A jelszót a vezérlőpult nem tárolja, és nem küldi a MainWP.com-ra |
| Csatlakozás után | Webhelyenkénti kulcspár hitelesíti a további kéréseket |
| Felhasználónkénti beállítás | Minden rendszergazda a saját jelszavas hitelesítését szabályozza |
| Feltétel | Ha a jelszavas hitelesítés ki van kapcsolva, az egyedi biztonsági azonosítónak be kell lennie kapcsolva |
Érdemes külön „MainWP Admin” fiókot létrehozni a webhelyek csatlakoztatásához, amelyet önállóan figyelhetsz vagy módosíthatsz.
Egyedi biztonsági azonosító
Szekció neve “Egyedi biztonsági azonosító”Az egyedi biztonsági azonosító a jelszavas hitelesítés alternatívája vagy kiegészítő ellenőrzése a beállításkor. Ha be van kapcsolva, az azonosítónak egyeznie kell a vezérlőpulton és a Child-webhelyen, különben a kapcsolat nem jön létre. Csak akkor választható, ha a jelszavas hitelesítés be van kapcsolva; ha az ki van kapcsolva, az azonosító kötelező.
Csatlakozási időkorlát
Szekció neve “Csatlakozási időkorlát”A MainWP Child bővítmény bekapcsolás után automatikusan kikapcsolja magát, ha a megadott időn belül (percben) nem jön létre kapcsolat. Ez csökkenti a kitettséget, mert a használaton kívüli bővítmény nem marad elérhető.
A webhely leválasztása
Szekció neve “A webhely leválasztása”A Webhely leválasztása funkcióval a vezérlőpultról törölheted egy Child-webhely összes kapcsolati adatát. Használd, ha:
- megszüntetsz egy webhelyet;
- újra szeretnéd építeni a biztonságos kapcsolatot;
- a beállítási hibákat hárítod el.
Védelem a csatlakozás után
Szekció neve “Védelem a csatlakozás után”A webhely hozzáadása után a vezérlőpult a webhely titkos kulcsával írja alá a kéréseket. A MainWP Child a csatlakozáskor mentett nyilvános kulccsal ellenőrzi az aláírást.
Kulcspár létrehozása
Szekció neve “Kulcspár létrehozása”Az alapértelmezett OpenSSL-módszerrel a vezérlőpult az első csatlakozáskor hoz létre kulcspárt:
- A vezérlőpult 2048 bites RSA nyilvános és titkos kulcspárt generál az
openssl_pkey_new()függvénnyel. - A nyilvános kulcsot a Child-webhely és a vezérlőpult is menti.
- A titkos kulcs titkosítva, csak a vezérlőpulton van tárolva.
Az 5.3 előtt létrehozott kapcsolatoknál végezd el a titkos kulcs titkosítását, ha még nem tetted. A PHPSecLib alternatíva a kulcsgenerálásra és az aláírásra; az általános vagy webhelyenkénti kapcsolati beállításoknál választható.
Kérések aláírása és ellenőrzése
Szekció neve “Kérések aláírása és ellenőrzése”Az OpenSSL alapértelmezetten SHA-256-tal ír alá.
| Lépés | Függvény | Leírás |
|---|---|---|
| Aláírás | openssl_sign() |
A vezérlőpult a titkos kulccsal kriptográfiai aláírást készít |
| Ellenőrzés | openssl_verify() |
A Child-webhely a nyilvános kulccsal ellenőrzi az aláírást |
A Child-webhely csak azokat a kéréseket dolgozza fel, amelyeknek érvényes, a tárolt nyilvános kulccsal egyező aláírásuk van.
HTTPS-titkosítás és tanúsítvány-ellenőrzés
Szekció neve “HTTPS-titkosítás és tanúsítvány-ellenőrzés”A HTTPS titkosítja a kérések és válaszok tartalmát. Az aláírás hitelesíti a kérést, de a HTTP-kapcsolatot nem titkosítja, ezért a csatlakoztatott Child-webhelyekhez használj HTTPS-címeket. Az SSL-tanúsítvány ellenőrzése alapértelmezetten be van kapcsolva, és állítható globálisan vagy webhelyenként. Tartsd bekapcsolva, hogy a Child-webhely tanúsítványa ellenőrizve legyen.
A kérések felépítése
Szekció neve “A kérések felépítése”A vezérlőpult cURL-lel küld kéréseket a Child-webhely beállított címére. A kérések tartalma:
| Paraméter | Célja |
|---|---|
| Felhasználónév | A kapcsolat létrehozásához használt rendszergazda felhasználóneve |
| Függvény | A Child-webhelyen futtatandó függvény neve |
| MainWP-aláírás | A kérés ellenőrzéséhez használt hitelesítő aláírás |
Példa szinkronizálási kérésre
Szekció neve “Példa szinkronizálási kérésre”https://childsite.com/wp-admin/admin-ajax.php?user=demouser&function=stats&mainwpsignature=<aláírás>Ha a mainwpsignature nem egyezik, a Child-webhely elutasítja a kérést.
A kérések paramétereinek escape-elése
Szekció neve “A kérések paramétereinek escape-elése”Mielőtt bármilyen kérést elküldene egy Child-webhelynek, a vezérlőpult escape-eli az összes paraméterértéket, hogy megakadályozza a kódbeszúrást. Például a Ugrás a WP-adminra funkció a name és value attribútumokat az esc_attr() függvénnyel escape-eli.
Miért fontos
Szekció neve “Miért fontos”Ez a védelem olyan helyzetekben segít, amikor a támadó:
- rávenne egy kézzel összeállított hivatkozás megnyitására;
- rosszindulatú kódot próbálna átadni a kérésparaméterekben.
Mivel a MainWP minden attribútumot escape-el, a potenciálisan veszélyes kód ártalmatlanná válik, mielőtt eljutna a Child-webhelyig.
A teljes kéréssor
Szekció neve “A teljes kéréssor”- Előkészítés: a vezérlőpult escape-eli az összes kérésattribútumot.
- Továbbítás: a HTTPS-kérés megy a MainWP-aláírással és a paraméterekkel.
- Ellenőrzés: a Child-webhely a tárolt nyilvános kulccsal ellenőrzi az aláírást.
- Végrehajtás: csak a hitelesített kérések kerülnek feldolgozásra.
Készült: