PAB

Рейтинг
26
Регистрация
10.08.2007
Должность
захламление интернета
manman:
просмотр логов апача не прояснил ситуацию?

я так понял пеха у вас модулем, и все папки доступны на запись всем как минимум от имени апача...
потому как я не хостер... могу посоветовать сделать так (собственно лишним в любом варианте не будет) :

раз у вас нет желания\возможности сделать пеху сэгэайкой , чтобы она исполнялась под определенным узером (ну типо длякаждого акка свой) .. поделите для начала аккаунты на несколько частей - которые "ломают -тоесть где появляются проблемы), которым не нужны исходящие коннекты, и все остальные. биндите эти сборки на 127 0 0 1 (2 3 4 5 6 ) сколько вам их там понадобится, биндите эти апачи чрутенные на эти 127*, на каждом заводите пачку виртуалхостнеймов.
делаете chroot, в него кидаете комплект софта и юзеров. делите по хостнейму нгинксом просто тупо проксированием в зависимости от запроса хостнейма.
получаете как минимум вероятность ломания в разы меньше = то что было поделить на количество чрутченных систем.

ставьте мод секур, пишите им все данные POST. если есть клиенты которым пост не нужен - блокаете на нгинксе не допуская вообще к апачу.
елси есть есть vip пользователи - выносите их в отдельный chroot.

мониторьте логи проблемных сайтов. фильтруйте пост и гет запросы с фразами хотя бы откровенно опасными типа http ftp:// wget curl -я бы порекомендовал это делать до апача например прямо в нгинксе.
определитесь с аккаунтами на предмет -кому нужен исходящий коннект а кому нет. всем кому не нужен - запретите фаерволом. фря вполне умеет делать deny tcp out по ID узера
поделите их.
вообще делеать паблик на модПхп не стоит.
хотя ... по моему в последних апачах чтото было про проверку принадлежности файлов , если память на беглый годовалый просмотр не изменяет - то апач не даст писать в папку не принадлежащуй юзеру.. полистайте на предмет ИДтрак или чтото в этом роде
может чтото и выловите.

php как модуль работает, да. Делать его как fastcgi или просто cgi нет ни возможности ни желания. Точнее как fastcgi + nginx без апача я бы еще и сделал, но не все проекты под этим делом поедут, да и код переписывать скорее всего придется. А в качестве просто cgi php не канает.

"Клиентов" как таковых нет, все "пользователи" сервера - это просто разбивка проектов по разным папкам грубо говоря. Все сайты на сервере наши с партнером.

Сейчас я закрыл всех пользователей по open_basedir. И ломать перестали. Пока.

Закрывал по open_basedir пользователей не сразу а постепенно, дабы проверять где ломают, где нет.

Последним поломаным оставался пользователь, где стоит только phpAdsNew (теперь OpenAds). Но ставилось это дело из портов и поэтому гноилось в папке /usr/loca/www/phpadsnew и все файлы принадлежали www:www, от которого и апач работает. Но как закрыл по open_bd, так и там взломы прекратились. До этого были закрыты все пользователи, кроме этого phpads. Но одного пользователя тогда ломали. Код всего сайта, который ломали, писал я сам. Перерыл всё что смог, дыр так и не нашел.

В логах апача и nginx'а как я уже говорил весьма пусто. Есть куча попыток долбежа к разным скрипта с подозрительными урлами, но они все в другое время относительно взлома, и там половина с 404 ошибкой, остальное все проверил - всё чисто, ничего не дает.

Правда на всякий случай внес еще хренову прорву проверок в скрипты :).

Половину слов, типа биндить сборки я не понял. Точнее понял, но как сделать несколько разных инстансов апача - в душе не представляю. Да и думаю лишнее это.

Насчет фильтрации get и post запросов в nginx с подозрительными фразами. А как это сделать? Т.е. их денаить или записывать в отдельный лог? Ну если с curl и wget понятно, то например http часто встречается и по делу в запросах.

У последнего апача есть suexec. Так вроде называется. Он может исполнять все от текущего пользователя. Но, как я понял, производительность падает чуть ли не в 2 порядка. Что критично, сервер весьма нагруженый.

Апач - не апач.

Скорее, троян засел у Вас на компе и скомуниздил пароль на FTP из ftp-клиенты.

Достаточно частая ситуация. Нужно не аудит сервера делать, а свой комп защищать тщательнее

как я уже неоднократно писал, взломы были в то время, когда фтп на сервере был отключен, оба компа, которые имеют доступ к серверу были физически выключены, а доступ по ssh2 был только для 1го пользователя по privatekey длинной 2к.

