3gteam

Hogyan védjem a weboldalamat?

Akár egyedi fejlesztésű a weboldal, akár nyílt forrású CMS rendszer az alapja, bárhol lehet benne biztonsági rés, amit a leleményes hackerek kihasználnak.

A szerveren több biztonsági réteg is ügyel arra, hogy egy megtört weboldal ne tudjon kárt tenni se a rendszerben, se más weboldalakban, az oldal (alkalmazás) általános védelmére azonban nagyon korlátozottak a lehetőségek.

Ezen a szinten már a fejlesztőnek, vagy a CMS rendszert telepítőnek kell minél jobban megnehezítenie a támadó dolgát.

Egy biztonsági rést kihasználó hacker valószínűleg malware-t vagy bot-okat akar telepíteni a szerverre. Ehhez első lépésként általában egy php alapú shellt telepít fel (pl. C99shell), aminek segítségével feltérképezheti a könyvtárstruktúrát, belenézhet a file-okba stb. Ez után már könnyedén telepíti botokat, vagy fertőzi meg az oldalt malware-el.

Az alábbi védelmek általános módszerek, melyek nem a betörést, hanem a kártevést gátolják vagy nehezítik meg.

1. filerendszer-szintű jogosultság-korlátozás

A legtriviálisabb védelem. A lényege, hogy a PHP csak azokra a helyekre tudjon írni, ahova szükséges (pl. upload könyvtár, temp, stb.). Alapvetően azt kell tudni hozzá, hogy minden PHP script a webszerver jogosultságával fut egy korlátozott felhasználóként.

Amikor FTP-vel feltöltjük az oldalt, alapértelmezésben a rendszer nem ad írási jogot semmire, ezeket nekünk kell beállítanunk (CHMOD). Ahhoz, hogy a PHP mégis tudjon írni a szükséges helyekre, engedélyeznünk kell az írási jogot a csoport számára (könyvtárakra rwxrwxr-x vagy 775, file-okra rw-rw-r-- vagy 664)

Ez a védelem nem foltozza be a biztonsági rést, de megvédi a "rendszerfájlokat"a felülírástól vagy a fertőzéstől.

2. webszerver-szintű jogosultság-korlátozás

Tegyük fel, hogy egy adott könyvtárra adtunk írási jogot a PHP számára. Ezt már nehezebb lesz a támadónak megtalálnia, de idővel sikerülni fog. Az oldalban ugyan már nem fog tudni kárt tenni, de a botokat, vagy a phishing oldalakat még mindig fel fogja tudni ide tölteni, majd futtatni.

A feltöltést nem fogjuk tudni meggátolni (hiszen az upload könyvtár erre való), de alkalmazás-szinten ellenőrizhetjük a feltöltött file-okat. Ha erre nincs lehetőségünk (pl. nem akarunk beleírni a CMS kódjába), még mindg a kezünkben van a PHP futtatás letiltása az adott könyvtárban.

Helyezzünk el egy .htaccess nevű file-t az upload könyvtárban az alábbi tartalommal:

<FilesMatch "\.php$">

Deny from all

</FilesMatch>

A feltöltést ezzel nem gátoltuk meg, de már lefuttatni nem fogja tudni a támadó.

Ha ezeket az elővigyázatosságokat megtesszük egy új weboldal telepítésekor, a jövőben sokkal kevesebb sikeres támadásra számíthatunk.

 

 
Következő >
  • Magyar