Category: it

Category was added automatically. Read all entries about "it".

jewishi

Итоги 2020

Сменил  работу. Бросил хостинг. Совсем бросил. И теперь Golang программист в майнинге

jarviconi

DNSSEC. Руководство регистратора доменов.

Ого. Давненько меня тут не было

Я уже несколько лет прошу регистраторов доменов RU/РФ реализовать поддержку DNSSEC в API. На сегодняшний день я не знаю ни одного такого регистратора (именно RU/РФ). Я изучил вопрос и понял, что регистраторы не понимают объём работ, а нормальной разъяснительной документации не то что на русском, да и на английском нет. Есть нудные спецификации c перекрестными ссылками, на которых можно уснуть. Неплохие статьи есть у замечательного сервиса CloudFlare. Но они специфичны для CloudFlare и не раскрывают например части работы с регистратором (и некоторые другие, впрочем).

Я решил сделать мир лучше и подготовил руководство по DNSSEC для регистраторов доменов. Это руководство выполнено в стиле презентации для лучшего восприятия. Однако его можно использовать и как краткий справочник. В нём собраны только те части технологии, которые касаются регистратора домена. Подробно всё разложено по полочкам, даны рекомендации, примеры кода и дополнительные факультативные сведения. Руководство подходит не только для доменов RU/РФ, но и для всех остальных.

http://www.slideshare.net/schors/dnssec-71055077

Для тех, кто не может обойти блокировку или не имеет регистрации на слайдшаре:
http://www.diphost.ru/docs/DNSSEC-regs.pdf
Oki

Открыл для себя LaTeX

Как-то раньше я считал TeX скорее мертвым, чем живым. И мало кто знает, и редакторы какие-то непрезентабельные, и результат невнятный. А тут в очередной раз припёрло пересмотреть систему автоматизированного создания документов (счета, фактуры, инфойсы, акты, договора, квитанции, черти в ступе).

Внезапно снял стопоры в голове:
- LaTeX не сложен. Во всяком случае XMLины писать сложнее и неприятнее. Немного непривычен и поэтому отпугивает, но прост. Совсем прост. Люди знающие, что такое DOCTYPE в HTML будут плакать от умиления.
- LaTeX вполне себе жив и вполне даже современен.

Collapse )
Oki

mod_proctitle — модуль Apache для отображения в ps/top чего там творицо

Я достаточно давно использую патч для apache, который после разбора строки запроса пишет в имя программы IP, откуда был запрос, то, что пришло в заголовке Host и саму строку запроса. Но этот двухстрочный патч был написан 12 лет назад для Apache версии 1.3. А потом руки не доходили. Тем более, с того времени появилось множество (я за пять минут нашел как минимум два) разновидностей модулей для тех целей, для более новых версий Apache. Однако, со временем мне стало маловато просто строк запросов. И… я написал свой модуль. http://habrahabr.ru/post/240767/

И тут меня понесло. Докину на github Славкину программку:
https://github.com/schors/nginxctl

Вдруг у кого не завалялось книги Дж. Доннован "Системное программирование"? Отсканировать это там место про транслятор https://github.com/schors/astramacro
Oki

Shellshock на пальцах

Все уже слышали об эпической дырке в bash?
Для тех, кто не слышал:
http://www.troyhunt.com/2014/09/everything-you-need-to-know-about.html - тут недурно на басурманском
http://www.securitylab.ru/vulnerability/458762.php - тут так себе
http://xakep.ru/shellshock/ - тут тоже так себе
А тут продолжение банкета:
https://news.ycombinator.com/item?id=8367883

Вкратце - косяк позволяет исполнить что-то, разными извращёнными способами, зачастую очень простыми для злоумышленика. Осложняется всё тем, что линукс вообще везде bash.

Теперь более подробно, но на пальцах. Что происходит?

bash - командная оболочка UNIX. Если вы в Linux, то скорее всего ваша оболочка - bash. Более того, большинство Linux-дистрибутивов ещё и не различают sh и bash. Для пользователей Windows поясню - bash это такой cmd только для *NIX. С какого-то перепоя bash позволяет определять функции в переменных окружения. Грубо говоря, при запуске bash, он пробегает по переменным окружения, и если видит в какой из них синтаксис определения функции - берёт и исполняет эту переменную как свою строку. Соответственно, вот такая строка:

export atata='() { :;}; echo Дыра в безопасности'; bash -c echo;

придаст переменной atata значение '() { :;}; echo Дыра в безопасности', переменная atata экспортируется в окружение, потом (после ';') запустится bash, который в начале запуска интерпретирует переменную окружения atata как строку для исполнения, а только потом выполнит команду echo. как ему предписано. Правда прекрасно?

А теперь представьте, что некий веб-бот обходит сайт, представляясь "User-Agent: () { :;}; rm -rf". А у Вас CGI на /bin/sh и Linux, где это bash... Или cgi-скрипт делает вызов через shell, а shell - это bash...

