SQL hozzáférés szabályozás
a véleményeteket szeretném kérni. felmerült két koncepció, és a meglátásotokat szeretném hallani, hogy ki szerint melyik és miért az előnyösebb. az alapgondolat az, hogy a webről használt mysql hozzáférést szeretném minél jobban szűkíteni. ennek első lépése, hogy tárolt eljárásokat és függvényeket használok, és csak ezeket hívom a php-ből. erre van egy mysql user-em, ami aztán csak ezt tudja csinálni (a függvényekben: SQL SECURITY DEFINER, vagyis nem az ő jogaival fut, szóval ebből nincs gond). No és persze van adminoldal. és itt merül fel szemléleti kérdés:
1. admin oldalról is ugyan ez a user fut, implementálom az ehhez szükséges többi eljárást, amik ugye más/nagyobb változtatásokat érnek el az adatbázison.
2. az adminoldal egy másik, több joggal rendelkező mysql user-ként fut.
a fő ok, amiért vacilálok, hogy ha neadjisten valakinek sikerült elérnie a szerveren tárol mysql felhasználót / jelszót, és sikerülne kapcsolatot kiépítenie az adatbázissal, akkor az első esetben korlátozottabb a mozgásköre, viszont a függvények továbbra is engednék a módosítást. az igazi megoldás az lenne, ha az admin külön futna, és nem tárolódna / máshol tárolódna a jelszó. az mondjuk lehetőség, hogy az adminok külön user-t használnak, ami viszont csak localhost-ról tud belépni, de ez ugye csak akkor megoldás, ha az admin mindig ott van helyben, ami nem igazán kivitelezhető. vélemények?
■ 1. admin oldalról is ugyan ez a user fut, implementálom az ehhez szükséges többi eljárást, amik ugye más/nagyobb változtatásokat érnek el az adatbázison.
2. az adminoldal egy másik, több joggal rendelkező mysql user-ként fut.
a fő ok, amiért vacilálok, hogy ha neadjisten valakinek sikerült elérnie a szerveren tárol mysql felhasználót / jelszót, és sikerülne kapcsolatot kiépítenie az adatbázissal, akkor az első esetben korlátozottabb a mozgásköre, viszont a függvények továbbra is engednék a módosítást. az igazi megoldás az lenne, ha az admin külön futna, és nem tárolódna / máshol tárolódna a jelszó. az mondjuk lehetőség, hogy az adminok külön user-t használnak, ami viszont csak localhost-ról tud belépni, de ez ugye csak akkor megoldás, ha az admin mindig ott van helyben, ami nem igazán kivitelezhető. vélemények?
Fegyelem, telepítés
Más részről viszont kicsit paranoiának tűnhet mert ami törést láttam, az sokkal nagyobb biztonsági lukon alapult, mint egy injection. High security rendszerekhez viszont jó lehet (bár talán inkább SOAPot használnék).
Egy dolog ami nehéz ezzel nagyon: a deployment. Mindig figyelni kell arra, hogy a tárolt eljárások megfelelő user alól legyenek létrehozva, annak aztán vissza legyenek vonva a szükséges mértékben a jogai, stb.