cron xmlrpc biztonság?

Nitrocad képe

Lelkes drupal felhasználó vagyok egy ideje, viszont már az
első telepítés során, felmerült bennem, hogy az index.php mellett a
cron.php xmlrpc meglepetéseket is tud okozni.

A minap kipróbáltam, (két különböző lapon!) ha teszem azt folyamatosan kérést indítok a cron
felé, 2-3 azonnali hívás után az adatbázis megadja magát és ha szerencsénk van csak egy 'Too many connections'-t kapunk vissza egy kis időre :) de nálam előfordultak az egyik lapnál ilyenek is:
'Lost connection to MySQL server during query.'
'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (11).'

Hogyan lehet esetleg hasonló támasáokkal szemben védekezni? Nálam fut
a spam modul, ill. ideiglenesen levettem a file-okat. persze ha futtatni akaorm visszakerül. :)

Üdv: D. Ádám

Hojtsy Gábor képe

Az xmlrpc.php-re nincs szükséged, ha nem akarsz másoknak szolgáltatásokat biztosítani (pl. a te webhelyeden lévő felhasználók más Drupal webhelyeken is beléphessenek a te webhelyeden regisztrált azonosítójukkal vagy asztali blogszerkesztőből akarsz tartalmat beküldeni közvetlenül). Ha nem kellenek ezek a funkciók, akkor attól nyugodtan megszabadulhatsz.

A cron.php-vel kapcsolatban az a kérdés, hogy honnan akarod futtatni rendszeresen? Ha a kereső modult vagy bármi más olyan modult használsz, ami azért igényelné, hogy eléggé gyakran lefusson, akkor kézzel kivenni és visszarakni mindig eléggé időrabló. Ezért azt tudom javasolni, hogy ha aggódsz az elérhetősége miatt és szerveren belül futtatod, akkor csak arra az IP címre engedélyezd az elését, ami a szerverednek az ismert címe, így kívülről le lesz tiltva az elérése. A .htaccess-be tudsz ilyet tenni (nem próbáltam ki, csak memóriából gépeltem be):

<Files cron.php>
  Order deny, allow
  Deny from all
  Allow from 1.1.1.1
</Files>

Az 1.1.1.1 helyére írd az IP címet. Így mondjuk a saját böngésződből is tiltott (403) elérést fogsz kapni, a szerveren belül viszont le tud futni a cron.

0
0