Skip to content


Rdesktop: unexpected stream overrun

В 30-ой федоре я однажды столкнулся с тем, что rdesktop (из пакета rdesktop-1.8.6-1.fc30.x86_64) перестал нормально подсоединяться к win 7, выдавая загадочную ошибку:

rdesktop error

Как оказалось, связано это с багом (issue 328), который пофикшен в более свежей версии. Чтобы собрать последнюю версию, используем такую последовательность команд:

git clone https://github.com/rdesktop/rdesktop.git
сd rdesktop/
./bootstrap
./configure --disable-smartcard
./make

Чтобы сборка прошла успешно, скорей всего, понадобится установить предварительно пакет libXcursor-devel. В результате у меня собрался rdesktop версии 1.9.0, который таки успешно подключился и показал мне удаленный рабочий стол VirtualBox-гостя c OS Windows 7.

Posted in *nix.


Обновление прошивок серверов Dell

В старые добрые времена обновить прошивки делловских серверов можно было через Lifecycle Controller, если при загрузке нажать F10, далее выбрать метод FTP, указать URL ftp.dell.com. Но где-то с год назад Dell-овцы что-то поломали и это больше не работает (оно там даже что-то находит более свежих версий, показывает версии установленных компонентов, но на этапе загрузки постоянно вываливает ошибку с кодом SUP0531 и ничего не загружает и, соответственно, не обновляет).

В конце концов мне удалось найти подходящий метод обновления прошивок, о чем дальше и пойдет речь. Алгоритм действий следующий на примере сервера Dell модели R720.
  1. По запросу PER720_BOOTABLE гуглим нужный iso-образ (если обновляем, к примеру Dell R430, то и запрос, соответственно, должен быть PER430_BOOTABLE).
  2. Скачиваем на сервер по ссылке https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverid=r47mt образ. В моем случае он был с датой 21 марта 2019 и md5-хешем a97d101861627ee6a7f1e50038a76251.
  3. После скачивания обязательно проверяем хеш, поскольку лично у меня уже несколько раз были случаи, когда закачка прерывалась и файл скачивался не полностью.
  4. Маунтим iso-шку, из директории RPMs устанавливаем rpm-ку c именем dell-system-update-*.rpm
  5. Добавляем репозиторий Dell System Update командой
    curl -s https://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash
    В результате чего в директории /etc/yum.repos.d появится новый файл с именем dell-system-update.repo.
  6. Набираем команду dsu и выбираем компоненты, которые хотим обновить.
Ниже на asciicast-е показано как всё вышеописанное происходит в реальности (с 1:40 до 4:45 можно не смотреть - оно там долго висит на этапе "Getting System Inventory").

После выбора компонентов вместо q (quit) нужно нажать c (commit) - я просто не хотел затягивать каст, поскольку всё происходит довольно долго. В конце процесса dsu предложит перезагрузить сервер. Если среди компонентов был выбран BIOS, то при следующей загрузке будет автоматически выполнен вход в Lifecycle Controller и процесс обновления уже продолжится в нем:

Обновление BIOS сервера Dell R720 в Lifecycle Controller

Утилита dsu пишет лог в каталог /usr/libexec/dell_dup и туда можно посмотреть если что-то идёт не так.

Кстати, вот еще полезная табличка на тему отличий в конфигурациях серверов родственных моделей. Помню, было весьма непросто сходу нагуглить в чем разница между R720 и R720xd. Взята из pdf-ки PowerEdge R720 and R720xd Technical Guide

Отличия серверов моделей Dell PowerEdge R720 и R720xd

Posted in *nix, Howto.

Tagged with .


Девять проверенных стратегий для повышения продуктивности совещаний

Инфографику предоставила Wrike - Стратегическое Управление Проектами

Девять проверенных стратегий для повышения продуктивности совещаний

Posted in Misc.

Tagged with , , .


Критическая уязвимость в почтовом сервере exim

Исследователи из Qualys Research Labs обнаружили, что в exim версий 4.87 - 4.91 (включительно) существует возможность локального и удаленного выполнения произвольных команд с привилегиями пользователя, под котороым запущен сервер. Ошибка вызвана недостаточной валидацией адреса получателя письма и содержится в файле /src/deliver.c в коде функции deliver_message().

6122 #ifndef DISABLE_EVENT
6123 if (process_recipients != RECIP_ACCEPT)
6124 {
6125 uschar * save_local = deliver_localpart;
6126 const uschar * save_domain = deliver_domain;
6127
6128 deliver_localpart = expand_string(
6129 string_sprintf("${local_part:%s}", new->address));
6130 deliver_domain = expand_string(
6131 string_sprintf("${domain:%s}", new->address));
6132
6133 (void) event_raise(event_action,
6134 US"msg:fail:internal", new->message);
6135
6136 deliver_localpart = save_local;
6137 deliver_domain = save_domain;
6138 }
6139 #endif

Проблема была исправлена в версии 4.92, которая вышла 10-го февраля 2019. Но тогда баг 2310 не был классифицирован как проблема с безопасностью и дистрибутивы не обновили пакеты.

По мнению исследователей, удаленная эксплуатация возможна при условии, что атакующий будет в состоянии удерживать активное соединение с почтовым сервером в течение 7-ми дней (путем передачи по одному байту каждые несколько минут). Тем не менее, сообщается о массовых взломах утром 10-го июня, когда многие обнаруживали на своих серверах процесс с именем kthrotlds, занятый майнингом крипотовалюты.

Примечательно, что CentOS 5, в состав которой входит exim-4.63, оказалась неуязвимой.

Уязвимость получила код CVE-2019-10149

Posted in *nix.

Tagged with .