скорее уж тогда рута уперли,
1 last и посмотреть откуда были коннекты
2 закрыть ssh фаерволом от всех кроме себя на всяк случай ...

рут явно не уперли. Ласт и лог авторизации показывал, что всё ок. Никто не пробился, хотя попытки были. ssh закрыт privatekey'ем. А как его еще и файрволом закрыть? Но есть проблема - что уменя, что у партнера, айпишники динамические.

Andreyka:
Попросите своего админа сделать аудит сервера

да тут какое дело... я и есть админ.

Andreyka:
На что народ только не идет вместо того чтоб сделать все как надо

сделать то я всё сделал, теперь ломать перестали, но дырки найти так и не могу

Outsourcenow:
Еще раз повторю - вы знаете время изменения скрипта, куда вкрячили вредоносный код.

Внимательно глазами смотрите логи за это период (время изменения файла, плюс-минус минуту).

Скорее всего, ответ будет там.

ни в логах апача ни в логах nginx'а ничего подозрительного в это время нет. Есть в совершенно другое время попытки подставить в урл этот самый орентраф, но всё эти варианты я проверл - там сервер выдает 404 или если не 404, то ничего и не происходит.

после того, как несколько подправил конфиги php, стали появлятся вражеские записи только в нескольких файлах, на которых остались права доступа 777. Только в одном экаунте.

Соответственно это явно через скрипт ломают. Но вот никак не могу найти, где же дыра.

Поиск по base64 ничего подозрительного не показал. Только 2 файла с кодами бирж (sape и xap).

Как бы отыскать вредоносный скрипт?

netstat, who, last и логи авторизации ничего не показывают, т.к. взлома и не было, дырка точно в скрипте.

Есть один параноидальный метод защиты: это делать контрольную сумму всех файлов и потом раз в неделю проверять

Еще позавчера начал писать это дело :)

manman:
ну для начала как минимум сравнить время модификации этого файла с логами апача и прчего софта (фитипишник, лги крона) за это время.

как я уже писал, в логах апача ничего подозрительного нет, в логах фтп тоже, т.к. он отключен, в кроне тоже ничего подозрительного.

clamav ничего не показал

методом научного тыка и ограничений разных, под атакой остался один экаунт и вредоносный код появляется там только в одном файле, запись в который разрешена специально

как теперь отследить откуда туда пишут?

nick_c:
find /path/to/wwwfiles -name '*.php' | xargs grep base64

на что именно обращать внимание? Файлов, в которых base64 встречается дохрена.

wordpress, коды бирж и т.д.

PAB добавил 24.08.2008 в 12:44

LEOnidUKG:
не увидел в топике... а кто Ваш хостер?

сервер у скаймедии лежит skyme.ru

Andreyka:
Ко мне обращалось наверное около 30-40 клиентов с подобными проблемами.
Везде диагноз был одинаков, причем в 2-х вариантах:
1. Троян, укравший пароли. Обычно живет в Total Commander
2. Неверные настройки сервера, требующие 777 для директорий или 666 для файлов на запись

Это все от незнания элементарных основ настройки сервера для хостинга сайтов.
Делайте sshkey, ставьте php чтоб работал от юзера и права 700/600. Ну или на крайний случай - 750/640.

В свое время я как-то при помощи тестового доступа смог(бы) получить полный контроль над серверами одного известного хостинг провайдера. Причиной была неверная расстановка прав на файлы.

Да, еще. Сейчас такие трояны пошли - их не видят антивирусы, даже лицензионные.
А если на сервере установлен троян то его искать запуском rkhunter с того-же сервера - бесполезно. Надо с Live CD грузить и тогда уже смотреть

sshkey уже сделан

пхп работать должен от какого юзера? сейчас он стоит как модуль апача и работает из той же группы, что и апач.

это не троян на компах - судя по таймстемпу последнего взлома, и у меня и у напарника в это время компы были выключены.

***

а как-то можно отследить и залогировать кто имел доступ к файлу, как и когда?

dex:
попробуйте clamav поставить на сервер и пройтись (почстит последствия, снесет руткиты)

кагда не мог найти как ломают - тупо отключал перл и си (на это время успокаивалась активность новых сборок бяки)

но чаще всего всеже надо свой комп лечить;)

и у меня и у напарника стоят лицензионные антивирусы, которые поддерживаются в актуальном состоянии постоянно. У него нортон, у меня нод32. На компах чисто.

на серваке поставил rkhunter, hostsentry, portsentry, logcheker - тишина и опять файлы заражены. В логах чисто. Поставил сламав, он проверяет пока систему.

Всего: 91