Re: lug-bg: Apache + chroot + many vdomains
- Subject: Re: lug-bg: Apache + chroot + many vdomains
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Wed, 22 Dec 2004 10:37:46 +0200
On Wed, Dec 22, 2004 at 09:56:15AM +0200, Danail Petrov wrote:
> Здравейте,
> искам да попитам, има ли възможност да се пусне apache (или друг уеб
> сървър) във /fakeroot , като обаче целта е всички виртуални домейни
> да бъдат в отделен /fakeroot ?
Ммм... *един* Apache не може да го направи. Виж края на мейла за
сложния начин да стане :)
> До сега ползвах станадртно apache с конфигурирани виртуални домейни, но
> днес сутринта при отварянето на една от страниците която се
> хоства на въпросната машина видях това:
>
> This site is defaced!!!
> NeverEverNo Sanity WebWorm generation 18
Това мина през BugTraq вчера и днес - това е worm, който използва
проблем в phpBB. Първо махни/забрани/скрий някъде phpBB-то, после или
рестартирай машината, или просто убий всички процеси със странни имена
като именно това m1ho2of - това са worm-четата, които се опитват да се
разпространяват от твоята машина нататък. За повече информация:
http://www.securityfocus.com/archive/1/385139/2004-12-19/2004-12-25/0
> Това беше default index.html на всички уеб страници...... вярно че
> машинката си беше занемарена малко , и от близо 1 година нищо не беше пипано
> по нея , но...... сега ще трябва да се оправи тази каша.
> Ето какво намерих в лог файловете. Според мен са ползвали "дупка" в
> някой .php (на машината има няколко сайта с 'eXoops'):
[snip добър анализ]
> на единия сайт дори бяха си ъплоаднали shell.php :) (сещате се какво
> прави това ....)
> та ... все от някъде трябва да го захвана , въпроса е от къде...
>
> Ще се радвам да чуя вашите мниения по въпроса , както се надявам и на
> съвети от ваша страна.
Това, за което питаш в началото, не може да бъде направено. За да успее
някой от процесите да се chroot-не, той трябва да върви с
административни привилегии (демек като root), а дори и тогава един
процес не може да се chroot-не два пъти в две различни директории -
освен ако, разбира се, едната не е поддиректория на другата, но ми се
струва, че нямаш точно това предвид :)
Иначе поне на мен ми се струва, че Apache не може да направи това, което
ти се иска. За да поддържа едновременно работещи (и обработващи заявки)
процеси, работещи в различни chroot дървета, самият Apache трябва да
знае за това и да е разпределил някак child процесите си, да ги е
разделил на две групи - едни, които са chroot-нати на едно място и
обработват едното съдържание, и други, които са за другото... Не мисля,
че има начин да му го обясниш през конфигурационните файлове, а би се
наложило, защото другояче няма как да стане :(
Е... току-що излъгах :) Apache може да работи и в режим на т.нар.
reverse proxy, при което слуша на порт 80 на някакъв адрес и прехвърля
част от заявките (или всички заявки) на друг сървър на друг адрес/порт.
Разрови се из документацията на mod_rewrite и mod_proxy и виж как може
да стане това - да имаш един видим сървър, който може да е chroot-нат
някъде, където пък съвсем няма content, и само да прехвърля заявките към
два други, които са си chroot-нати при техния си content. Това май няма
да е чак толкова сложно :) Виж документацията на mod_proxy и
mod_rewrite за повече информация.
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
Thit sentence is not self-referential because "thit" is not a word.
Attachment:
pgpe1mEs0TA0u.pgp
Description: PGP signature
|