LINUX.ORG.RU

Сообщения nnz

 

[kernel bug?][финн гадит] RTNETLINK answers: Cannot allocate memory

Форум — Linux-hardware

Дано: есть некая довольно старая железяка, работающая домашним роутером у одного человека. В этой железяке торчат три сетевухи, все они работают через драйвер r8169:

00:0a.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10)
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)

Есть дебиан, с ядрами 2.6.26-486, 2.6.26-2-openvz-486 и 2.6.32-5-486 (из unstable). На всех этих ядрах воспроизводится один и тот же баг, проявляющийся в следующем:

  • После некоторого аптайма, при попытке поднять опущенный интерфейс, вылезает пасквиль
    RTNETLINK answers: Cannot allocate memory
    и нифига не поднимается. Если вместо ip li se dev ethX up использовать сыплющий песком ifconfig, песня меняется незначительно:
    SIOCSIFFLAGS: Cannot allocate memory
  • Аналогичный эффект проявляется сразу после загрузки, если при загрузке была автоматически запущена fsck для ext3 на /. Сеть в этом случае не поднимается вообще, ни один интерфейс.

При этом свободной памяти более чем достаточно:

             total       used       free     shared    buffers     cached
Mem:           249        237         12          0         69        136
-/+ buffers/cache:         30        218
Swap:          972          0        972

Особо дотошные люди могут изучить ругательства dmesg по этому поводу.

По результатам гугления сложилось впечатление, что это застарелый и никого не беспокоящий баг ядра. Уж кто-кто, а r8169 всегда изобиловал багами. Впрочем, в RHEL, ради разнообразия, их иногда фиксят, чего не скажешь о мейнстриме. Хотя наиболее эффективным решением в сложившейся ситуации мне представляется закатывание туда опенка, в котором к ядреным багам относятся без особого почтения. Однако меня еще не покинула надежда, что проблему можно решить шаманством с sysctl et cetera. Идеи?

nnz
()

iptables 1.4.8 с поддержкой conntrack zones

Новости — Ядро Linux
Группа Ядро Linux

Вышел релиз iptables 1.4.8 — интерфейса к Linux-фаерволу netfilter.

Наиболее интересным новшеством данного релиза является поддержка conntrack zones — механизма, позволяющего корректно отслеживать соединения в случае подключения хоста к двум или более сетям с одинаковыми адресными пространствами через разные сетевые интерфейсы. Такая ситуация является достаточно редкой, но тем не менее довольно неприятной, особенно в том случае, если вы не можете ничего изменить.

Стандартный Linux-фаервол netfilter использует для отслеживания соединений интегрированную в ядро подсистему conntrack. Полученная информация затем может использоваться при фильтрации и преобразовании пакетов. Например, именно на базе этой информации работают критерии conntrack (проверка состояния соединения, его устаревшая версия известна как state), connlimit (ограничение количества одновременных соединений с одного адреса или подсети), connbytes (ограничение соединений по количеству пакетов или байт, переданных в одном или в обоих направлениях), connmark (работает с маркировкой ctmark, общей для всех пакетов в соединении). Также информация conntrack автоматически используется всеми операциями преобразования адресов и портов (SNAT, MASQUERADE, DNAT, REDIRECT, SAME, NETMAP).

