AIDE на AIX. Проблема сборки.


Главная Форумы POWER Systems AIX/Hardware AIDE на AIX. Проблема сборки.

В этой теме 13 ответов, 4 участника, последнее обновление  kir 8 года/лет, 2 мес. назад.

  • Автор
    Сообщения
  • #5224

    Oleg
    Участник

    Я хочу установить AIDE на AIX 5.3L (http://www.cs.tut.fi/~rammer/aide.html)

    # oslevel -qs | head
    Known Service Packs
    ——————-
    5300-09-02-0849
    5300-09-01-0847
    5300-09-00-0000
    5300-08-05-0846
    5300-08-04-0844
    5300-08-03-0831
    5300-08-02-0822
    5300-08-01-0819
    5300-07-07-0846
    5300-07-06-0844

    # rpm -qa
    cdrecord-1.9-7
    mkisofs-1.13-4
    bash-3.0-1
    libgcc-4.2.0-3
    bison-1.875-3
    make-3.80-1
    unzip-5.51-1
    zip-2.3-3
    gcc-4.2.0-3
    flex-2.5.4a-6
    AIX-rpm-5.3.9.0-7

    Ok, идем далее. Я скачал последнюю версию AIDE с офиц. сайта. Далее:

    # cd /home/kripton/aide-0.13.1
    # ./configure
    checking for a BSD-compatible install… ./install-sh -c
    checking whether build environment is sane… yes
    checking for gawk… no
    checking for mawk… no
    checking for nawk… nawk
    checking whether make sets $(MAKE)… yes
    checking for gcc… gcc
    checking for C compiler default output file name… a.out
    checking whether the C compiler works… yes
    checking whether we are cross compiling… no
    checking for suffix of executables…
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ISO C89… none needed
    checking for style of include used by make… GNU
    checking dependency style of gcc… gcc3
    checking whether make sets $(MAKE)… (cached) yes
    checking for ranlib… ranlib
    checking for bison… bison -y
    checking for flex… flex
    checking lex output file root… lex.yy
    checking lex library… -lfl
    checking whether yytext is a pointer… yes
    checking for pkg-config… no
    checking whether to enable maintainer-specific portions of Makefiles… no
    checking for library containing syslog… no
    checking for vsyslog… no
    checking how to run the C preprocessor… gcc -E
    checking for grep that handles long lines and -e… /usr/bin/grep
    checking for egrep… /usr/bin/grep -E
    checking for ANSI C header files… no
    checking for sys/types.h… yes
    checking for sys/stat.h… yes
    checking for stdlib.h… yes
    checking for string.h… yes
    checking for memory.h… yes
    checking for strings.h… yes
    checking for inttypes.h… yes
    checking for stdint.h… yes
    checking for unistd.h… yes
    checking whether byte ordering is bigendian… yes
    checking for byte… no
    checking for ushort… yes
    checking for ulong… yes
    checking for u16… no
    checking for u32… no
    checking for u64… no
    checking for unsigned short… yes
    checking size of unsigned short… configure: error: cannot compute sizeof (unsigned short)
    See `config.log’ for more details.

    Лог файл в аттаче.
    В чем может быть проблема не пойму. Google молчит 🙁
    Пакеты gcc, make обновлены. Есть идеи ? [file name=config.txt size=75084]http://www.aixportal.ru/media/kunena/attachments/legacy/files/config.txt[/file]

    Attachments:
  • #5226

    Nikolay Logvinov
    Участник

    Проблема в том, что AIDE пытается воспользоваться статической линковкой. Если Вы внимательно посмотрите на config.log, то увидите, что обычная команда выглядит как:
    gcc -o conftest -g -O2 -static conftest.c
    Вот в ключе ‘-static’ и есть проблема. Возьмите хоть helloworld.c и попробуйте собрать данной командой, получите как раз следующие ошибки:
    ld: 0711-317 ERROR: Undefined symbol: encrypted_pw_passlen
    ld: 0711-317 ERROR: Undefined symbol: max_history_size
    ld: 0711-317 ERROR: Undefined symbol: crypt_r
    ld: 0711-317 ERROR: Undefined symbol: getpass_auto
    ld: 0711-317 ERROR: Undefined symbol: max_pw_passlen
    постоянно встречающиеся в config.log.
    Стоит только убрать ‘-static’ как всё прекрасно собирается.

    Не знаю почему, но aide настырно хочет собираться статически. Посмотрите на строки 3804 по 3819 файла configure.

  • #5254

    kir
    Хранитель

    Logvinon писал(а):

    Проблема в том, что AIDE пытается воспользоваться статической линковкой.

    Никакой проблемы. ./configure —disable-static

    Не знаю почему, но aide настырно хочет собираться статически.

    Это вы настырно не желаете README читать.

    Please note that dynamic linking introduces a security risk and is not recommended.

  • #5261

    Nikolay Logvinov
    Участник

    Хех, во-первых, я описывал проблемы,а решение человек мог и сам найти. Если Вы любите все разжеванное, то что ж.
    Во-вторых, откуда такие эмоции? Давайте поговорим про статическую линковку под AIX’ом:
    «Any application that is statically linked is NOT binary portable from any fix or release level to any other fix or release level»
    выдержка из ‘man ld’

  • #5265

    critic critic
    Участник

    pisch, вы так ярко упомянули про security risk… Пару примеров из реальной жизни пожалуйста. Из реальной. Или это «теоретические рассуждения о сферической лошади в вакууме»?

  • #5273

    kir
    Хранитель

    Logvinon писал(а):

    откуда такие эмоции?

    Нет никаких эмоций.

    Давайте поговорим про статическую линковку под AIX’ом

    Давайте без давайте.

    Статическая линковка aide никакого отношения именно конкретно к AIX не имеет.

    «Any application that is statically linked is NOT binary portable from any fix or release level to any other fix or release level»
    выдержка из ‘man ld’

    Майнготт, как прекрасно, когда люди читают man.

    И что дальше? Чего вы этой цитатой хотели сказать?

  • #5274

    kir
    Хранитель

    critic писал(а):

    pisch, вы так ярко упомянули про security risk

    Про security risk ярко упомянуто в readme.

    Пару примеров из реальной жизни пожалуйста.

    Вас забанили на google?

    Из реальной. Или это «теоретические рассуждения о сферической лошади в вакууме»?

    Вы вот вместо так заливаться соловушкой о лошадках в безвоздушном пространстве могли бы немножко в общем и подумать почему же это вдруг авторы Advanced Intrusion Detection Environment прозрачно намекают на наличие секьюрити рисков в случае динамической линковки.

  • #5275

    critic critic
    Участник

    pisch, судя по всем вашим постам вы большой «теоретик труда». Именно теоретик, т.к. ни одного сообщения по делу, от вас, я на этом форуме не увидел. Нет, нет, не утруждайте себя ответом на этот пост. Вам ещё теорию изучать надо…
    PS: Admin, можно меня забанить на пару недель. Я согласен. Не люблю пустую болтовню. А этот теоретик…

  • #5277

    Nikolay Logvinov
    Участник

    Эээ, извините, забыл, что Вам надо всё разжёвывать.

    Итак, AIX не использует статическую линковку. Авторы AIDE вместе с Вами утверждают, что динамическая линковка наносит удар по секурности. Далаем вывод: АIX — абсолютно несекурная система. Что, увы, противоречит международной сертификации.

    Далее, если авторы в своём configure предусматривают использование своей системы под AIX, но, по-умолчанию, задают статическую линковку, то, IMHO, они никогда не собирали свой продукт под AIX.

    Далее, посмотрим на tripwire (как более мощную прогу, на неё ссылаются авторы), там ключи для конфигурации прямо обратные:
    $ ./configure —help

    —enable-static compile static binaries

    Читаем их INSTALL:
    »
    If you want statically linked binaries, throw the —enable-static for
    configure. Note that statically linked binaries are not possible on all
    platforms.
    »
    Значительно честнее и без экивоков в сторону нарушения секурности.

  • #5280

    kir
    Хранитель

    Logvinon писал(а):

    Эээ, извините, забыл, что Вам надо всё разжёвывать.

    Уж разжевал так разжевал. Лучше б сплюнул или проглотил.

    Посмотрим.

    Итак, AIX не использует статическую линковку.

    FAIL.
    В AIX можно слинковать бинарник статически. О чем, кстати, явно и очевидно свидетельствует все тот же man ld.

    [code]When -dy is specified, ld uses dynamic
    linking; this option is equivalent to the -b
    so option. When -dn is specified, ld uses
    static linking; this option is equivalent to
    the -b nso option[/code]

    Авторы AIDE вместе с Вами утверждают, что динамическая линковка наносит удар по секурности.

    Авторы AIDE как бы намекают, что система обнаружения проникновения скорее не должна зависеть, от, к примеру, динамически подключаемых библиотек. Помимо зависимости от возможно скомпрометированной библиотеки есть еще всякие LDR_PRELOAD, что также чревато.

    Далаем вывод: АIX — абсолютно несекурная система. Что, увы, противоречит международной сертификации.

    Вывод абсолютно беспочвенный и к делу отношения не имеет.

    Далее, если авторы в своём configure предусматривают использование своей системы под AIX, но, по-умолчанию, задают статическую линковку, то, IMHO, они никогда не собирали свой продукт под AIX.

    Во-первых автор на странице программы честно и не таясь прямо указывает, что в известные ему платформы, на которых крутится AIDE — AIX 5L и AIX 6 не входят.

    Во-вторых почему автор треда начал тащить AIDE на AIX он как бы не пояснял. Замечу, что помимо данной проблемы на этапе конфигурирования aide он должен поймать еще кое-какие.

    В-третьих вы обратно немножко лоханулись ( см. FAIL ) сделав поспешные и непродуманные выводы.

    Статическая сборка у автора треда накрылась медным тазиком совершенно не из-за неподдержки AIX-ом статических бинарников, а всего-то из-за того, что configure подразумевает использование GNU ld. Естественно, что ключи у GNU ld и ld немного разные. Чинится это счастье секунд за 8.

  • #5283

    Nikolay Logvinov
    Участник

    Ну, что ж, проблемы с логикой оставим в стороне.

    Чтобы не вводить людей в заблуждение, укажите, пожалуйста, где Вы нашли информацию, что в AIX используется переменная окружения LD_PRELOAD?

  • #5285

    kir
    Хранитель

    Logvinon писал(а):

    Ну, что ж, проблемы с логикой оставим в стороне.

    Что ж, ну оставим.

    Чтобы не вводить людей в заблуждение, укажите, пожалуйста, где Вы нашли информацию, что в AIX используется переменная окружения LD_PRELOAD?

    Факт существования переменных LDR_PRELOAD и LDR_PRELOAD64 и механизм их действия описан ( surprise, surprise ) в документации по AIX.

  • #5286

    Nikolay Logvinov
    Участник

    Если бы Вы упомянули, что это верно до AIX версии 5.3 включительно, то это была бы твердая пятерка. А чтобы это работало в версии AIX 6.1 надо отключить RBAC (и перегрузиться):
    # chdev -l sys0 -a enhanced_RBAC=false

  • #5287

    kir
    Хранитель

    Logvinon писал(а):

    Если бы Вы упомянули, что это верно до AIX версии 5.3 включительно, то это была бы твердая пятерка.

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

    А чтобы это работало в версии AIX 6.1 надо отключить RBAC (и перегрузиться):
    # chdev -l sys0 -a enhanced_RBAC=false

    Молодец, нашел.

Для ответа в этой теме необходимо авторизоваться.