Apache/PHP virus filter [Megoldva]

Sziasztok!

Sok-sok keresgélés után megkérdezném a profikat: Ti milyen megoldást javasolnátok a webszerveren (leginkább PHP-n, de nem szűkíteném le csak erre), a szerverre bepottyanó fájlokra elvégzendő víruskeresésre?

Amit eddig próbáltam:

1) php-clamav, de ehhez a kódot is módosítani kell a megfelelő függvényhívásokhoz
2) mod_clamav, de ez picit réginek tűnik és nem is sikerült belőni

Mit ajánlotok?

Köszönettel:

Attila

Hozzászólások

Egy kis kiegészítés:

Már annak is örülnék, ha a PHP-n keresztül feltöltött fájlokra rá lehetne tolni egy automatikus víruskeresést. Arra ugyan hiába várok, hogy az oldalak gazdái normális PHP kódokat írnak, vagy adott esetben pénzt és/vagy időt áldoznak egy már nem támogatott CMS frissítésére. Aztán meg hallgathatja az ember a sok nyafogást, hogy milyen gagyi a szerver konfig, ide mindenki betörhet...

Egység sugarú usernek / weboldal tulajdonosnak hiába is mondasz bármi okosat...

A szerver adott - mondjuk, örökölt -, az ügyfelek szintúgy, a PHP is adott, hát ebből kellene főzni valami elfogadhatót...

:-(

De hát Linuxra nincs vírus!!! Használj Linuxot!!!

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

en egy olyan av cuccot hasznalnek, ami elkapja a close() hivasokat, es elobb raengedi a file-ra a virusirtot. Ha pozitiv talalat van, akkor nem fog sikerulni a file lezarasa, azaz praktikusan nem jon letre a file. Az eset azt hiszem tud ilyet, de ilyen (ha jol emlekszem, nem biztos) a clamav dazuko nevu cucca is.

Diktatorok kezikonyve

Ez melyik (server celra hasznalt, mai) OS, amin a close() elott nem jon letre a file?
Szerintem a Debian nem ilyen. Pl. megnyitom irasra a file-t, es amikor felkerul a lenyeges tartalom, (esetleg flush utan) nyitvatartom amig akarom (es fut a process).

--
The programmers of tomorrow are the wizards of the future. You know, you're going to look like you have magic powers compared to everybody else. -Gabe Newell

Álmodtam egy újabb php.ini direktívát az alábbiakhoz:

file_uploads = On
upload_max_filesize = nM
.
.
.
file_upload_scanner = ...
.
.
.

Tudom, bilibe lóg a kezem. Csak hát ismerve a PHP összes hasfájását, olyan magától értetődő lenne...nekem...
:-(

Esetleg megpróbálhatod, hogy a file-t feltöltés után Samba share-re másolod valami scripttel (php-ból is hívhatod, vagy a fam is jó erre).
A share-en meg tudsz VFS-sel vscan-clamav-ot definiálni és így kb azt kapod, amit szeretnél.

...vagy ha nem vagy paranoid, akkor simán fam-ből is me tudod csinálni a szkennelést...

Oké, csak belegondoltam abba, hogy egy alapjában véve egyszerű (vagy annak tűnő) feladathoz ez igen nagy vargabetű lenne, hogy elérjem a célt. Csak ezért egy Sambát is hadra fogni, nem tűnik túlságosan erőforrás kímélő megoldásnak. Egy PHP extension vagy egy Apache modul olyan nagy elvárás lenne? Úgy látszik, igen...

Ahhoz sokkal komolyabban el kellene kezdeni tesztelni. Én inkább a stabilitás miatt aggódnék.

Esetleg gondolkoztál már kereskedelmi megoldáson? Őszintén szólva, a ClamAV nem a létező leghatékonyabb víruskergető (bár van itt olyan vélemény hogy nem is azért szeretjük..), lehet jobban járnál.

esetleg incrond vagy valami watch cucc ami megkapja az eventet, hogy az adott konyvtarban uj file jott letre es akkor arra meghivod a clamavat. Pontosabban egy scriptet ami futtatja a clamav-t es a scanneles eredmenye alapjan csinal valamit a fileval.

Találtam modsecurityhoz egy ilyesmit is:
http://www.rfxn.com/projects/linux-malware-detect/

Elvileg van egy ilyen opció benne hogy:
"The support for HTTP upload scanning is provided through mod_security2's inspectFile hook.
This feature allows for a validation script to be used in permitting or denying an upload."

(Időm nem volt még foglalkozni vele részletesen, így véleményt/tapasztalatot még ne várjatok.)

Nem volt nehéz, bár:

1) Jelenleg Munin grafikon nem készül az Apache jellemzőkről: Request Missing an Accept Header.
2) A Nagioson meg sárga színnel dob egy warningot: HTTP WARNING: HTTP/1.1 403 Forbidden - de legalább küld egy mailt, ha egyáltalán nem megy az indián.

Ezeket elsimítom, és minden oké lesz.

:-)

Kösz emberek, itt van egy csomó hasznos infó, csak nem teljesen reménytelen a sok php-s szemetet hostolni...
--
Gábriel Ákos
http://i-logic.hu