Где это сработает


  • CGI-скрипты, если там хоть где-то есть вызов bash, или если это Linux и есть какой-нибудь запуск. Даёт доступ к shell кому угодно.

  • gitolite, gitosis, gitlab, если логин-шелл - bash. Проблема в том, что эти системы работают через ключи SSH и ограничивают пользователя жёстко одной командой, однако, реальная команда, которую хотел исполнить пользователь, передаётся в переменной окружения SSH_ORIGINAL_COMMAND. Итак:
    ssh git@you_gitolite_sercver '() { :;}; rm -rf ~/'
    и репозитария больше нет, даже если у вас были права на посмотреть одну веточку. Но если валидного логина SSH нет, то ничего и не будет</i>
  • shell_exec() в страницах на PHP на Linux, если php запущен как php-fpm. FastCGI передаёт заголовки HTTP в окружение и поэтому запуск bash будет в соответствуюем окружении. Выкладка теоретическая, поправьте меня, если это не так.

  • Придумайте ещё что-нибудь



Где это не сработает


  • Эта уязвимость не повышает привилегии

  • CGI на Perl даже если есть запуск через qx - запускает sh. Если у вас sh - это bash, то вы сами себе Linux

  • Запуск bash со страниц на PHP под управлением mod_php, поскольку php в этом случае не передаёт заголовки HTTP как переменные окружения

  • SSH без валидной авторизации. Ибо shell запускается уже после неё</b>
  • На домашних роутерах и т.д. и т.п., как обозначено в релизах. В большинстве своём домашние роутеры - это мини-Linux с лёгким shell, который точно не bash.



Это серьёзная уязвимость?

Нет. Да.

Вообще я чуть со смеху не помер, когда понял как она работает :)
Гаара

Яндекс.Почта и SSL

Намедни, я обеспокоился за коллег из Яндекса, в связи с принудительным переходом на deprecated технологии. Вот здесь http://schors.livejournal.com/867003.html

Сим вынужден признать, что был горяч, поспешен и неразумен. Приношу свои искренние извинения. Беспокоиться и переживать тут надо за меня.

Оказывается, существуют в природе популярные современные POP3-клиенты, которые понимают SSL только как POP3S, т.е. на отдельном порту и сначала SSL, потом POP3. Более того, эксперимент показал, что упомянутый программный комплекс - почтовый-клиент - не понимает STARTTLS в принципе (даже если сервер заявляет о нём) и фигачит LOGIN прямо так по открытому соединению. Да, LOGIN.

Кто же, спросит въедливый читатель, кто же этот негодник, в XXI веке отринувший STARTTLS?

БАРАБАННАЯ ДРОБЬ!!! GOOGLE MAIL!!! Подключение сторонних аккаунтов почты по pop3 (по другому он и не умеет).
jewishi

Яндекс.Почта меняет формат

Приходит мне тут письмо от Яндекс.Почты. Говорят, переходят на SSL строгий и просят... почменять порты подключений...
http://help.yandex.ru/mail/mail-clients/ssl.xml

XXI век? Нет, не слышал.
http://www.imc.org/ietf-apps-tls/mail-archive/msg00204.html
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?&page=9

Беспокоюсь и переживаю за коллег. Может зря я не согласился в своё время работать там?
Oki

FreeBSD php port

Есть FreeBSD. В портах есть lang/php5. Обращаюсь к помощи зала за разъяснением, что делают прилагающиеся к порту патчи. Честно говоря, мне большинство не очевидно. Очень похоже на какие-то наколенные штуковины...
jewishi

Подпись пиьсма Роскомнадзором

Лежит мне тут письмо из Роскомнадзора. Вот извещение по новому закону о "плохом" сайте. Не моё. Не, ну нормальное письмо, на двух языках, заголовки все OK, сервера всё OK, текст OK.

Собственно в чём вопрос. Письмо идёт в трёх частях - текст, текст в rtf, подпись в rtf (omg). Вторая и третья часть имеют Content-Type: application/rtf, содержимое подписи - бинарный мусор. Это что такое и что нужно с этим делать?

P.S. Подозреваю, что это подписанный rtf. А Content-Type запилился туда почтовым агентом из-за расширений .rtf и .rtf.sig. Вопрос остался - что с этим делать? Что его проверить может? По какой спецификации?
update Ага, это rfc3852. Мне кто-нибудь может объяснить, зачем они в письме в итоге такими двумя странными кусками???? Есть же rfc3851....
Oki

БИТРИКС vs NetCat CMS

У 1С-БИТРИКС строгое требование, чтобы настройка php mbstring.func_overload была выставлена в 2. В инсталяшке NetCat 5.0 обналружил проверку на строгое соответствие 0. Это у них подпольная война да? А мой мозг?