Sziasztok,
a Debian 7.8-as szerveremet "GASTON DIABLO" Hacker csapat által támadás érte. Ami site-ot megtámadtak, azon egy Drupal futott.
Először onnan vettem észre, hogy sok hibás e-mail cím érkezik az egyik domain nevemről.
Utána megnéztem az oldalamat és láttam, hogy támadás érte (ki lett cserélve az oldal).
Azóta az index.html-t kicseréltem és a szervert is újra indítottam, de a levél küldözgetés nem állt le. Továbbá a serverem nagyon be van lassulva, alig tudom elérni. HTOP-ot futatam rajta, de semmi rendkívüli terhelést nem láttam. A ps aux -nál lehetett látni, hogy a postfix több helyen fut. Leállítása után egy kicsit gyorsult a rendszer.
Kérdésem, hogy ilyenkor mit lehet tenni, hogyan lehet megszüntetni a levél küldözgetést? Mit kell mindenképpen ellenőrizni?
Köszi!
Kalmi
- 4338 megtekintés
Hozzászólások
Ami hibám fennmaradt a levél küldözgetés a Debian serveremen. Letöröltem azt a könyvtárat amit feltörtek, de a levél küldés megmaradt, azaz itt már szerintem a Debian server törése lesz a valószínűsíthető. Kérdésem, hogy ezt hol lehetne kikapcsolni letiltani? Mit támadhattak meg?
Kalmi
- A hozzászóláshoz be kell jelentkezni
közel sem biztos.
először is ellenőrzöd, hogy a netstat és fuser korrupt-e. ha nem, akkor megmondják, mi az ami küldi a levelet. Simán lehet, hogy a www-data (apache) user távolról indított el valami shellscript szerű dolgot, ami küldi a levelet - vagy letöltötte a programot, ami küldi a levelet.
- A hozzászóláshoz be kell jelentkezni
Vagy csak a queue ban van még egy rakat levél, de újak már nem is jönnek, csak a kézbesítés alatt lévők miatt lassú a szerver (nagy az io)
postqueue -p mutatja a queue ban lévő leveleket, ha ez mondjuk 10-20e levél, akkor gyanús, hogy ez van.
Töröld az egész queuet, vagy valamilyen szabály alapján amit kell. Pl. így:
postqueue -p|grep -B 1 xyzemailpeldaul|cut -f 1 --delimiter ' '|cut -f 1 --delimiter '*'|postsuper -d -
- A hozzászóláshoz be kell jelentkezni
abban az esetben, ha a Te MTA-dat használják. (nyilván első körben megoldja egy olyan védelem az MTA-n, hogy n*5levél/perc valami burst értékkel megtámogatva - a normál üzemvitelt simán elviszi)
Ha feltöltenek egy scriptet, ami letölt egy interpreter alapú (mondjuk perl/php/python/shell) nyelven írt spamküldő programot, hát, kereshetsz egy ideig (főleg ha a netstat felül van írva)...
- A hozzászóláshoz be kell jelentkezni
Több postfix példány van, amiket ps-ax-szel látsz? Azokat töröld le.
Továbbá, amíg nem lesz pontos a felderítés:
- postfix csomag eltávolítása
- tűzfal kimenő levelek tiltása
- atop-ban (htop helyett) jobban látszanak a nagy/túlterheléses kiugrások.
- A hozzászóláshoz be kell jelentkezni
A postfix-et töröltem purge-al, de a levél küldés megmaradt. Kérdésem, hogy honnan, hogyan lehet küldeni levelet postfix-el, mi és hol futhat a serveren?
Kalmi
- A hozzászóláshoz be kell jelentkezni
Levél küldéshez elég egy shell script, nem kell postfix.
Azt kell kideríteni ps aux-al, logokból, netstat-al esetleg, hogy mi küldi a levelet.
Érdemes esetleg kilőni az apacheot és megnézni akkor is jönnek-e...
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"
- A hozzászóláshoz be kell jelentkezni
De miért üzemeltet szervert, aki nem ért hozzá? Véletlenül se vedd bántásnak, hiszen én sem értek hozzá (de nem is üzemeltetek szervert).
Be kell vágni az egészet egy szolgáltatóhoz*, és a megtakarított időben/pénzen pedig el lehet menni nyaralni. ;)
* egy normálishoz, aki ért hozzá, mert nyilván olyan is van elég sok, aki nem - akkor pedig ott vagy, ahol elindultál
- A hozzászóláshoz be kell jelentkezni
Nem szeretnék megbántani senkit, de nekem is ez jutott az eszembe, hogy wtf?
Ezek elég alap üzemeltetési dolgok, ha ennyire nem megy, hagyni kell valóban szerintem is.
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"
- A hozzászóláshoz be kell jelentkezni
Hobbi szinten üzemeltetem a servert és szeretném megtanulni a működését, működtetését. Most törték fel először a szerveremet ezért kérek segítséget...
Előre is köszönöm a segítségeket!
U.i.
Egy-két dologhoz már alapszinten értek, ezért kifejtenétek bővebben, hogy mire gondoltok itt "Ezek elég alap üzemeltetési dolgok, ha ennyire nem megy, hagyni kell valóban szerintem is."
Mik az alap dolgok ilyen esetben a server kikapcsolásán, vagy újra telepítésén kívül? Ha ennyire alap, akkor talán sikerülhet nekem is ;)
- A hozzászóláshoz be kell jelentkezni
Szerintem az alap, hogy kiderítsd hogy mi okozza a dolgot, és legalább tanulj belőle, esetleg megtisztítsd a rendszert.
tcpdump, netstat, ps, lsof így hirtelen ami ehhez kellene neked szerintem.. :)
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"
- A hozzászóláshoz be kell jelentkezni
"Most törték fel először a szerveremet ezért kérek segítséget..."
...most vetted észre először.
- A hozzászóláshoz be kell jelentkezni
Ilyenkor a teendők:
-szerver távoli publikus elérését lelőni
-rájönni, hogyan törték fel
-megoldást keresni
-utolsó jó imageből visszatenni a virtuális gépet (remélem, nem fizikai a feltört gép, mert akkor lehet rohangálni)
-megoldást applikálni
-elérhetővé tenni
-reménykedni :)
- A hozzászóláshoz be kell jelentkezni
+1
megtört gépet nem megjavítani próbáljuk, hanem töröljük és újratesszük.
Törlés előtt persze lehet vizsgálódni (ha érdekli az embert vagy ha el szeretné kerülni az újabb törést), és újratesszük az lehet mentésből vagy alap telepítésből.
- A hozzászóláshoz be kell jelentkezni
Simán hagynak olyan kiskaput, amire nem jön rá az ember.
- A hozzászóláshoz be kell jelentkezni
szerintem nem így van azért, alap parancsokkal ezeket el lehet csípni...
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"
- A hozzászóláshoz be kell jelentkezni
Feltéve, hogy azokat az alap parancsokat nem módosították, gondolok itt a legegyszerűbbre - lecserélik az `ls`-t, hogy bizonyos könyvtárak tartalmát a kívánt módon jelenítse meg, elrejtve bizonyos fájlokat, stb.
- A hozzászóláshoz be kell jelentkezni
Ezért kell használni ossec-et pl. :)
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"
- A hozzászóláshoz be kell jelentkezni
Egy szerverem egyszer így kamura törték, két rootkittel felülvágva. Minden második parancs le lett cserélve. 1 hétig nézegettem, nagyon vicces volt. :-)
- A hozzászóláshoz be kell jelentkezni
Hogyan vetted eszre egyaltalan? Az ilyen munka gondosnak tunik es nem cel a felfedezhetoseg, nem viselkedik feltunoen.
--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség
- A hozzászóláshoz be kell jelentkezni
RBL listákra felkerült az IP. :)
- A hozzászóláshoz be kell jelentkezni
+1
Általában valahová betolnak egy php oldalt, amit távolról hívogatnak egy egész botnet hálóról, akár másodpercenként más-más ip-ről, és amikor lefut, egy email kimegy.
Az ilyen feltörések _zömében_ nem profin mennek, az esetek többségében egy jól paraméterezett find megmondja, hogy mik az új/módosult fájlok, a tettes egy mezei less/vi/mcedit/stb. segítségével megtalálható/ellenőrizhető.
Persze, ha egyedi fejlesztésű az oldal, akkor molyolni kell vele. Ha joomla/drupal/wp/stb, akkor konfig elment, ugyanaz a patchlevel feltesz, konfig vissza, kiegészítők vissza, biztonsági beállítások újraellenőrzése/javítása, majd upgrade-upgrade-upgrade. Ha a cms biztonsági hibáját szúrták ki, akkor főleg.
_Mindig_ a legfrissebb verzió legyen fenn a cms-ből.
--
PtY - www.onlinedemo.hu, www.westeros.hu
- A hozzászóláshoz be kell jelentkezni
Hát igen, van benne valami. Ahogyan nézegetem egyre jobban látom, hogy nem pusztán egy oldal került feltörésre, hanem maga a serverem.
Először talán a Drupal-t törték fel, arra tettek egy oldalt. Utána a serverre telepítettek, valamit, mert hiába töröltem le a usert, postafiókokat, a teljes feltört oldalt, ugyan úgy küldi a leveleket, azaz mélyebbre kelet tenni valamit.
A serveremen, amúgy egy I-MSCP rendszer fut, amit szintén újra frissítettem, de semmi nem változott mennek tovább ki a levelek.
A Postfixet is purge-al un-instáltam, de elvileg nem itt lehet a hiba, mert ezt csak használja valami.
Parancsokkal nézegetem a servert, de lehet "béna vagyok", de nem szúrok ki semmi érdekes. Amit megfigyeltem, hogy a levél küldője minden esetben webmester@server.hu, esetleg ezt meg lehetne valahogy keresni, hogy hol lehet ez a mail cím?
- A hozzászóláshoz be kell jelentkezni
No-no fiam, kőből talán nem lehet hidat építeni? azt nem lehet, hogy snapshotoljuk a feltört gépet, újrahúzzuk, és csak utána, egy másik VM-ben nyomozunk?
- A hozzászóláshoz be kell jelentkezni
És mondjuk fél óra múlva ugyanúgy feltörik.
- A hozzászóláshoz be kell jelentkezni
Olyan kérdésem lenne, hogy valahogy lehetne figyelni a kimenő levelek forgalmát és ha elér egy mennyiséget, akkor kapjak riasztást? Nem ilyen menedzselő szoftverre gondolnék, hanem valami egyszerűbb programra. Ezzel a SPAM-elő feltörést ki lehetne kerülni...., vagy gyorsabban észre vehetném.
- A hozzászóláshoz be kell jelentkezni
Iptables output accounting?
- A hozzászóláshoz be kell jelentkezni
Gyorsan keresgéltem, de nem találtam ki, hogy mire gondolsz :) Kérhetek egy gyakorlatibb segítséget?
Köszi!
- A hozzászóláshoz be kell jelentkezni
Pl.:
iptables -A OUTPUT -o eth0 -m tcp -p tcp --sport 22
Percenként:
iptables -Lvn
Ha túl nagyot változik, mail2you. Asszem.
(Sosem csináltam, de talán használható. Mondjuk a tűzfal nálam kifelé is tűzfal szokott lenni. Ismeretlen portnyitásról log születik mindenképp.)
- A hozzászóláshoz be kell jelentkezni
A következő lépéseket mindenképpen csináld végig:
1. CGI futtatás off, exec, shell, stb. függvények tiltása. (pl.
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
)
2. PHP-ban mail logolás be: php.ini-be: mail.log = /var/log/php-mail.log (legalább látod, hol és ki küldözget bármit is)
3. Amíg meg nem találod, hol a baj, chattr +i minden php fájlra.
4. minden cron átnézése, pl.:
for user in $(cut -f1 -d: /etc/passwd); do echo "START: $user"; crontab -u $user -l; echo "END: $user"; done
5. rkhunter és társai ráeresztése a rendszerre.
Bónusz: Ha van lehetőség, vesd össze a szerveren futó szkriptek hashsumját az érintetlen fájlokéval (fejlesztőnél pl.), a továbbiakban ez lehet egy monitorozási pont is.
És a legfontosabb: ha tanulni akarsz, keress egy mentort, aki nem leereszkedő, viszont akar és szeret oktatni.
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Esetleg még egy maldet-et javasolnék, a jövőben pedig ITK MPM modult. Utóbbi anniyban lehet csak hasznos, hogy ha az egyik oldalt felvágják, akkor csökkenhet az esélye annak, hogy a többit is végignyalják, mivel külön userrel fut. Persze ez sem garancia mindenre.
- A hozzászóláshoz be kell jelentkezni
Felhúzol egy új szervert és átmigrálsz egyenként a szolgáltatásokat a legjobb tudásod szerint, aztán oda irányítasz mindent, a régit meg bezúzod.
Az újat frissen tartod, nem teszel fel rá ismeretlen forrásból semmit, csak csomagból és/vagy megbízható weboldalról. Amit kézzel teszel fel, azt is frissen tartod, ahogy minden mást. Nem állítgatsz át semmit, amiről nem tudod, hogy mit okoz.
Ha újra feltörik, akkor felírod magadnak, hogy nem értesz hozzá és más hobbi után nézel.
- A hozzászóláshoz be kell jelentkezni
+
Csak feliratkozni akartam de Franko, olyan komoly cégek, intézmények oldalait is feltörik, akiknél biztos van pár ember aki ért hozzá
- A hozzászóláshoz be kell jelentkezni
Komoly cégek... mint például? Dolgoztam pár komolynak nevezhető cégnél, ahol akkor frissítettek, amikor már tényleg nagyon nem lehetett kikerülni a dolgot...
- A hozzászóláshoz be kell jelentkezni
Egy CMS-t hiába tartasz frissen, ha nincs még patch egy napvilágra került sebezhetőségre.
- A hozzászóláshoz be kell jelentkezni
Azért egy láda sörbe merek ilyenkor fogadni, hogy ismert hiba miatt törték meg, amire volt frissítés. :)
- A hozzászóláshoz be kell jelentkezni
Legyen 2 láda :)
--
PtY - www.onlinedemo.hu, www.westeros.hu
- A hozzászóláshoz be kell jelentkezni
Csak nekem bántja a szememet magyar szövegkörnyezetben a "server" szó?
trolling off.
- A hozzászóláshoz be kell jelentkezni
Azt meg szabad tudni, milyen verziójú drupal volt és milyen kiegészítők voltak rajta? Így tudni lehetne, hoyg mit használtak ki, miben volt a sérülékenység, stb. Nem mellesleg másnak is hasznos infó lehetne.
- A hozzászóláshoz be kell jelentkezni
Sziasztok,
egy segítséget kaptam a egyik fórumozótól. Ezt köszönöm neki itt is!
Amit megállapítottunk, hogy csak a Drupal oldalt törték fel a szervert nem. A Drupal és feltöltöttek egy PHP szkriptet:
#cat access.log |grep POST
---
http://pastebin.com/qR0VuapQ
---
Ami elindította a SPAM-lést.
A lassúság és az oldal törlés utáni levélküldés pedig, azért volt mert (nem tudtam), hogy ellenőrizni kellene a "postqueue" -t.
#postqueue -p
Így ebben lehettek még a ki nem küldött levelek, amik szép lassan kimentek....
Drupallal kapcsolatban megnézem a mentést, hogy melyik verzió volt, de elvileg mindegy, mivel mindenkinek ajánlom a teljes frissítést!
Kalmi
- A hozzászóláshoz be kell jelentkezni
Nem mindegy. Mert ha egy olyan sebezhetőség van, ami a frissben sincs javítva, akkor megette a fene a frissítést is, holnapután ugyanúgy beköszönnek. Azért nem árt ezt kideríteni, hogy aztán esetleg le is tudd jelenteni a drupal fejlesztők felé, ha a hiba a frissben is fennáll.
- A hozzászóláshoz be kell jelentkezni
Lehet ilyet, de ha találnak egy Drupal sebezhetőséget, ami nincs javítva, akkor nem egy jelentéktelen site jelentéktelen szerverén kezdik el a spam küldését...
- A hozzászóláshoz be kell jelentkezni
nem kötözködni akarok, de ha spammelésről van szó, akkor pont oda rakják fel a sz*rjukat ahová sikerül.
Pont a jelentéktelen szerveren futó jelentéktelen site van kevésbé védve.
Elmesélem a folyamatot:
van valami ismert sebezhetőség.
nekiállnak guglival vagy saját scanner scripttel keresni olyan site-okat amik az adott verziót futtatják. fut a scan pár napig, majd a megtalált site-okra megpróbálják feltenni a sz*rjukat, ami jó eséllyel sikerül is.
Értsd: nem meghekkelik az adott site-ot, hanem ismert sebezhetőséget (pl távoli script végrehajtás) keresnek és alkalmaznak.
- A hozzászóláshoz be kell jelentkezni
"Értsd: nem meghekkelik az adott site-ot, hanem ismert sebezhetőséget (pl távoli script végrehajtás) keresnek és alkalmaznak."
Tudom, tele van az összes webszerverem logja azzal, hogy konkrét verziókat keresnek PhpMyAdmin/PhpLdapAdmin/Drupal/Joomla/stb vonalon, hogy aztán specifikus támadást tudjanak indítani a nem frissített site ellen.
Mindössze azt kétlem, hogy ismeretlen (vagyis a legfrissebb Drupal esetén is létező) sebezhetőséget használnak ki egy jelentéktelen site-on.
- A hozzászóláshoz be kell jelentkezni
tényleg nem értem, hogy a támadó szempontjából (aki nem specifikus oldalt támad, hanem lehetőséget keres) miért szempont, hogy jelentéktelen-e vagy nem...
- A hozzászóláshoz be kell jelentkezni
Hhh... szóval találsz egy _új_ Drupal sebezhetőséget, ami az _összes_ Drupal-t érinti, bármelyik és bármilyen friss legyen is, erre nekiállsz és jelentéktelen szervereken kezded kihasználni a hibát spam küldésére, amit tulajdonképpen pillanatok alatt észrevesznek? Ahelyett, hogy keresnél jelentősebb és információ dúsabb Drupal oldalakat és onnan adatokat lopnál titokban, minimális beavatkozással, mert minél tovább tudod kihasználni a hibát, annál jobb? Ez életszerű?
"ha egy olyan sebezhetőség van, ami a frissben sincs javítva"
Erre reagáltam. Legalább olvasd el a szálat.
- A hozzászóláshoz be kell jelentkezni
Azt gondolom, hogy ez a támadó érdekeitől függ. Egy spammert nem fogja érdekelni HUP (jelentős, infódúsabb) accok lopása, mert nem ér vele semmit, ellenben a HUP kapacitása spam-re annál inkább.
- A hozzászóláshoz be kell jelentkezni
És a támadó helyében komolyan kockáztatnád egy értékes sebezhetőség idő előtti felfedezését azzal, hogy szimplán spam küldésre használod (=aprópénz), amikor sokkal értékesebb dolgokra is jó lehet (=hitelkártya adatok)?
Hány olyan Drupal sebezhetőséget láttál már eddig a saját szervereiden támadók által kihasználva, ami nem ismert sebezhetőség volt (=Drupal frissítés bezárta a lyukat)?
- A hozzászóláshoz be kell jelentkezni
Mekkora az esélye annak, hogy hasznos adatot találsz?
1:10000?
Mennyi munka kell, hogy ezt meg is találd?
5-10ó?
vs.
Mekkora az esélye annak, hogy szabad erőforrást találsz?
1:1?
Mennyi munka ezt ki is aknázni?
1ó?
Ez a lényeg.
--
PtY - www.onlinedemo.hu, www.westeros.hu
- A hozzászóláshoz be kell jelentkezni
"Mekkora az esélye annak, hogy hasznos adatot találsz?"
Mindegyik Drupal-t érintő nem ismert, nem javítható sebezhetőséggel?
Elég nagy, ha tudod, hogy melyik oldal Drupal, mint például a https://www.whitehouse.gov is Drupal... :)
Ennyire nincs arányérzéketek?
Van egy minden Drupal-t nyitó sebezhetőség a kezetekben, most találtátok, senki nem ismeri, és akkor Ti tényleg elkezdenétek jelentéktelen oldalakon robotokkal spam-et küldeni, vagyis azt kockáztatni, hogy ezzel felfedezik a sebezhetőséget és javítják, vagy például körülnéznétek a fehér ház weboldalán belülről és próbáltok minimális profilt mutatni, hogy minél később fedezzék fel a hibát és javítsák a Drupal-ban?
"Ez a lényeg."
Ismert, publikált és javított sebezhetőségre teljesen igaz, amit írsz, ott célzottan keresik a frissítetlen kiszolgálókat. A hangsúly itt a _nem ismert_ és ezért _nem javított_ sebezhetőségen van.
- A hozzászóláshoz be kell jelentkezni
Ácsi, elbeszélünk egymás mellett. Nem azt mondtam, hogy ő találta, hanem egy olyan sebezhetőség, ami mondjuk 1.2 esetén lett ismert, de a jelenlegi 1.4-ben sincs még javítva.
- A hozzászóláshoz be kell jelentkezni
Oszt ebből mennyi van? Egy URL-t adhatnál legalább ezekről az ismert, kihasználható, de nem javított hibákról. :)
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogy mennyi van. Lehet, hogy van, ez kiderülhetett volna egy verzióból és plugin listából ;)
- A hozzászóláshoz be kell jelentkezni
A Drupal könyvtárában szerepelő CHANGELOG.txt szerint Drupal 7.31-es Drupal volt az áldozat. Mondjuk nem tudom, hogy a későbbi frissítéseknél ezt javították-e, mivel "ijedtemben" töröltem a teljes usert (IMSCP rendszernél a Customer). Így repültek a log-ok is. Legközelebb ezt a hibát sem követem el (lementem majd azt is).
Javaslat mindenkinek a frissítés!
- A hozzászóláshoz be kell jelentkezni
Ez valóban nem mai darab. Simán kihasználhatták az arzenálból bármelyik sérülékenységet, még azt is, amit 7.35-ben javítottak (azok közt volt olyan, ami az egész 7-es és 6-os sorozatot is érintette, szóval jó pár verzión keresztül nyitott volt).
- A hozzászóláshoz be kell jelentkezni
Igen, ezek nem gondolkodnak. Csak pörög a szemük előtt a SPAM SPAM SPAM szócska. :) Jellemzően nem az spammel, aki Drupal bugot talál, hanem valamilyen forrásból eljutott egy bug/sechole hozzá és puff nekiáll azt nyomatni, sőt lehet hogy még a scriptet is csak minimálisan módosítják. Én ezt már többször jellemeztem a szőnyegbombázás hasonlattal, de másnak is volt itt már hasonló jellegűje.
- A hozzászóláshoz be kell jelentkezni
egy ilyen távoli végrehajtást szerintem simán lehet url/get/post regex filteringel védeni.
(mod_security v reverse proxy)
- A hozzászóláshoz be kell jelentkezni
Ezt kifejtenéd, hogy mit jelent ez? Mit kellene keresni, hogy ilyen védelemmel is el tudjam látni a szervert?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
...vagy reverse proxy.
------------------------
Program terminated
{0} ok boto
boto ?
- A hozzászóláshoz be kell jelentkezni
+1
Az jóság...
--
PtY - www.onlinedemo.hu, www.westeros.hu
- A hozzászóláshoz be kell jelentkezni
a mod_security egy apache modul, amivel különböző dolgokat tudsz ellenőrizni és tiltani.
pl túl hosszú url (buffer overflow) támadás, adott string-ek kiszűrése get/post adatátadásban (pl include http://)
(mint írták lentebb a hozzá tartozó url-t)
a reverse proxy pedig olyan proxy, ami a browser és megnézni kívánt oldal között van (mint a proxy általában :-)
itt is lehetőséged van szűrések biztosítására
(pl csak a Te ipcímedről engedélyezett olyan url regexp hogy include http://)
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Találtam egy érdekes Drupal modult, bár nem tudom van-e értelme, mivel ezt is át lehet írni...
- A hozzászóláshoz be kell jelentkezni