Kezdőoldal » Számítástechnika » Programozás » Hogyan szokás egy szervert...

Hogyan szokás egy szervert levédeni?

Figyelt kérdés
Gondolok itt pl egy weblapra, ahol értékes adatok lehetne sql-ben eltárolva. Ezeket mind nekem kellene megírni, vagy vannak olyan programok, amik direkt ez miatt vannak?

2014. szept. 6. 14:53
 1/4 Tengor ***** válasza:

Ez elég összetett dolog, sok sok utánajárást igényel.

Csak néhány példa SQL-re: egyrészt a lehető leginkább le kell korlátozni a hozzáférést (ha egy gépen van a PHP motorral, akkor ne lehessen csak localhoston megszólítani, ha külön gépen van, akkor csak egy előre definiált port legyen nyitva, amin figyel és az ne az alapértelmezett legyen). Jelszavak erejéről gondolom nem kell beszélni...

Ezen kívül jó ha az alkalmazás védett pl az SQL injection ellen.

2014. szept. 6. 15:34
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Vegyük például az adatbázisokat. Van egy nyers DB-d, amiben felhasználó neveket és jelszavakat tárolsz, például:

0. Jani12 jelszo1

1. Karcsi74 engedjbe

2. Gezu99 erosjelszo


Majd írsz hozzá egy egyszerű bejelentkezés scriptet PHP-ban:

SELECT * FROM mydb WHERE nev=' bemenet1 + ' AND jelszo=' + bemenet2


És ezt a lekérdezést futtatod le, hogy a bejelentkező adatait kinyerd. Na most, a bemenetet érdemes ellenőrizni, ugyanis valaki kódot juttathat be a nyers bemenettel. Képzeld, ha a névhez pl ezt írják:

bejutok' OR 1=1 --

Ezzel ezt futtatod le:

SELECT * FROM mydb WHERE nev='bejutok' OR 1=1 -- AND jelszo=''

SQL-ben a -- kommentet jelent, úgyhogy a lekérdezés csak az 1=1-ig tart. Amint látod, a felhasználó egész egyszerűen tud kódot csempészni a lekérdezésedbe (SQL injection). Ez nagyon veszélyes! A PHP tudja kezelni az ilyesmit, vannak beépített függvényei.

A védelem így sem garantált, érdemes minden felhasználónak külön egy jó hosszú, ún. sót generálni, és "felsózni" a jelszót. A só csak egy hosszú, random szám, és a sózás valamilyen algoritmussal történik (pl: SHA-256). Így a brute-force támadásokat is le lehet csökkenteni.

Van még az ún. XSS attack, ami nagyon hasonló az SQL injection-hoz, csak éppen javascriptet tudnak becsempészni a kódba. Pl: formoknál. A megoldás a html tag-ek kiszűrése, illetve bizonyos karakterek escapelése.

Ez a 3 fő dolog, ami most eszembe jutott.

2014. szept. 6. 20:29
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
hát, ezek valahogy nincsenek leírva a "PHP és MySQL az alapoktól" könyvemben :DDDD Viccet félretéve tényleg csak most tanulgatom őket, és szeretnék odáig jutni, hogy akár megrendelésre is csinálnék honlapokat, de nem elég csak megcsinálni és kész, mert ha valami történik, az az én lelkemen szárad, ezért mindenre előre kell gondolnom.
2014. szept. 6. 23:24
 4/4 Tengor ***** válasza:
Az alapok könyvtől ne is azt várd, hogy konyhakészen piacképes tudást fog adni. Ez arra jó, hogy az alapokat megtanuld, és érts azt, amit a haladó könyvek írnak, mert azokban meg azt nem fogod megtalálni, hogy mire jó a select...
2014. szept. 6. 23:32
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!