Эта информация хранится в специальной таблице (просмотреть ее можно, например, выполнив cat /proc/net/nf_conntrack). Каждое соединение описывается так называемым кортежем (tuple) — набором значений, в который входят адреса и порты (в случае ICMP — типы и коды ICMP) источника и назначения при передаче данных в прямом и обратном направлении. Очевидно, что при наличии нескольких подсетей с одинаковыми адресными пространствами, возможно возникновение путаницы, когда сразу нескольким соединениям ставится в соответствие одна и та же запись в таблице соединений. Чтобы избежать такой ситуации, в кортеж был добавлен идентификатор зоны conntrack — целое число, которое можно устанавливать через специальное правило в таблице raw в зависимости от входящего интерфейса (цепочку PREROUTING таблицы raw пакеты проходят еще до обработки их conntrack'ом). Кроме того, это значение можно задать для каждого интерфейса через sysfs, минуя iptables (псевдофайл /sys/class/net/имя_интерфейса/nf_ct_zone). Таким образом, сетевые администраторы получили эффективный инструмент, позволяющей изящно решить даже такую сложную задачу.

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

Операция установки значения conntrack zone реализуется в netfilter/iptables новым действием CT. Это действие используется в таблице raw и позволяет задать настройки conntrack для новых соединений. В частности, с его помощью можно:

  • Отключить отслеживание соединений для данного класса пакетов (опция --notrack). Ранее это выполнялось отдельным действием NOTRACK, которое теперь, видимо, будет объявлено устаревшим.

    Отслеживание отдельных соединений имеет смысл отключать, например, в том случае, если вы находитесь под (D)DoS-атакой, локализовали ее источники и используете средства активного противодействия, такие, как TARPIT. Если вы не отключите трекинг для таких соединений, это оружие может больно ударить и вас самих.

  • Установить для конкретного соединения нужный вспомогательный модуль (conntrack helper). Вспомогательные модули используются системой conntrack для отслеживания сложных протоколов, использующих несколько соединений в рамках одного сеанса (например, FTP, SIP, IRC, H.323 и т.п.). Теперь, если вы используете нестандартный порт для FTP, совсем не обязательно править конфигурацию modprobe.conf, чтобы прописать нужный параметр для соответствующего модуля ядра — достаточно выполнить привязку хелпера к порту через правило netfilter'а.
  • Ограничить список событий conntrack, генерируемых для данного соединения (например, реагировать только на открытие и закрытие соединения, игнорируя изменения его состояния).

Надо заметить, что поддержка действия CT и conntrack zones была добавлена в netfilter (т.е. в ядро) еще в начале февраля, поэтому присутствовала уже в релизе 2.6.33. Однако модули netfilter сами по себе не могут быть использованы без соответствующих управляющих команд из userspace, которые обычно отдаются через утилиту iptables.

Помимо добавления поддержки действия CT, в код iptables также было внесено несколько менее значительных изменений:

  • Полная поддержка ядра 2.6.34.
  • Исправлена ошибка парсинга диапазона адресов в критерии iprange.
  • Улучшен парсинг номеров портов для действий MASQUERADE и REDIRECT.
  • В проект импортирована утилита nfnl_osf, обеспечивающая подгрузку базы сигнатур для критерия osf.
  • Улучшена документация.

>>> ChangeLog

 , , ,

nnz
()

CentOS 5.5

Новости — Red Hat
Группа Red Hat

Минувшей ночью в списке рассылки CentOS-announce было официально объявлено о выходе нового обновления данного дистрибутива — 5.5.

CentOS является бесплатной версией промышленного дистрибутива Red Hat Enterprise Linux (RHEL) и на 100% бинарно совместим с ним. Но в отличие от RHEL, для которого бинарные обновления предоставляются только на время ознакомительного срока либо при наличии контракта на поддержку, CentOS не ограничивает доступ к бинарным обновлениям.

CentOS 5.5 наследует все улучшения, введенные в RHEL 5.5. С их полным списком можно ознакомиться в новости о выходе RHEL 5.5. Кратко напомню наиболее интересные моменты:

  • Улучшенная поддержка оборудования. Обновлены драйвера для ряда проводных (vxge, be2net, enic, qlge, tg3, igb, ixgbe, e1000, netxen, bnx2x, bnx2, bnx2i, r8169) и беспроводных (iwlwifi, rt2x00, ath9k) сетевых карт, контроллеров устройств хранения (qla2xxx, hptiop, lpfc, mpt2sas, mptque, megaraid_sas). Реализована поддержка новых платформ и процессоров. Обновлена ALSA.
  • Улучшения средств виртуализации. Доработана поддержка аппаратных технологий проброса PCI-устройств в гостевые окружения (Intel VT-d и AMD IOMMU). В libvirt реализовано управление доступом гостей к HugeTLBfs.
  • Улучшен инсталлятор (anaconda). Исправлен ряд ошибок, добавлена поддержка новых устройств хранения.
  • Расширена поддержка SystemTap. Добавлены новые трассировочные вызовы (tracepoints), возможен запуск из-под непривилегированного пользовательского аккаунта.
  • Значительно увеличена эффективность планировщика ввода-вывода CFQ.
  • Новая Samba с улучшенной поддержкой новых версий Windows (2008, Vista, 7) и возможностью развертывания кластеров.
  • Добавлены пакеты для PostgreSQL 8.4 и FreeRADIUS 2.

Обновление может быть выполнено следующими командами:

yum clean all
yum update glibc\*
yum update yum\* rpm\* python\*
yum clean all
yum update
shutdown -r now

Несколько технических замечаний по возможным проблемам при установке и обновлении:

  • Если вы используете проприетарный драйвер nvidia, перед обновлением рекомендуется заменить его на nv, а после завершения обновления — переустановить его.
  • Также к проблемам при обновлении на платформе x86_64 может привести наличие установленного VirtualBox 3.1.6.
  • Во время установки с CD/DVD не пытайтесь использовать репозитарий extras.

>>> CentOS 5.5 release notes

 , ,

nnz
()

systemd — новый подход к инициализации системы

Новости — Open Source
Группа Open Source

Lennart Poettering, сотрудник компании Red Hat, представил концепцию принципиально нового механизма управления инициализацией системы — systemd (system daemon), которая вобрала в себя достоинства классического System V init и более современных launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, Fedora), но при этом лишена многих их недостатков. В разработке этого проекта ему помогали сотрудники Red Hat, Novell, IBM, Intel и Nokia.

systemd опирается на современные linux-технологии: cgroups, AutoFS, D-Bus, и при этом совместим с исторически устоявшимися механизмами: init-скриптами, стандартными командами shutdown, poweroff и т.п. Предоставляемый systemd функционал позволяет заменить не только систему инициализации, но и ряд других подсистем, в частности, cron, (x)inetd, xdm/kdm/gdm/..., частично даже SELinux.

