среда, 30 октября 2013 г.

cron и mail - attachment вместо body

Скидываю на мыло некий лог (в кот. есть кириллица).
Отрабатываю из консоли - все ок, приходить письмо с логом в теле.
Сую в крон - текста нет, зато есть аттач.

Прикинул, что mail почему-то считает ввод бинарным. Видимо из-за нестыковок локалей.
Решил проблему добавлением в крон локали:

LANG=ru_RU.UTF-8
LANGUAGE=ru
LC_CTYPE=ru_RU.UTF-8
CONTENT_TYPE="text/plain; charset=utf-8"

0 19 * * * /root/logparse.pl | mail -r noreply@blabla.ru -s "Login report" mail0@gmail.com mail1@gmail.com; echo > /var/log/my.log

пятница, 18 октября 2013 г.

Чиним сломанный сайт

Клиенту сайт поломали. Открывается ппц долго. Решили перед тем, как бекап отдать, сами посмотреть.
Итак - начинаем с предположения, что при запуске пых процесса он коннектится куда-то.

1. Запускаю курлом хит по сайту, на серваке делаю ps aux с грепом по юзеру и netstat -lntp | grep php. Да, куда-то ломится - на 192.151.154.180 По адресу видимо искать смысла нет, в коде наверняка хостнейм. Для очистки совести греп по жумле - нету такого.

2. Ок, давайте найдём хостнейм. Запускаем tcpdump -nnt -A port 53 > dnslog и опять жмакаем по сайту. Отлично, в полученном логе по адресу находим хостнейм.
 IP 188.xx.xx.133.53 > 188.xx.xx.21.46260:  951 2/2/4 A 192.151.154.180, (206) api.ipinfodb.com

3. Грепаем по хостнейму файло - находим занятный файлик /home/cpxxxxxx/public_html/libraries/joomla/plugin/qdh1ym.php. В нём, среди прочих няшек, упоминается ещё один: /home/cpxxxxxx/public_html/includes/thx7r.txt

4. Муваем файлики, жмакаем по сайту - открылся сразу, но с ошибкой require. Комментим этот require - сайт работает )

А дальше надо искать дыру, через которую инклюд сделали и посмотреть на предмет ходовых зараз.