A php-fusion.co.hu és php-fusion.hu domain + tartalom ELADÓ! Korrekt ajánlatot az alábbi email-re várok: lynx.adm@php-fusion.co.hu

Cikkek

Oldalunk biztonságának fokozása a htaccess file használatával

Sokat lehet olvasni a neten különféle leírásokban, hogy mi is ez a htaccess file, és hogy mire való, ezért erről csak pár gondolatot írnék. A htaccess file az Apache webszervert alkalmazó oldalak esetében használatos állomány, melyet a tárhelyen elhelyezve különféle utasításokkal közvetlenül konfigurálható a webszerver működése.

A . htaccess kifejezés nem a file kiterjesztése, hanem ez maga teljes filenév.

A pont elé nem kerülhet semmi, mert akkor nem értelmezi az utasításokat a webszerver. A file létrehozásakor célszerű először egy htaccess.txt file-t készíteni, és ebbe írni az utasításokat, majd a tárhelyre felmásolva, ott átnevezni az állományt . htaccess-re.

Hozzá tartozik a történethez, hogy nem minden tárhelyen engedélyezett a htaccess használata, és ez igaz a legtöbb ingyenes tárhelyre is. Aki nem biztos benne, hogy tárhelyén alkalmazható ez a funkció, vegye fel a kapcsolatot a tárhely szolgáltatójával.

A htaccess file alkalmas sok mindenre, pl.: az oldal tartalmára hivatkozó linkelés tiltása (hotlink védelem), a dinamikus weboldalak elérési útjának felülírására (pl. SEO linkek létrehozása céljából), egyedi hibaoldalak (pl. 404-es) létrehozása, stb. Ebben a cikkben azonban kifejezetten a biztonsági jellegű funkciókról írnék, melyek jelentősen csökkentik PHP-Fusion oldalunk sebezhetőségét.

Biztonsági módszerek . htaccess file használatával



1.: Fontos állományok, pl. a teljes adminisztrációs felület szerver szintű jelszavas védelme:

Ezzel a módszerrel külön szerverszintű jelszóval védhetjük állományainkat, mely teljesen független a PHP-Fusion-ben lévő egyéb jelszavainktól. Legcélszerűbb alkalmazási területe az adminisztrációs felület védelme, de egyéb más mappákat, file-okat is védhetünk ugyanígy.



Hozzunk létre a tárhelyünkön a gyökérkönyvtár - admin mappába egy . htpasswd és egy . htaccess filet.

A . htaccess file tartalma legyen az alábbi:

AuthName "Administration"

AuthType Basic

AuthUserFile ***link***

Require valid-user

< Files ". htaccess" >

order allow,deny

deny from all

< /Files >

< Files ". htpasswd" >

order allow,deny

deny from all

< /Files >


A ***link*** helyére a . htpasswd file abszolút hivatkozását kell írni, ahol megtalálható a szerveren. Pl.: /var/users/tarhely/server/web/administration/. htpasswd

megj.:

Az abszolút hivatkozást többféle módon meg lehet tudni, pl. ha létrehozunk egy php állományt az adott könyvtárban, melyben kiadjuk a következő parancsot:


< ?php

$getPath = getcwd();

echo $getPath;

? >
Ezt lefuttatva az abszolút helyét kapjuk vissza a php állományunknak.



A létrehozott . htpasswd file tartalma az alábbi legyen:

username:pass


Ezen kívül semmi több. Vagyis a használni kívánt felhasználó nevünk és a jelszavunk egy kettősponttal elválasztva. A jelszót kódolva adjuk meg! Erre vannak online generátorok, mint ez is:



http://www.htaccesstools.com/htpasswd-generator



Ezzel el is készültünk. Bármilyen állomány futtatásához, mely az /administration/ mappán belül van, vagyis a teljes admin felületünk esetében kérni fogja a rendszer a megadott felhasználónevet és jelszót.



