ugrás a tartalomhoz

Txt adatbázis biztonsága

Hellhammer · 2011. Jún. 17. (P), 23.44
Üdv!

Egy előző témában említett módon *.txt fájlba történő adatírás/belőle kiolvasással foglalatoskodom mostanában...
Jelenleg pusztán csak elméleti szinten, de felmerült bennem egy kérdés, melyre várnék véleményeket:
Szóval: a fájlban 1adat1 | 1adat2 | 1adat3 \n 2adat1 | 2adat2 | 2adat3 \n módon tároljuk a feldolgozott űrlapról érkező információkat.
Viszont ez értelem szerint azt jelenti, hogy ha a böngészőbe beírom, hogy http://www.domain.hu/a/fajl/eleresi/utja/fajl.txt , nos akkor kiírja a tartalmat...

Felmerült bennem az a gondolat, hogy bár nem akarok ilyet tenni, elvileg simán használható lenne egy ilyen adatbázis felhasználónév+jelszó tárolására, De: ez ebben a formában eléggé hülyeség, mert ha egy viccesebb kedvű kolléga kitalálja a fájlnevet, akkor látja az adatokat..

Erről, illetve jelen elméleti rendszer biztonságossá tételéről van valakinek valami ötlete, esetleg tapasztalata??

Felmerült bennem ötletként, hogy: mennyire eredményes ötlet "eldugni a fájlt"= fájlnév: rglmg4oj54j9845ö935m.txt és valami al-al-al-al-alkönyvtárban elhelyezni?
A másik, amit google-val találtam biztonság témában, az ún. (remélem, jól értelmeztem, hogy van ilyen) sózás nevű eljárás, mely során egy, látszólag vagy tényleg véletlenszerű karaktersorozattal kombináljuk a mentett adatot..

Köszönöm a válaszokat!
 
1

Eldugni

Poetro · 2011. Jún. 18. (Szo), 02.59
Az eldugni alatt leginkább azt érdemes érteni, hogy kivesszük a publikus dokumentumok közül, azaz a document root-on kívülre helyezzük, vagy nem adunk olvasási jogot csak a PHP-nak.
2

Érzékeny adatokat - ahogy

H.Z. v2 · 2011. Jún. 18. (Szo), 08.33
Érzékeny adatokat - ahogy Poetro is írta - documentroot-on kívülre kell tenni (ha megoldható).
De kérdés az is, hogy kik elől kell védeni a bennük tárolt infokat. Ha csak a web szerveredre beeső felhasználók elől, akkor talán elég ennyi. Ha a szerverhez egyéb úton is hozzáférhetnek a "vicces kedvű kollégák", akkor arra kell figyelni, hogy a web szerver/ill. a user, ami alatt a PHP fut, hozzáférjenek a file-hoz, de más ne. Windows-on azt hiszem, az adminisztrátort is meg tudod akadályozni, hogy belenézzen(*), unix/linux rendszereken ez lényegesen macerásabb. De ez már elég messzire vezet.
Plusz a jelszót nem illik kódolás nélkül tárolni, sem textfile-ban, sem adatbázisban. Az a bizonyos "sózás" nem önmagában értendő, hanem valamilyen - többnyire egyirányú - kódolást kell használni (személy szerint sha1/sha2-t preferálnám). Ezzel kapcsolatban érdemes megnézni pl. a crypt függvény leírását.


* = Windows-okon úgy tudom, meg lehet tiltani az Admin jogú usernek, hogy hozzáférjen az adataidhoz, de végszükség esetén átveheti a file-ok tulajdonjogát és akkor már bele tud nézni. (viszont azt hiszem, visszaadni már nem tudja a te tulajdonodba, de a windows elég távol áll tőlem)
3

Köszönöm a válaszokat,..

Hellhammer · 2011. Jún. 18. (Szo), 10.53
Igen, én is a documentroot-on kívüli helyszínre gondoltam..

És mivel csak "a szerverre beeső felhasználók"-kal kapcsolatben kérdeztem a dolgot; nos, egy olyan megoldás akkor (persze továbbra is elméletben) jó lenne, hogy doc-rooton kívüli fájl attribútuma kb. 000, a vele műveleteket végző php-k pedig tartalmazzanak ez alapján egy ilyesmi szerkezetet?:

<?php
chmod("eleresi/ut/fajlnev.kit", 0777);
//elvégezzük a kívánt műveletet
chmod("eleresi/ut/fajlnev.kit", 0000);
?>
4

Nem, ezt így felejtsd el,

H.Z. v2 · 2011. Jún. 18. (Szo), 11.09
Nem, ezt így felejtsd el, ennek semmi értelme!
A jogosultságokat egyszer kell beállítani úgy, hogy csak az férhessen a file-okhoz, akinek szabad.
Szerintem kérd meg a helyi rendszergazdát, hogy segítsen!
5

Ok, bocsi, elfelejtem...

Hellhammer · 2011. Jún. 18. (Szo), 12.22
Rendben, csak mint írtam, ez csak egy ötlet volt...

Egyébként kérjem meg a rendszergazdát... hát: mint az elején már írtam; ez nem egy valós probléma, pusztán elméleti alapon kérdeztem, tehát nincs konkrét fájl, konkrét szerveren, amiről szó lenne, csak elvileg érdekelt a téma, tanulási célzattal.. /jelenleg csak a txt db használatának lehetőségeit tanulgatom, offline módon; csupán érdekelt, hogy a valóságban mi mindent kéne elkövetni ahhoz, hogy biztonságos legyen egy ilyen rendszer../

Esetleg tudnál útmutatást adni, hogy hol és minek érdemes utánaolvasnom? (a TC működésével tisztában vagyok, azon túl csak ami pár érthető infót találtam chmod témában..)
6

unix/linux alapokkal kellene

H.Z. v2 · 2011. Jún. 18. (Szo), 13.04
unix/linux alapokkal kellene megismerkedned.