Основные идеи, использованные при создании systemd:

  • Контроль над сокетами. Многие демоны, запускаемые при инициализации, взаимодействуют с другими демонами через unix domain и сетевые сокеты, и большинство существующих систем инициализации запускают демона-клиента только после того, как демон-сервер запустится и создаст сокет. Вместо этого, systemd создает сокеты, а затем запускает демонов, передавая им эти сокеты. Даже если демон-клиент запустится быстрее и начнет использовать сокет раньше сервера, ничего страшного не произойдет: его запрос будет буферизован и передан серверу, как только тот сможет его обработать. Такой подход уже используется в Mac OS X (launchd), позволяя этой ОС достигать впечатляющей скорости загрузки.

    Аналогичный принцип используется systemd и при запуске служб, использующих шину D-Bus.

    Кроме того, возможен автоматический запуск служб при обращении к заданным сокетам (см. ниже).

  • Фоновое монтирование. Такие операции, как монтирование, проверка и активация квот файловых систем, занимают весьма значительную долю загрузочного времени. В большинстве современных систем они выполняются последовательно, до запуска всех демонов. systemd же предлагает монтировать не-жизненно-важные ФС только тогда, когда они кому-то понадобятся. Для этого используется механизм AutoFS. Например, многие служебные демоны вовсе не обязаны ждать, пока смонтируется огромный и к тому же зашифрованный /home.

    Разумеется, этот подход неприменим к /, /proc, /sys и т.п.

  • Минимизация числа вспомогательных процессов. В настоящее время значительная часть работ по инициализации производится шелл-скриптами, что приводит к колоссальным времязатратам. В частности, Леннарт пишет:

    On my system the scripts in /etc/init.d call grep at least 77 times. awk is called 92 times, cut 23 and sed 74,

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

    В качестве альтернативы Леннарт предлагает предлагает переписать критичные участки на C, а также вынести часть функционала в самих демонов и в systemd. Сейчас для systemd уже готовы написанные на C подсистемы монтирования и установки имени хоста. До полной победы, отмечает Леннарт, работа предстоит огромная, но результат того стоит.

  • Отслеживание процессов. В ныне используемых системах инициализации в принципе возможна такая ситуация, когда при неправильном форке процесс может «потеряться». Например, так может произойти с некорректно написанным CGI-приложением, и процесс останется работать даже после остановки веб-сервера.

    Для предотвращения таких ситуаций systemd использует интегрированный в ядро Linux механизм контрольных групп (cgroups). Если приложение не имеет доступа к псевдо-ФС, управляющей работой cgroups, то оно не может самостоятельно покинуть свою группу и «потеряться».

    Также к этой группе задач относится и автоматический перезапуск демонов, перенаправление их stdout/stderr на выбранные TTY или в системный журнал, регистрация всех запусков и остановок служб, и многое другое.

  • Ограничение процессов. systemd предоставляет множество возможностей ограничить или расширить полномочия процессов, контролируя такие параметры, как uid, gid, umask, рабочий и корневой каталоги, класс и приоритет CPU и I/O, наличие доступа на чтение и запись к смонтированным файловым системам и отдельным каталогам и т.п. Также можно использовать возможности по ограничению ресурсов, предоставляемые cgroups.

Базовым элементом systemd являются модули (units), которые связаны между собой и имеют определенный тип. Каждый модуль может требовать для своей работы другие модули, конфликтовать с модулями, запускаться только после или до определенного модуля (директивы конфигурации Requires, Conflicts, Before, After, Wants). Из типов модулей определены:

  • service — обычный демон, поддерживающий операции start, stop, restart, reload. Может быть представлен родным (native) файлом конфигурации systemd или System V init-скриптом.
  • socket. При обращении к сокету генерируется событие, для которого можно настроить обработчик. Например, автоматически запускать определенные службы при обращении к заданному сокету. В этом отношении systemd похож на давно известный (x)inetd, однако при этом поддерживает unix domain сокеты и FIFO.
  • device. Отметив нужные устройства в конфигурации udev, впоследствии можно использовать такие события, как появление и удаление устройства, в качестве событий systemd, назначив на них обработчики. Например, при появлении устройства bluetooth будет запущена соответствующая служба.
  • mount. systemd контролирует все точки монтирования файловых систем. В целях обратной совместимости поддерживается сбор информации о точках монтирования из /etc/fstab.
  • automount. Для помеченных таким образом точек монтирования, монтирование выполняется только при обращении к ним.
  • target. Более гибкий аналог уровней исполнения (runlevels), используемых в System V init. Представляет собой группу служб, объединенных по функциональному назначению. Например, multi-user.target идентичен runlevel 5, а bluetooth.target приводит к инициализации подсистемы bluetooth.
  • snapshot — во многом похож на target. Позволяет «запомнить» существующую конфигурацию units (запущенных служб, открытых сокетов, смонтированных ФС) с тем, чтобы в дальнейшем восстановить это состояние. Позволяет, например, перейти в emergency shell (сейчас это init 1), а затем полностью восстановить набор запущенных служб. Другой пример — выход системы из состояния suspend.

Надо заметить, что systemd отличается от SMF, во-первых, тем, что позволяет оперировать не только зависимостями между службами, но и событиями, например, «готовность устройства» или «обращение к сокету». Во-вторых, systemd использует более простой формат файлов конфигурации (.desktop aka .INI против XML в SMF).

От upstart же systemd отличается более высокой степенью параллелизации, и как следствие, более высокой скоростью загрузки. Например, если демон A требует для работы сокет, открытый демоном B, то upstart сначала запустит демона B, а затем демона A, в то время как systemd создаст сокет сам и запустит обоих демонов одновременно, что занимает примерно в два раза меньше времени. Используемый в upstart принцип, когда ключевыми событиями является лишь запуск и остановка демона, Леннарт и его коллеги считают изначально неэффективным.

Well, the point of the part about Upstart above was to show that the core design of Upstart is flawed, in our opinion. Starting completely from scratch suggests itself if the existing solution appears flawed in its core. However, note that we took a lot of inspiration from Upstart's code-base otherwise.

>>> Подробности

 , , smf, ,

nnz
()

Qubes, операционная система с повышенным уровнем безопасности

Новости — Безопасность
Группа Безопасность

Джоанна Рутковска, известный специалист в области безопасности информационных систем, представила новую операционную систему Qubes. Отличительной чертой новой ОС является высокий уровень безопасности, обеспечиваемый за счет предельной взаимной изоляции приложений и компонентов системы посредством технологии виртуализации Xen. Qubes создана на базе Linux-дистрибутива Fedora.