Természetesen ne ugyanazt adjuk meg mint amit a PHP-Fusion-ön belül használunk, hiszen így nem sok értelme van a dolognak. A megoldás nagy előnye, hogy ha valaki sikeresen férkőzik be oldalunkba, és helyez el egy admin jogosultságú usert, nem fog hozzáférni az adminisztrációs felülethez.



2.: Fontos állományaink védelme az illetéktelen hozzáféréstől:

Ezzel a módszerrel fontos filejainkat védhetjük a külső hozzáféréstől, pl. a config.php -t.

Hozzunk létre az oldalunk gyökér könyvtárában egy . htaccess állományt, az alábbi tartalommal.

< Files "config.php">

order allow,deny

deny from all

< /Files>



< Files ". htaccess">

order allow,deny

deny from all

< /Files>





Ezzel meg is volnánk. Ezáltal a config.php külső hozzáférését letiltottuk. Természetesen ugyanígy más fileokat, vagy mappákat is letilthatunk.



3.: Könyvtárstruktúra listázásának tiltása:

A megoldással a tárhelyünkön lévő mappák listázását tilthatjuk le. A mappa tartalmának lekérdezésekor nem jelenik meg annak teljes tartalma, vagy egy üres lap, így nem juthat tudomására senkinek milyen állományokat tárolunk az adott mappában. Ennek számtalan biztonsági előnye van, de ebbe most nem mélyednék bele.

Hozzuk létre a védendő mappában egy . htaccess filet az alábbi tartalommal.

IndexIgnore *

< Files ". htaccess">

order allow,deny

deny from all

< /Files>





Ezzel valamennyi file listázását letiltottuk az adott mappában. Persze a tiltást szűkíthetjük is, ha nem "*" -t írunk az IndexIgnore parancs mögé. A tiltás az almappákra is érvényes!



4.: Hozzáférés korlátozása oldalunkhoz:

Nagyon hasznos módszer, mivel részletesen szabályozhatjuk ki férhet hozzá oldalunkhoz kívülről. A korlátozás történhet domain, subdomain, vagy akár IP cím alapján is. Hozzunk létre egy . htaccess filet a szerverünk root mappájában az alábbi tartalommal.

order allow,deny

allow from all

deny from .ru

deny from .co.uk



< Files ". htaccess">

order allow,deny

deny from all

< /Files>





A fenti kóddal kitiltottuk oldalunkról az összes .ru, és .co.uk domainről érkező lekérést. Természetesen a tiltást bővíthetjük, nem kell mást tenni mint újabb sorokban hozzáadni a tiltani kívánt domaint, vagy IP címet.



Ezekkel a módszerekkel könnyen és hatékonyan lehet fokozni oldalunk védelmét és nem kerül sok időbe, vagy erőfeszítésbe a megvalósításuk. Természetesen nem csak PHP-Fusion oldalakon működik, minden más Apache webszervert alkalmazó tárhelyen lévő oldal esetében alkalmazható.



Természetesen a . htaccess file használatával járjunk el körültekintően, mert akár mindenkit kitilthatunk vele oldalunkról!

Forrás: Species8472 - www.php-fusion.co.hu - v7 biztonsági cikk




Update 1:

Ha esetleg spammelő robotok támadnának akkor javasolt az alábbi kódot beilleszteni a . htaccess-be a

# Block Nasty Bots

< IfModule mod_setenvifno.c> alá



SetEnvIfNoCase Referer viagra spammer=yes



Természetesen a sorokat egymás alá írva és a kulcsszót cserélve további szűrőket adhatunk hozzá.

Ephyx

_Ephyx 2017. 06. 16. 16:41 178 olvasás 2 értékelés Nyomtatás

Csak regisztrált tagok értékelhetnek.

Bejelentkezés vagy Regisztráció az értékeléshez.
Felülmúlhatatlan! (2)100 %
Nagyon jó (0)0 %
Jó (0)0 %
Átlagos (0)0 %
Gyenge (0)0 %