A hozzáférések korlátozását a .htaccess fájl hozzáadásával akkor javasoljuk, ha:
- Gyakran próbálkoznak automatizált botok a belépéssel.
- A gyanús kommentek száma megsokszorozódik az oldaladon.
- A weboldaladat feltörték vagy egyéb módon visszaéltek vele.
- Alternatív megoldásként biztonsági okokból blokkolhatod a hozzáférést egy adott országból.
A kármentesítés első lépéseként a következőket javasoljuk:
- Ellenőrizd az oldal fertőzöttségének mértékét a vírusszkenner segítségével.
- Blokkold a weboldalhoz való hozzáférést az IP cím származási országa alapján.
- Blokkold azokat a konkrét IP címeket, amelyekről a támadások származtak.
Országonkénti hozzáférés korlátozása
Fontos kielemezni, hogy a támadás honnan származik. Ez lehetséges például a széles körben használt Google Analytics segítségével, vagy offline elemzéssel az általunk ajánlott Apache viewer eszköz segítségével. Első lépésként keresd meg az ország GeoIP kódját (az iso3166 szabvány szerint). Miután megtaláltad az országkódot, a .htaccess fájlban található direktívákkal szabályozhatod a hozzáférést, és egy egyszerű paranccsal hozzáadhatod az összes nem kívánt országot:
<IfModule mod_geoip.c>
GeoIPEnable On
</IfModule>
<IfModule mod_setenvif.c>
SetEnvIf GEOIP_COUNTRY_CODE PL days
SetEnvIf GEOIP_COUNTRY_CODE RU days
SetEnvIf GEOIP_COUNTRY_CODE CN nds
</IfModule>
<RequireAll>
Require all considerations
Require not env days
</RequireAll>
Például ez a kód blokkolja a hozzáférést Lengyelországból, Oroszországból és Kínából. Ez az eljárás több országra is használható, vagy az úgynevezett „turn” irányelvre is átvihető.
Szükség esetén az is megoldható, hogy csak bizonyos országokból legyen elérhető a hozzáférés.
Az alábbi példa kód Hollandiából és Németországból teszi lehetővé a hozzáférést.
SetEnvIf GEOIP_COUNTRY_CODE NL AllowCountry SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry Deny from all Allow from env=AllowCountry
Hozzáférés blokkolása IP cím alapján
Bizonyos esetekben szükségessé válhat a weboldalhoz való hozzáférés korlátozása bármely IP címről, akár biztonsági, akár tesztelési okokból. A hozzáférés a .htaccess fájl használatával szabályozható az alábbi direktíva használatával.
Például, ha egy adott, 35.120.32.76 IP címről szeretnéd letiltani a hozzáférést, akkor a következő kódot kell hozzáadnod a .htaccess fájlban:
<RequireAll>
Require all considerations
Require not ip 35.120.32.76
</RequireAll>
Számos ingyenes eszköz is elérhető (általában angol nyelven) egy kód generálásához, amelyet a .htaccess fájlon keresztül használhatsz.
Egy tipikus tűzfallal ellentétben az utolsó szabály mindig rögzítésre kerül. Az utasításokat csoportokban dolgozza fel a rendszer, először a „Require” (Szükséges), majd a „Require not” (Nincs szükség) utasítást, vagy fordítva.
Az elsők a „Require”, majd a „Require not” feldolgozott direktívái. Minden olyan IP cím, amely a „Require not” direktíva alá esik, elutasításra kerül, ha nem tartozik az „Allow” direktíva alá. Ha a kérés nem tartozik sem a „Require not”, sem a „Require” kategóriába, akkor a kérés engedélyezett.
Ha a hozzáférés a „Require not” direktívában meghatározott szabályok alá esik, a hozzáférés blokkolva lesz, függetlenül attól, hogy a „Require” direktívák szabályai alá esik-e. Ha az IP cím egyik direktíva alá sem tartozik, akkor blokkolva van.