Пользователь может создавать «песочницы» (домены безопасности) для запуска различных приложений. Можно выделить отдельные окружения, например, для работы, веб-серфинга, банковских операций. Каждая такая «песочница» на самом деле является виртуальной машиной, и выполняемые в ней приложения никак не могут влиять на другие «песочницы» и базовую систему. Дисковая и сетевая подсистемы также вынесены в отдельные виртуальные машины, причем благодаря технологиям Intel VT-d и AMD IOMMU потери производительности сводятся к минимуму.

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

В качестве базовой технологии виртуализации был выбран именно Xen, а не KVM, так как Рутковска считает Xen более безопасным.

В настоящее время система находится в альфа-стадии разработки, однако Рутковска предполагает выпустить первый релиз еще до конца текущего года. Среди планируемых нововведений, в частности, поддержка Intel Trusted Execution Technology.

>>> Подробности

 , , , ,

nnz
()

Xen 4.0.0

Новости — Open Source
Группа Open Source

Вышла новая версия системы виртуализации Xen 4.0.0.

Основные новшества:

  • Поддержка версий ядра 2.6.31, 2.6.32 (LTS) и, традиционно, 2.6.18.
  • Улучшена масштабируемость: до 64 виртуальных процессоров на один domU, до 1 Тб RAM и 128 CPU в dom0.
  • Новый vbd-драйвер blktap2, обеспечивающий поддержку формата образов виртуальных дисков VHD, включая такие возможности, как высокопроизводительные операции клонирования и создания снимков (snapshots).
  • Улучшение PCI passthrough (проброс PCI-устройств в domU): теперь поддерживается аппаратное ускорение ввода-вывода для виртуализации (Intel VT-d и AMD IOMMU).
  • Возможность проброса основной видеокарты dom0 в HVM domU, с обеспечением прямого доступа ОС domU к GPU, что открывает огромные возможности по запуску на виртуальных машинах игр и других приложений с «тяжелой» графикой.
  • Поддержка разработанной в Oracle технологии TMEM, обеспечивающей автоматическое перераспределение неиспользуемой PV domU памяти.
  • Автоматическое объединение совпадающих страниц памяти различных HVM domU.
  • Новый сетевой драйвер netchannel2 с реализацией возможностей новых сетевых карт и поддержкой нескольких очередей запросов, позволяющий значительно повысить производительность обработки пакетов на Ethernet-интерфейсах за счет снижения паразитной нагрузки на CPU и поддержки таких технологий, как SR-IOV.
  • Изменение размеров виртуальных дисков без выключения/перезагрузки domU.
  • Интеграция системы Remus, позволяющей обеспечить эффективное горячее резервирование виртуальных машин для HA-кластеров.

    Копии виртуальных машин, запущенные на slave-нодах, непрерывно синхронизируются с виртуальной машиной на master-ноде, и в случае «выпадения» master-ноды работа сервиса может быть возобновлена практически мгновенно.

    Для сравнения, в классической схеме HA-кластера для виртуальных машин, даже при синхронизации образов дисков (например, через DRBD), при «выпадении» master-ноды, резервные ноды вынуждены поднимать инстансы (виртуальные машины) «с нуля», так как не располагают актуальной копией содержимого RAM исходного инстанса. Внешне это выглядит как «холодная перезагрузка» инстанса.

  • Поддержка библиотеки libxenlight, позволяющей приложениям из domU управлять работой гипервизора, в частности, замораживать или останавливать различные domU, выполнять PCI passthrough и т.п.
  • Новая подсистема PV-USB, обеспечивающая высокопроизводительный проброс USB-устройств в domU (как PV, так и HVM). Полная поддержка USB 2.0.
  • Добавлен отладчик gdbsx для ELF-совместимых domU.
  • Поддержка ОС семейства Winows как PV domU.
  • Ряд улучшений в подсистеме pygrub (обеспечивает загрузку PV domU без необходимости хранить ядро в dom0):
    • Поддержка GRUB2.
    • Поддержка файловой системы ext4 на /boot-разделе.
    • Поддержка ядер, сжатых посредством bzip2 или lzma.
  • И множество других улучшений.

>>> Подробности

 , ,

nnz
()

Samba directory traversal 0-day

Новости — Безопасность
Группа Безопасность

В серверной части популярной реализации SMB/CIFS для *nix-систем Samba обнаружена уязвимость, позволяющая удаленному пользователю выйти за пределы каталога ресурса (share) и получить доступ к корневому каталогу системы.

Для успешной эксплуатации данной уязвимости злоумышленнику необходим доступ на запись в какой-либо ресурс на атакуемой системе. Используя специально модифицированный smbclient (см. ниже), он может создать символьную ссылку на каталог, находящийся одним или нескольким уровнями выше (../../.. и т.п.), после чего перейти по этой ссылке. Полученный им доступ будет ограничиваться полномочиями того пользователя, из-под которого осуществляется доступ к ресурсу (например, при анонимном доступе этот пользователь определяется параметром guest account).

Таким образом, на большинстве конфигураций злоумышленник сможет, к примеру, залить свои файлы в /tmp или стянуть /etc/passwd, но у него не получится утащить /etc/shadow.

В качестве workaround рекомендуется запрещать следование по символьным ссылкам (follow symlinks = no), разрешенное по умолчанию.

Ниже представлен патч, превращающий обычный smbclient3 в орудие для атаки:

