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 порядка. Что критично, сервер весьма нагруженый.
как я уже неоднократно писал, взломы были в то время, когда фтп на сервере был отключен, оба компа, которые имеют доступ к серверу были физически выключены, а доступ по ssh2 был только для 1го пользователя по privatekey длинной 2к.
рут явно не уперли. Ласт и лог авторизации показывал, что всё ок. Никто не пробился, хотя попытки были. ssh закрыт privatekey'ем. А как его еще и файрволом закрыть? Но есть проблема - что уменя, что у партнера, айпишники динамические.
да тут какое дело... я и есть админ.
сделать то я всё сделал, теперь ломать перестали, но дырки найти так и не могу
ни в логах апача ни в логах nginx'а ничего подозрительного в это время нет. Есть в совершенно другое время попытки подставить в урл этот самый орентраф, но всё эти варианты я проверл - там сервер выдает 404 или если не 404, то ничего и не происходит.
после того, как несколько подправил конфиги php, стали появлятся вражеские записи только в нескольких файлах, на которых остались права доступа 777. Только в одном экаунте.
Соответственно это явно через скрипт ломают. Но вот никак не могу найти, где же дыра.
Поиск по base64 ничего подозрительного не показал. Только 2 файла с кодами бирж (sape и xap).
Как бы отыскать вредоносный скрипт?
netstat, who, last и логи авторизации ничего не показывают, т.к. взлома и не было, дырка точно в скрипте.
Еще позавчера начал писать это дело :)
как я уже писал, в логах апача ничего подозрительного нет, в логах фтп тоже, т.к. он отключен, в кроне тоже ничего подозрительного.
clamav ничего не показал
методом научного тыка и ограничений разных, под атакой остался один экаунт и вредоносный код появляется там только в одном файле, запись в который разрешена специально
как теперь отследить откуда туда пишут?
на что именно обращать внимание? Файлов, в которых base64 встречается дохрена.
wordpress, коды бирж и т.д.
PAB добавил 24.08.2008 в 12:44
сервер у скаймедии лежит skyme.ru
sshkey уже сделан
пхп работать должен от какого юзера? сейчас он стоит как модуль апача и работает из той же группы, что и апач.
это не троян на компах - судя по таймстемпу последнего взлома, и у меня и у напарника в это время компы были выключены.
***
а как-то можно отследить и залогировать кто имел доступ к файлу, как и когда?
и у меня и у напарника стоят лицензионные антивирусы, которые поддерживаются в актуальном состоянии постоянно. У него нортон, у меня нод32. На компах чисто.
на серваке поставил rkhunter, hostsentry, portsentry, logcheker - тишина и опять файлы заражены. В логах чисто. Поставил сламав, он проверяет пока систему.