• Как мы пересадили всю команду на другой язык за один день (на самом деле нет)
    –2
    Спасибо, «вкусно» написано, сразу почему-то захотелось пойти потыкать палкой в ту сторону — а то про Go вяло почитывал, а тут вполне понятный кейс с хорошим результатом. Даже на два порядка меньшее итоговое ускорение — уже интересно :) плюс более актуальная архитектура…
  • Exim опять уязвим: все версии до 4.92.3 официально устарели
    0
    Такая просьба — когда говорите про ручное обновление, имеет смысл в конец добавлять «очевидную» команду перезапуска службы (systemctl restart exim), а то кто-нибудь в пылу обновления скопипастит (хм) и успокоится на этом, забыв перезапустить :)

    Что касается первого дня — всё верно, в koji пакет появляется раньше чем в стабильной ветке, тестирование ещё долго шло :)) судя по логу — https://bugzilla.redhat.com/show_bug.cgi?id=1756656 — для EPEL 7 закончилось только позавчера вечером (почти через 4 дня после начала).
  • Exim опять уязвим: все версии до 4.92.3 официально устарели
    0
    Шутка удалась, полночь и впрямь всё ближе! Интересно пишет —
    in testing 14 hours ago
    days to stable 14
    Т.е. через пару недель всё будет? ;)
  • Exim опять уязвим: все версии до 4.92.3 официально устарели
    0
    Ну да, в UPD к заметке ссылка на тестирование в EPEL 7 — 20 часов назад патч предложен, 7 часов назад ушел на тестирование. Пока ещё не вернулся :)
  • Пропатчил Exim — пропатчь еще раз. Свежее Remote Command Execution в Exim 4.92 в один запрос
    +1
    Спасибо Вам за подробную статью, лучше сказать это поздно чем никогда.

    Спешу однако обрадовать — 4.92.2 уже устарела / Хабр

    Теперь опять Ваша очередь :)
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0
    Вы правы, вообще-то с точки зрения исходной проблемы
    Оказывается у вас почему-то нет доступа в папочку, а у автора слайде он есть. И начинается
    в таком случае если в целом доступ к репозиторию есть то сделать себе копию и исправить до отправки клиенту можно; а потом отправить merge request, если нет «доступа к папочке» (в данном случае к записи в master).
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0
    Всё-таки думается что описанная ситуация возможна, т.к. неправильно как-то если доступ есть у всех и ко всему — иначе, условно, клинеры придут и вместе с пылью код почистят) Или в прод пасхалок насуют.

    Так что там где разграничение прав доступа есть, ситуация возможна.

    Но это явно не уникальная проблема описываемого тут подхода, не вижу причин почему с sharepoint и пр ситуация была бы иная (бесконтрольность vs проблема отсутствия доступа к неким материалам, если доступ забыли дать).
  • Как превратить свою аватарку в Telegram в часы
    0
    Прикольно! Cледующим шагом можно сделать трансляцию температуры тела с датчика, чтобы все знали, не болеет ли контакт ;)
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0
    Реально интересная штука, спасибо!
    Вопрос: а мне одному там в примере «An example of a sequence diagram» не хватает стрелочек на визуализации? Конкретно в «John->Bob: How about you?» вообще не понять, откуда куда сигнал идёт. Что я упустил?..
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0
    Ситуация возможна, да. Но сразу вопрос — скажите пожалуйста, а с тем же sharepoint никогда не сталкивались с ограничением прав? Все могут всё что угодно редактировать? ;)
    По идее такая ситуация возможна в большинстве подобных систем (обратная сторона медали, куда же без неё).
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0
    В работе — конечно.
    Но тут речь шла про выложенные на github файлы :) Конкретно — https://github.com/inponomarev/csa-hb/blob/master/src/main/asciidoc/csa.adoc
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    0
    Тут речь о целевой аудитории, кому что ближе. Кому-то проще мышкой и визуально, а кому-то проще клавиатурой исходник написать, чтобы визуальная часть сама собралась.

    Что касается последнего пункта — проблем с картинкой и стрелочкой — так тут инструмент можно сказать на коленке придуман и ещё не успел обрасти фичами полезными.

    И тест на наличие картинки в нужной локации, и моментальный визуальный превью диаграмм — это же вообще не проблема.

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

    Вплоть до того что условно через чат-бота в мессенджере писать/редактировать презентацию и диаграммы (!!!) :)
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    +2
    Думаю что Вы согласитесь что слово «невозможно» тут только раззадорить может ;) Руки так и тянутся потратить время впустую но «сделать невозможное возможным».

    Варианты-то разные есть даже с закрытыми форматами — в конце концов можно перенести всё кусками, банально нарезав на скриншоты и вставив их как картинки. Неоптимально, но уже не невозможно. А раз можно руками, можно и автоматом, RPA в помощь. Ну и наверняка более оптимальные пути найдутся.

    К вопросу «зачем» — не знаю, потому и говорю что бесполезно :) Но мало ли, вдруг кому-то именно powerpoint-файл. Пусть не унывают)

    Про github Ваш спасибо, заходил уже туда, смотрел — всё-таки прикольно читать схему graphviz, и только потом понимать что её можно и визуально глянуть)) (на том же GraphvizOnline)
  • Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом
    +2
    Спасибо за идею и подачу, на мой взгляд весьма изящный вышел подход, и Вы хорошо его описали — обязательно протестируем такой способ при подготовке презентации группой людей, которым код ближе чем тыканье мышкой в powerpoint :)

    Должно очень хорошо зайти, всё-таки у версионирования тут будет огромный плюс по сравнению с пересылкой файлов туда-сюда.

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

    Кстати, по идее можно на выходе не только pdf, но наверно и в powerpoint формат скомпилировать, не изучали вопрос?
  • Где находился Ваш дом миллионы лет назад
    0
    Очень круто, спасибо. Особенно долго думал, случайно уместив Бангладеш в Прибалтику :) Вполне неплохо он вписался, с запасом.

    Кто не в курсе прикола — население 3 прибалтийских республик составляет около 6 млн человек, а в Бангладеше численность населения больше чем в России.

    p.s. Историческая карта тоже крайне любопытна. Наглядно видно как что заселялось-менялось…
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Не за что, хорошего вечера и искренне желаю чтобы отсутствие признаков корректно отражало реальность!

    А спасибо не мне а daykkin за то что поднял и дожал этот вопрос :)
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Замечательно, ура!
    Ранее запущенные — например, ребут.

    Или остановить службу (service exim stop) и убедиться что процессы все отключатся (ps aux | grep [e]xim будет пустым). Если какие-то не отключатся, то killall -9 exim или адресно kill -9 [pid процесса], пока запущенных не останется.

    Ну и тогда уже service exim start, там свежий 4.92 заведомо будет.
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Согласен, но не забудьте что «Должно было завершить» и «завершило» не всегда совпадает :)… Например, посмотрите на скрипт фикса от firstvds — там killall вызывается 4 раза подряд, как думаете почему? Вот так и тут. Лучше перестраховаться, на мой взгляд.

    Про ключ годичной давности — отлично, только пожалуйста убедитесь что это Ваш ключ.
    Если это чей-то чужой ключ,… гм гм, я думаю от анекдота воздержусь :)
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    da_exim Вы не использовали и не обновляли, по идее можно его вообще убрать оттуда, но главное чтобы оно конфиги не трогало

    Как Вы уже проверили, теперь /usr/sbin/exim стал версии 4.92, всё ок.

    Для спокойствия можете проверить, не запущен ли где-то exim из другой локации,
    ps aux | grep [e]xim

    там должен быть только /usr/sbin/exim

    И — не забудьте все ранее запущенные процессы exim перезапустить! Т.к. при обновлении на диске в памяти могли остаться старые дырявые.
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    daykkin вот туда же сослался, откуда я скопипастил — только в отличие от меня он верно подметил что строка с curl к обсуждаемому там вопросу относилась, но не к Вашему :)

    По остальным вопросам — daykkin так обновился, так что если у Вас та же ситуация, тоже обновитесь.

    Другие службы обновлять оно не должно (т.е. если тот же curl не упомянете, его обновлять не будет)
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    По приведённой комментом выше ссылке у них процесс простой (если у Вас та же ситуация) —
    cd /usr/local/directadmin/custombuild
    ./build update
    ./build set exim yes
    ./build exim
    ./build curl
    
    Но, возможно, daykkin сможет что-то дополнить из своего опыта.

    И главное про бэкапы не забудьте пожалуйста до эксперимента)
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Замечательно, рад что у Вас всё получилось!

    После установки не забудьте пожалуйста перезапустить уже запущенные процессы exim, чтобы убедиться что дырявая версия не на ходу.

    Касательно проверок на следы… попробуйте глянуть, не меняли ли Вам настройки ssh ( /etc/ssh/sshd_config ) и не появился ли ключ неопознанный в файле authorized_keys (или сам такой файл, если его не было); в первую очередь в /root/.ssh/authorized_keys, но для верности можно и весь диск осмотреть —
    find / -name "authorized_keys"


    Опять же, если ничего подозрительного нет, это ещё не гарантия чистоты, но по крайней мере значит что нет следов того дроппера, который народ тут массово ловил.

    Удачи!
  • Старикам здесь не место? Программируем после тридцати пяти
    0
    1) хабр может тоже неплохо затягивать и время поедать ;)

    2) тишина для работы — не пробовали коворкинги (с тихими залами как раз для желающих тишины) или даже библиотеку?..

    3) «пробовать фреймворк для hello world» без конкретной реальной цели — а оно вообще работает!? :)

    Это же всё просто инструменты, их сейчас много, смысл коня в вакууме учить, если не планируется применять. Так что план про vue (+nuxt? как вариант) в следующем реальном проекте — отличная идея!

    4) на upwork теряли рейтинг из-за непододящих проектов — насколько помню, top rated могут изредка удалять отзывы (т.е. останется что был проект, но будет написано что отзыв удалён + в рейтинге учитываться не будет)

    5) про «в возрасте тяжело обучаться» — сохраните свой коммент, почитайте его через 10 лет, через 20 (...), посмеётесь ;) ну и тут комментов выше достаточно от тех кто в куда более старшем возраста только начинает

    Так что выше нос ;)) Всё зависит только от Вас, и от того найдёте ли что-то такое же интересное… как копание в BIOS в своё время. :)
  • Старикам здесь не место? Программируем после тридцати пяти
    +1
    Да-а, spirit1984, неплохо Вы тему подняли — больше 500 комментов, видно что народ зацепило :)

    Ну вопрос на самом деле важный, будем надеяться что люди какие-то полезные примеры и подходы себе тут накопают.
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Почему же не получится его обновить, можно так же руками и обновить — бинарники вручную заменить и тд.

    Сути это не поменяет — конфиги и тд главное сохраните обязательно заранее. И в идеале поставить чистые конфиги от новой версии, а в них уже руками добавить нужные настройки из старой.

    Тем временем, смотрите что я нашел:

    Т.к. используете directadmin, вот их гайд по установке exim вручную (на англ конечно).

    Там есть полностью ручной подход, а также вариант с использованием их функционала под названием custombuild — к сожалению не пользовался D.A., но могу предположить что это их внутренний менеджер пакетов. И возможно им пропавший админ и пользовался.

    А вот тут для этого самого custombuild у них есть и свежий (который уже без дыры) exim 4.92

    Ха, т.е. da_exim в том же хранилище у них 4.89, новее нету. И тут же рядышком другая ветка с 4.92…

    Почти уверен теперь что Ваш админ custombuild этот и использовал.

    Пробуйте, только обязательно все бэкапы сначала сохраните надежно :) (никогда не устаю это повторять)
  • Старикам здесь не место? Программируем после тридцати пяти
    0
    С днем рождения! :)

    Огромными потоки-то были и во времена бибиэсок всяких (в тонкости можно было лезть далеко и надолго… свистеть по телефону только так быстро не получалось (с) ), тут думаю скорее играет роль тот факто что есть уже понимание что большая (или даже бОльшая) часть этого потока «технологий» пронесётся бурно но стремительно, и зачастую напрямую в канализацию :)

    И как бы нет желания тратить ограниченное время на всякую чешую, о которой завтра никто и не вспомнит — есть много дел поинтереснее.

    Ну а с другой стороны как раз-таки большое количество дел и общая информационная перегрузка не помогают учить что-то новое. А Вы не пробовали себя насильно из рутины выдернуть и, например, сесть в отпуске в деревне без телефона (условно) и без соцсеток всяких — тупо поизучать конкретную технологию совершенно новую и для Вас сложную?

    Мне почему-то кажется (ок, из опыта в том числе) что оно может сработать, т.е. вопрос не в сложности обучения как такового («ой мозги не те уже, ах не те») а в слишком низком приоритете процесса и плохом соотношении сигнал/шум во время обучения.)
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Понятно. Да, yum тут никак не поможет)
    Раз человек пропал, сейчас наверно уже сложно понять, с какой целью он руками (?) ставил отдельный exim 4.90_1 (который сейчас и работает один).

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

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

    2) насколько вообще критична роль у exim в Ваших процессах

    В общем, навскидку, хорошо бы exim-зоопарк убрать, сохранив все конфиги/ящики и тд в бэкапы. И поставить свежий из репозиториев — благо, там уже в epel 4.92 вышел по-моему, epel-testing не нужен.

    И конфиги/ящики аккуратно вернуть.

    Но ещё раз подчеркну что проблема тут может быть глубже, т.к. нет никакой гарантии что дыркой уже не воспользовались… т.е. лучше бы конечно начисто поставить всё.

    А пока — самое время убедиться что у Вас все свежие бэкапы есть всех данных и тд (и как минимум в паре разных мест и тд).
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Пугает обоснованно. Скажите пожалуйста, а установкой/обновлением программ на этом сервере раньше не Вы занимались? В феврале 2018 например?

    Чтобы понять, это другой человек руками ставил, или например панель там решила сама установить/обновить и т.п.

    Пока стоит убедиться, что активно используется именно 4.90. Пожалуйста, посмотрите:
    1) откуда процессы exim запущены?
    ps aux | grep [e]xim

    там будут строки наподобие
    exim 5343 0.0 0.0 102100 2634? S 18:00 0:00 /usr/sbin/exim -bd -q1h

    2) убедитесь, все ли экземпляры exim запущены из одного и того же места (в данном примере /usr/sbin/exim)
    3) напрямую посмотрите версию, с указанием этого пути; в данном примере:
    /usr/sbin/exim --version 

    Скорее всего, там будет то же самое (4.90_1), но стоит проверить и убедиться.

    4) ну и ещё для проверки дубликатов в yum на всякий случай:
    yum search --showduplicates exim
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Отлично, да, это какой-то нетиповой exim. Я такого, честно говоря, даже не видел :) Вставьте сюда, пожалуйста, что ответит
    yum info da_exim
    Но уже два вывода:
    1) Вам нужно обновлять не yum update exim, а yum update da_exim
    2) Не спешите обновлять пока, т.к. конкретно обсуждаемая тут уязвимость Вашу версию exim не затрагивает! (про другие не поручусь) Т.к. ей затронуты версии 4.87 — 4.91. А у Вас старенькая 4.84, там этой дыры ещё не было.

    При этом yum info da_exim выдаст инфу и по текущей версии, и по наличию более свежей (если есть) — посмотрим, какую там предложит.

    UPD: оглянулся, надо полагать Вы используете Direct Admin? И Exim через них ставили?

    UPD2: смотрю, у них в хранилище валяются разные версии da_exim, из тех что есть можно ставить 4.86.2-1 — но не более свежие! т.к. самая свежая похоже что 4.89.1-1 полуторалетней давности, и её как раз взломают

    Так что либо вообще не трогать сейчас (если планируете в обозримом будущем на свежий сервак переезжать, с более новым софтом), либо обновляться конкретно до 4.86.2-1 — имхо
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Понял, похоже у Вас видимо exim не из репозитория, а поставленный вручную :)
    Попробуйте пожалуйста
    yum list installed | grep exim

  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    1) У Вас centos 6?
    1) Какой стоит сейчас exim и откуда?
    yum info exim

    Name: exim
    Arch: x86_64
    Version: 4.92
    Release: 1.el6
    Size: 4.4 M
    Repo: installed
    From repo: epel-testing
    3) файл репозитория epel-testing есть?
    cat /etc/yum.repos.d/epel-testing.repo

    4) в этом файле в блоке [epel-testing] сейчас что написано в строке mirrorlist (если она есть)?
    mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=testing-epel6&arch=$basearch

    5) если всё вроде как есть, но не обновляет (тут в комментах пару случаев было, когда в зеркале репозитория не было свежего exim), попробуйте в mirrorlist прописать вручную другое зеркало
  • Первая волна пострадавших от уязвимости Exim. Скрипт для лечения
    0
    Мм кстати очень хорошо что Вы подумали о таких случаях.

    Те же косяки репозиториев не так уж маловероятны, прямо вот тут рядом в комментах были: и с CentOS и с Debian.

    Или вот у человека exim из epel, а epel вообще отключен)

    Вообще в связи с этим пара мыслей —
    1) м.б. сравнивать версию exim до и после попытки обновления?
    exim --version | awk '/version 4.*built/{print $3}'

    2) и если не обновилась, и до сих пор попадает в уязвимый диапазон, предупреждать что мол проверьте руками, что там такое?
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Так там я так помню загадка же была в том, как/когда на необновлявшемся полгода сервере появился свежий exim?
    М.б. ради интереса попробуете например
    grep exim /var/log/dpkg.log
  • Старикам здесь не место? Программируем после тридцати пяти
    0
    Ну что Вы, как можно так не по-хипсторски! Без AI, по старинке, пацаны засмеют (с) :)

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

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

  • Первая волна пострадавших от уязвимости Exim. Скрипт для лечения
    +1
    Веб тут не при делах, и без веба ломается. Уязвимость почтового сервера exim, подробности опубликованы в оригинальном отчёте (на англ.)

    Вкратце — шлют письмо на специально составленный адрес на Вашем домене. Собственно, в некоторых случаях этого уже достаточно.

    Если нет — недельку держат коннект открытым, каждые 4 минуты кидая по байту во избежание таймаута. Нужно чтобы 2-дневный лимит недоставленных писем обойти. Все детали в отчёте, все периоды — для конфига по умолчанию.

    А далее — всё, RCE (удаленное выполнение команд), причём от рута. Там уже делают что им захочется.
  • Первая волна пострадавших от уязвимости Exim. Скрипт для лечения
    0
    Вот кстати интересно Вы подметили… обновлённую-то версию гадость из очереди уже не должна зацепить. Т.е. чисто логически это по идее лишний шаг. Любопытное наблюдение!
  • Первая волна пострадавших от уязвимости Exim. Скрипт для лечения
    0
    Вот к слову о птичках, если не видели на днях пост про запуск без проверки (и распространение без оценки) — рекомендую!
    https://habr.com/ru/company/flant/blog/454700/
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Ну как, удалось загадку раскрыть? :)
  • Старикам здесь не место? Программируем после тридцати пяти
    0
    Ну вот да. Почему ещё программист!? Потому что нравится, и если бы за работу приходилось ещё самостоятельно приплачивать, то «купил» бы программист себе такую же работу — потому ей и занят независимо от возраста (т.к. мало того что по приколу, так за это ещё и платят) :) Т.е. интерес который в 10 лет был, примерно он же и в 60, в чём особо разница-то. А если интереса не было, то всё как Вы описали)
  • Срочно обновляйте exim до 4.92 — идёт активное заражение
    0
    Спасибо! По логам тут по-моему достаточно grep {run rej*, по крайней мере тот вариант со zgrep мне ничего нового не показал…

    С кастомным fail2ban Вы молодец, не зря свой хлеб едите) У меня вот их пропустило спокойно.

    Впрочем, сам по себе пропуск такого письма судя по всему не должен был привести к поражению — локально оно бы сработало, а вот удалённо (в типовом случае) не должно было из-за включенного по умолчанию «verify = recipient».

    Это не я такой умный придумал, а про 7 дней нашел источник, там эти и другие сочнейшие детали. А то все как попугаи про «по байту целую неделю» говорили, но откуда оно — меня интриговало…

    А оно, собственно, из оригинального расследования — отчёта Qualys.

    Очень любопытное чтиво на самом деле. 7 дней там взялись из необходимости в течение дефолтного timeout_frozen_after после отправки своего письма поддерживать открытым тоннель с 5-минутным таймаутом, так что раз в 4 минуты по байту в него кидали.

    Иначе бы из заход порубился через 2 суток (ignore_bounce_errors_after).

    Почитайте, прямо настоящий детектив :)