--- samba-3.4.5/source3/client/client.c 2010-01-18 14:38:09.000000000 +0300
+++ samba-3.4.5/source3/client/client.c 2010-01-18 14:38:09.000000000 +0300
@@ -2754,15 +2754,13 @@
                return 1;
        }
        oldname = talloc_asprintf(ctx,
-                       "%s%s",
-                       client_get_cur_dir(),
+                       "%s",
                        buf);
        if (!oldname) {
                return 1;
        }
        newname = talloc_asprintf(ctx,
-                       "%s%s",
-                       client_get_cur_dir(),
+                       "%s",
                        buf2);
        if (!newname) {
                return 1;
Патч подготовлен для клиента из комплекта Samba 3.4.5.

Также доступно видео с подробной демонстрацией атаки.

>>> Подробности

 , ,

nnz
()

Debian 5.0.4

Новости — Debian
Группа Debian

Сегодня было официально объявлено о выходе четвертого обновления для Debian 5.0 «Lenny».

В числе основных изменений:

  • Обновлено 79 пакетов, включая linux-2.6 (ядро), dpkg, apache2, php5, mysql, proftpd, samba, dhcp3, и многие другие. Часть этих пакетов была обновлена для устранения проблем безопасноти (см. следующий пункт), остальные — для исправления обычных ошибок. Полный список обновленных пакетов с кратким описанием причины обновления доступен по ссылке «Подробности» (раздел «Miscellaneous Bugfixes»).
  • Внесено 112 исправлений безопасности, затронувших, в частности, nginx, apache2, php5, openssl, cyrus-imapd, postgresql, kvm, iceweasel/xulrunner, pidgin и ряд других пакетов, включая, разумеется, bind9. Полный список анонсов безопасности с кратким описанием уязвимостей доступен по ссылке «Подробности» (раздел «Security Updates»).
  • Удалено по различным причинам пять пакетов: destar, electricsheep, gnudip, kcheckgmail, libgnucrypto-java. Причины удаления каждого пакета пояснены по ссылке «Подробности» (раздел «Removed packages»).
  • Улучшена работа debian installer (d-i):
    • Обновлена сборка ядра, используемая в d-i. Исправлены некоторые ошибки, устранен ряд проблем с безопасностью.
    • Исправлена ошибка в udev, блокирующая работу светодиодов и зуммера во время установки системы на некоторых NAS'ах производства QNAP.
    • Улучшена поддержка установки oldstable и более старых версий Debian.
    • Исправлена проблема загрузки d-i с CD на архитектуре System/390.
    • Поддерживается работа с системами, аппаратные часы которых установлены на дату до зарождения Вселенной (01.01.1970).

>>> Подробности

 ,

nnz
()

Угроза безопасности, создаваемая отслеживанием связанных соединений на фаерволе

Новости — Безопасность
Группа Безопасность

На днях в рассылке разработчиков netfilter/iptables появилось сообщение, рассказывающее об угрозах, создаваемых корректной обработкой активного режима FTP на примере Linux-фаервола netfilter (nf_conntrack_ftp и nf_nat_ftp).

Активный режим FTP работает следующим образом: сначала FTP-клиент инициирует TCP-соединение на FTP-сервер (обычно на порт 21) и регистрируется на нем (выполняет команды USER и PASS). При возникновении необходимости передать какие-либо данные, не являющиеся командами, клиент открывает один из своих портов на прослушивание и передает номер этого порта серверу в команде PORT, после чего сервер открывает на этот порт второе соединение (соединение данных, в отличие от первого — управляющего) и передает необходимые данные (например, файл или листинг каталога).

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

Например, в фаерволе netfilter, встроенном в ядро Linux, данная проблема решается путем использования специальных модулей ядра (так называемых conntrack helpers и NAT helpers), которые сканируют трафик, по специальным шаблонам выделяют передаваемые номера портов и обеспечивают их своевременное открытие, а также корректный проброс соединений через NAT.

В системе OpenBSD эта задача решается во многом аналогичным образом, однако вместо модулей ядра используется userspace-демон ftp-proxy, который добавляет соответствующие правила к нужным якорям (anchors) фаервола pf.

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

Угроза, создаваемая подобными техническими средствами, обусловлена невозможностью отличить, инициируется ли соединение обычным FTP-клиентом на обычный FTP-сервер, или такое поведение имитируется злонамеренным ПО (malware). Например, используя технологии XMLHTTPRequest, Adobe Flash или Java-апплеты, злоумышленник может подготовить специальную web-страницу, при открытии которой на клиентском хосте может быть использована данная узвимость. Злонамеренный код, исполняемый на клиентском хосте, имитирует работу обычного FTP-клиента в активном режиме, отправляя на сервер злоумышленника команду PORT. В том случае, если межсетевой экран настроен на корректную обработку активного режима FTP, это приведет к открытию заданного клиенского порта для доступа с сервера злоумышленника.

Автор сообщения приводит также ссылку на git-репозитарий с комплектом ПО, разработанного специально для демонстрации этой уязвимости (проще говоря, эксплойтом).

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

Ну и наконец, стоит заметить, что причины возникновения обсуждаемой проблемы лежат не в каких-либо ошибках при разработке фаерволов, а в изначальной некорректности (defective by design) принципов работы некоторых протоколов прикладного уровня, в частности, активного режима FTP.

>>> Подробности

 , , ,

nnz
()

Untangle 7.1

Новости — Debian
Группа Debian

Вышел релиз Untangle 7.1 — специализированного дистрибутива, основанного на Debian GNU/Linux и предназначенного для быстрого развертывания корпоративных шлюзов. Прочитать краткое описание его возможностей можно здесь.

В новой версии отмечены улучшения по следующим направлениям:

  • Управление политиками (правилами) доступа:
    • Структура правил теперь является иерархической, т.е. между правилами введены отношения «родитель–потомок». Изменения в правиле-родителе отображаются на все правила-потомки.
    • Добавлено автоматическое завершение активных сеансов при смене правил, в том числе по таймеру. Например, если разрешить использование IM только до 11 часов, то ровно в 11 часов не только запрещается открытие новых IM-соединений, но и блокируются все активные на текущий момент.
  • Фильтрация веб-контента:
    • Поддерживается централизованное управление настройками фильтрации результатов поиска (safe search) для ряда популярных поисковых движков (в частности, Google).
    • Добавлена возможность снятия ограничений для отдельных пользователей с использованием авторизации по паролю. Например, можно закрыть доступ в социальные сети для рядовых сотрудников, оставив его для начальства.
    • Временно разблокированные сайты теперь автоматически блокируются по таймауту.
  • Отчеты:
    • Введен отдельный уровень привилегий, позволяющий только просматривать отчеты, без доступа к администрированию системы.
      Например, чтобы начальство могло просматривать отчеты, и вы при этом не опасались, что оно что-то наворотит в админке.
    • Теперь к отчетам, отправляемым на e-mail, прикрепляется архив с CSV-файлом, содержащим детальный отчет.
  • Добавлены новые средства для тестирования работы сети и выявления ошибок:
    • ping.
    • Проверка DNS.
    • traceroute.
    • Проверка подключения к заданному порту по TCP.
    • tcpdump.
  • Поддержка работы на серверах с одной сетевой картой.
  • Доступна 64-битная сборка.

>>> Подробности

 , ,

nnz
()

OpenVPN 2.1.1

Новости — Open Source
Группа Open Source

Вышел официальный релиз OpenVPN 2.1.1 — широко известного решения для организации виртуальных частных сетей (VPN).

Релиз 2.1.1, по сути, является первым официальным релизом в ветке 2.1 (разработка которой ведется с 2005 года), так как вышедшая несколькими часами ранее версия 2.1.0 содержала ошибку в spec-файле, и версия 2.1.1 была срочно выпущена для исправления этой ошибки.

Среди основных новшеств данного релиза:

  • Опция port-share, позволяющая OpenVPN-серверу использовать TCP-порт 443 одновременно с HTTPS-сервером. Необходимость в использовании этого порта для VPN-сервера возникает довольно часто, так как многие прокси-серверы блокируют запросы CONNECT на другие порты, что создает определенные трудности для VPN-клиентов.
  • Опция topology subnet, предоставляющая поддержку простых VPN-сетей, в которых каждому клиенту достаточно одного IP-адреса.
  • Поддержка multi-homing'а (множественной адресации) для UDP при наличии нескольких сетевых интерфейсов (опция multihome).
  • Значительно расширены возможности интерфейса управления, обеспечивающего локальное либо удаленное управление демоном OpenVPN через TCP либо unix-сокет.
  • Добавлена поддержка стандарта PKCS#11 (использование аппаратных ключей).
  • Ряд улучшений в Windows-версии:
    • В установочный комплект включен графический интерфейс для управления OpenVPN.
    • Для работы с виртуальным сетевым интерфейсом TAP больше не требуются административные привилегии.
    • Поддержка режима DHCP-прокси (опция route-gateway dhcp).

>>> Подробности

 , ,

nnz
()

Linux kernel Ping of Death

Новости — Безопасность
Группа Безопасность

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

Данной уязвимости подвержены ядра с 2.6.28.10 по 2.6.32-rc8 включительно. В версии 2.6.32 она уже исправлена.

Уязвимость локализована в коде, отвечающем за дефрагментацию IPv4-пакетов (файл net/ipv4/ip_fragment.c, функция ip_frag_reasm), и имеет тип «NULL pointer dereference» (разрешение нулевого указателя). В связи с этим нужно сделать два замечания:

  • Заголовок новости («Ping of Death») носит несколько метафорический характер, так как классические уязвимости Ping of Death, столь популярные в Windows и Unix-системах конца предыдущего столетия, основаны не на разрешении нулевого указателя, а на переполнении буфера при сборке слишком большого фрагментированного пакета. Однако, принцип эксплуатации уязвимости (отправка слишком длинного пакета) и достигаемый эффект (отказ в обслуживании) в обоих случаях одинаковы.
  • Опасность повышения привилегий (получения root-доступа) локальным злоумышленником может быть нейтрализована путем запрещения маппинга кода на нулевой адрес, что достигается установкой в ненулевое значение sysctl-параметра vm.mmap_min_addr (в большинстве современных дистрибутивов он по умолчанию установлен в ненулевое значение, однако после установки wine может быть сброшен в ноль).

Несколько дней назад вышли обновления для Fedora 11, Fedora 12, а также для Ubuntu 9.10. Всем, кто использует уязвимые версии ядра, рекомендуется срочно обновиться.

>>> Подробности

 , ,

nnz
()

iptables 1.4.6 с поддержкой критерия OS Fingerprinting

Новости — Ядро Linux
Группа Ядро Linux

Вышел релиз iptables 1.4.6 — интерфейса к Linux-фаерволу netfilter.

Основным новшеством данного релиза является поддержка критерия osf (passive OS fingerprinting), аналогичного критерию os OpenBSD-фаервола pf. Оба этих критерия позволяют по TCP SYN-пакету определить семейство и, в некоторых случаях, даже примерную версию операционной системы, отправившей этот пакет. Детекция производится на основании анализа ряда характеристик пакета, таких как размер TCP-окна, максимальный размер сегмента (MSS), опции TCP, бит DF и т.п. Совокупность значений этих параметров, позволяющая однозначно идентифицировать систему-отправителя, называет сигнатурой. Существующий на настоящий момент список сигнатур, сопровождаемый сообществом OpenBSD, весьма обширен.

Пример использования:

iptables -I INPUT -p tcp -m osf --genre Windows --ttl 2 -j DROP 
позволит заблокировать соединения, инициируемые операционными системами семейства Windows (опция --ttl 2 предписывает не учитывать TTL при детекции).

Критерий osf был реализован Евгением Поляковым (разработчиком POHMELFS и автором порта CARP под Linux) еще в 2003 году. Однако соответствующий модуль netfilter был принят в ядро лишь в июне текущего года, а интерфейс к нему на уровне iptables появился только сейчас.

Заметим, что для использования данного критерия необходима утилита nfnl_osf, обеспечивающая подгрузку базы сигнатур для модуля детекции через интерфейс nfnetlink. Будем надеяться, что мейнтейнеры соответствующих пакетов в наших любимых дистрибутивах вскоре обратят свое внимание на эту проблему. Пока же самые нетерпеливые могут собрать эту утилиту по старинке, через make bin (для сборки нужны заголовки библиотеки nfnetlink).

Среди других изменений в данном релизе iptables можно отметить поддержку ядра 2.6.32, исправление ряда мелких проблем в отдельных модулях (xt_iprange, xt_conntrack), поправки в man-страницах.

>>> ChangeLog

 , , , ,

nnz
()

virt-manager 0.8.1, virtinst 0.500.1 и qemu-kvm 0.11.1

Новости — Red Hat
Группа Red Hat

Вышел релиз virt-manager 0.8.1 — графического (GTK) интерфейса к унифицированной системе управления виртуализацией libvirt. В настоящее время virt-manager поддерживает технологии Xen, QEMU и KVM. Скриншоты.

Основные новшества:

  • Удобный «мастер» для управления миграцией виртуальных машин.
  • Получение списков CD-приводов и сетевых мостов при подключении к удаленным системам.
  • Теперь в главном окне программы можно отображать по несколько графиков для каждого хоста.
  • Поддержка маршрутизируемых (routed) виртуальных сетей.
  • Возможность отключения функции DHCP для виртуальных сетей.
  • Поддержка списков источников LVM, NFS и SCSI-пулов.
  • Возможность изменения через GUI различных параметров виртуальных окружений, в частности:
    • Поддержка ACPI и APIC.
    • Смещение эмулируемых аппаратных часов (Гринвич/местное время).
    • Привязка VCPU к процессорным ядрам хоста.
    • Модель видеокарты (поддерживаются модели cirrus, vga, vmvga, xen).
  • Множество других улучшений и багфиксов.

Кроме того, вышел релиз virtinst 0.500.1 — консольной программы, упрощающей создание виртуальных машин через libvirt.

Основные улучшения:

  • Поддержка автоматического распознавания устанавливаемой системы (os-variant).
  • Добавлена опция конфигурирования виртуальных дисков (disks) format, позволяющая указать формат образа (qcow2 или vmdk).
  • Множество других улучшений и багфиксов.

И наконец, вышел минорный релиз гипервизора qemu-kvm 0.11.1, объединяющего платформу виртуализации QEMU и технологию KVM. В этом релизе выполнена синхронизация кода с QEMU 0.11.1, а также исправлен ряд ошибок, в частности, проблемы с изменением размера VGA-экрана, переполнение буфера в модуле usb-linux и т.п.

>>> Подробности

 , , , , , ,

nnz
()

GreenSQL-FW 1.2.0

Новости — Безопасность
Группа Безопасность

Вышел релиз GreenSQL-FW 1.2.0 — SQL-прокси-сервера, обеспечивающего защиту от атак типа «SQL-инъекция» на различные приложения, использующие базы данных MySQL и PostgreSQL, в частности, на системы управления контентом (CMS).

В версии 1.2.0 добавлена штатная поддержка PostgreSQL, а также значительно изменен пользовательский интерфейс.

GreenSQL поддерживает несколько режимов работы:

  • Обучение — система анализирует проходящий через нее SQL-трафик и формирует белые списки разрешенных запросов.
  • IDS (Intrusion Detection System) — система анализирует трафик, выявляет потенциально опасные запросы и заносит их в логи.
  • IPS (Intrusion Prevention System) — система блокирует потенциально опасные запросы.
  • Активная защита — пропускаются только запросы, соответствующие шаблонам белого списка.

Для выявления потенциально опасных запросов используются следующие методы:

  • Проверка по шаблонам — позволяет блокировать запросы, изменяющие структуру базы, выполняющие административные команды, и т.п. Разумеется, список этих шаблонов легко настраивается.
  • Расчет степени риска — для каждого запроса оценивается показатель риска, повышающийся от таких факторов, как наличие в запросе комментариев, тавтологий (... OR 1=1) и т.п. Запросы с уровнем риска, превышающим заданное значение, блокируются.

Управление GreenSQL осуществляется через веб-интерфейс (скриншоты).

Для скачивания доступны не только исходный код, но и готовые пакеты под наиболее популярные серверные дистрибутивы — Debian и CentOS, а также под Ubuntu и Fedora.

>>> Подробности

 , , ,

nnz
()

Zend прекращает поддержку FreeBSD

Новости — BSD
Группа BSD

Производственный директор компании Zend Кент Митчелл (Kent Mitchell) официально заявил, что поддержка платформы FreeBSD в продуктах Zend прекращена в связи с отсутствием спроса.

По словам Митчелла, спрос на коммерческую продукцию компании Zend под платформу FreeBSD ничтожно мал — даже на сборки под Mac спрос на порядки выше. Оставлять поддержку FreeBSD-версий только для бесплатных продуктов (в частности, Zend Optimizer) также нецелесообразно, потому что они развиваются на деньги, вырученные при продаже коммерческой продукции.

Заметим, что последняя доступная под FreeBSD версия Zend Optimizer — 3.3.9 — существует только в 32-битной сборке.

Мейнтейнер PHP во FreeBSD Алекс Дюпре (Alex Dupre) уже сообщил, что новых релизов порта ZendOptimizer больше не будет.

>>> Подробности

 , ,

nnz
()

gNewSense будет базироваться не на Ubuntu, а на Debian

Новости — Debian
Группа Debian

В списке рассылки разработчиков gNewSense — полностью свободного дистрибутива, поддерживаемого Фондом свободного ПО (FSF) — появилось сообщение, информирующее о том, что следующий релиз этого дистрибутива (3.0) будет основан на пакетной базе Debian GNU/Linux, а не на Ubuntu, как предыдущие.

Причины перехода:

  • Debian использует жесткую политику разделения свободного и несвободного ПО, что упрощает создание производных проектов с таким же жестким разделением.
  • Debian поддерживает ряд архитектур, представляющих интерес для разработчиков gNewSense (в частности, MIPS).
  • Схожесть инфраструктур проектов Debian и gNewSense, значительно упрощающая процесс разработки последнего.

Соответствующие изменения уже внесены в официальный FAQ проекта.

>>> Подробности

 , , ,

nnz
()

Уязвимость DNSSEC в BIND9

Новости — Безопасность
Группа Безопасность

В популярном DNS-сервере ISC BIND версии 9 обнаружена уязвимость, позволяющая поместить в кэш сервера некорректные данные.

Уязвимость проявляется при работе сервера в режиме рекуррентного резольвера с поддержкой DNSSEC, во время обработки клиентского запроса с установленными флагами CD (отключить проверку) и DO (получить записи DNSSEC). Нормальные клиенты, как правило, не отправляют подобные запросы, поэтому риск можно свести к минимуму всего лишь правильной настройкой allow-recursion. Также проблему решает полное отключение DNSSEC-проверок на сервере.

Тем не менее, ISC уже выпустила обновления безопасности для веток 9.6, 9.5 и 9.4. Всем администраторам, использующим уязвимые версии BIND (9 и выше), рекомендуется произвести обновление.

>>> Подробности

 , , , ,

nnz
()

Debian объявляет об официальной поддержке DebSrc3.0

Новости — Debian
Группа Debian

Разработчики Debian опубликовали официальное уведомление о поддержке нового формата пакетов с исходным кодом — DebSrc3.0.

Отличительной чертой нового формата является возможность раздельного хранения дистрибутивных патчей к исходному коду (в старом формате src-пакетов все патчи собирались в единый diff.gz). Возможность раздельной поставки патчей упрощает процесс документирования, делает более удобным процесс синхронизации патчей с другими дистрибутивами, а также позволяет авторам изначальных проектов ускорить обнаружение новых патчей и их вливание в базовый проект. Кроме того, основанные на пакетной базе Debian сторонние дистрибутивы могут отдельно выделять собственные патчи, без модификации изначально представленного набора патчей.

Новый формат добавляет и другие возможности, в частности, использование нескольких архивов с исходным кодом, включение в пакет произвольных бинарных файлов (например, PNG-логотип Debian теперь можно добавить в src-пакет без применения uuencode), а также поддержку архивов bzip2 и lzma (помимо используемого сейчас gzip).

Работа по переводу пакетов на новый формат уже начата. Следить за ней можно здесь (цифры и графики) или здесь (только цифры). На момент написания этой новости переведено 127 пакетов.

Этот формат был разработан участниками проекта Debian. Ранее проект Ubuntu уже принял этот формат в качестве основного, не дожидаясь его официального признания Debian'ом.

>>> Подробности

 , debsrc

nnz
()

Metasploit Framework 3.3

Новости — Open Source
Группа Open Source

Вышел релиз Metasploit Framework 3.3 — открытой платформы для создания и отладки эксплойтов, содержащей вспомогательные компоненты и сотни готовых эксплойтов.

Вот лишь некоторые новшества этого релиза:

  • Теперь в комплект входят 445 эксплойтов и 216 вспомогательных модулей (по сравнению с соответственно 320 и 99 в версии 3.2).
  • Исправлено порядка 180 ошибок.
  • Значительно увеличена скорость запуска ключевых компонентов.
  • Bundle-инсталлятор для Linux доступен как в 32-битной, так и в 64-битной версиях.
  • При атаках arbitrary code execution на Windows-системы, в качестве нагрузки (payload) теперь может передаваться любой заданный EXE-файл.
  • Улучшенная поддержка атак на базы данных Oracle и MS SQL.
  • Модули сканирования теперь могут показывать индикатор прогресса.
  • Meterpreter (специальный шелл, передаваемый в качестве нагрузки на атакуемую систему) поддерживает связь с атакующим через HTTPS (используется OpenSSL).
  • Также Meterpreter теперь умеет снимать скриншоты, сниффить трафик, регистрировать нажатия на клавиши (key logging) атакованного компьютера.
  • Добавлены новые нагрузки под Windows x64.

Скачать.

>>> Подробности

 , ,

nnz
()

RSS подписка на новые темы