Hardened Gentoo на основе GCC 4.3 (делимся опытом)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Nikoli писал(а):
25.07.2008 21:59
sspphheerraa писал(а):
22.07.2008 19:39
Кроме того, в процессе сборки можно увидеть:

* updating configuration to build hardened GCC
* hardened is not supported for this arch in this gcc version

так что hardened на gcc-4* не более чем fake... sleep.gif


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

Я не думаю, что разработчики добавили use flag hardened шутки ради или по ошибки. Я собрал hardened Gentoo на основе gcc 4.3 и sys-kernel/hardened-sources, которая вполне работает и обладает дополнительной защитой.

Если загрузится с ядром из hardened-sources, в котором включены все защиты, то система не будет работать, если она собрана без поддержки этой защиты.

На самом деле я даже рад, если оказался не прав :)
Раз оно на самом деле рабочее, то и хорошо. Просто, помимо этого варнинга меня смутило еще и отсутствие профилей (vanilla, hardenednopie, etc) которые есть в gcc-3*
Заглянув в ебилд, увидел

Код: Выделить всё

# whether we should split out specs files for multiple {PIE,SSP}-by-default
# and vanilla configurations.
SPLIT_SPECS=no

т.е. все объединено.

Недолго думая решил собрать "утяжеленный" десктоп на основе gcc-4.3.1-r1.
Я выбрал профиль */selinux/2007.0/amd64/hardened (в нем меньше масок, например nvidia-drivers не помечены).
Сам процесс пересборки аналогичен упомянутому в первом посте (переключение профиля, апгрейд тулчейна, переключение тулчейна, пересборка тулчейна, пересборка системы, пересборка мира + "emerge --depclean && revdep-rebuild").

Из 502 пакетов с ошибкой вылетело только 16. Все были решены путем апгрейда (добавление новой версии в package.keywords).
Klamav действительно не собирается ---> Bug #226749, но я его вообще снес, т.к. imho не нужен (к тому же мне не удалось заставить его правильно отображать русский).

Пересобрал hardened-sources с включенными pax, grsecurity, selinux. Настроил "desktop" политику SELinux по хендбуку. Перегрузился.

Сутки проработал, полет нормальный.



Мелочи:
  • Вместо sys-boot/grub используется sys-boot/grub-static
  • В профиле выключен флаг x264 (включается комментом соответствующей строки в use.mask).
  • Для ОО отключил часть защит (по методу Nikoli). Субъективно он стал быстрее работать (запускается за 3 сек). Не знаю с чем связано, с профилем hardened или с новым флагом -march (до этого был =k8, сейчас =athlon64, хотя согласно man gcc эти значения являются синонимами). Но на предыдущей системе он работал явно медленее. ОО самосборный.
  • Hardened ядро дольше загружается.



ps Если кому какие подробности интересны - спрашивайте не стесняйтесь :)
Sspphheerraa
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Nikoli »

sspphheerraa
рад, что всё получилось :)

Время загрузки ядра я не измерял, но сверхбыстрым назвать его не могу.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Nikoli писал(а):
04.08.2008 00:41
sspphheerraa
рад, что всё получилось :)

Так или иначе, остаются уязвимыми memcpy. И еще отсутствие рандомизации по трем пунктам.
Вот здесь примЕрный тест. Надо копать еще :console:

Nikoli писал(а):
04.08.2008 00:41
Время загрузки ядра я не измерял, но сверхбыстрым назвать его не могу.

Да, причем дольше загружаются hardened-sources сами по себе (почти одинаково, что с включенной защитой, что без).


ps Nikoli, измени название темы, добавь, что здесь про hardened все-таки речь идет.
Sspphheerraa
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Nikoli »

sspphheerraa писал(а):
04.08.2008 16:26
Так или иначе, остаются уязвимыми memcpy.

http://www.gentoo.org/proj/en/hardened/grsecurity.xml
strcpy and memcpy are listed as Vulnerable. This is expected and normal - it is simply showing the need for a technology such as ProPolice/SSP

http://en.wikipedia.org/wiki/ProPolice#GCC....28ProPolice.29
By default, stack-smashing protection can be attained by adding the -fstack-protector flag for string protection, or -fstack-protector-all for protection of all types. On some systems, as under OpenBSD, ProPolice is enabled by default, and the -fno-stack-protector flag disables it. With GCC 4.1 and above the array size threshold for stack-smashing protection to be enabled can be tuned with --param ssp-buffer-size=....

http://www.gentoo.org/proj/en/hardened/pax-quickstart.xml
Note: In newer versions of SSP, it is possible to apply SSP to all functions, adding protection to functions whose buffer would normally be below the size limit for SSP. This is enabled via the CFLAG -fstack-protector-all.

мне очень любопытно собраны ли наши системы с -fstack-protector-all ? Я подозреваю, что имеет смысл добавить этот флаг и посмотреть его действие. Как узнать с какими флагами gcc собирает?
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Nikoli писал(а):
05.08.2008 02:00
мне очень любопытно собраны ли наши системы с -fstack-protector-all ? Я подозреваю, что имеет смысл добавить этот флаг и посмотреть его действие. Как узнать с какими флагами gcc собирает?

По-моему можно глянуть коммандой "gcc" в папке с исходниками (надо покурить man gcc). С другой строны, я так понимаю, не будет учитываться CFLAGS переменная в этом случае.

Если через emerge, то наверное надо смотреть в лог билда, или прямо на текст во время компиляции. Вот напрмер, выдержка текста выводимого при компиляции на экран:

Код: Выделить всё

 cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include -DLBER_LIBRARY -c io.c -o io.o >/dev/null 2>&1
 cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include -DLBER_LIBRARY -c bprint.c  -fPIC -DPIC -o .libs/bprint.o
 cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include -DLBER_LIBRARY -c bprint.c -o bprint.o >/dev/null 2>&1
/bin/sh ../..//libtool  --mode=compile cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include     -DLBER_LIBRARY -c debug.c
/bin/sh ../..//libtool  --mode=compile cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include     -DLBER_LIBRARY -c memory.c
 cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include -DLBER_LIBRARY -c debug.c  -fPIC -DPIC -o .libs/debug.o
 cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include -DLBER_LIBRARY -c debug.c -o debug.o >/dev/null 2>&1
 cc -march=k8 -O3 -pipe -D_GNU_SOURCE -I../../include -I../../include -DLBER_LIBRARY -c memory.c  -fPIC -DPIC -o .libs/memory.o
/bin/sh ../..//libtool  --mode=compile

Смотреть отдельно взятую _строку_
Осмелюсь предположить, что здесь компилится только с "-march=k8 -O3 -pipe -fPIC -DPIC -D_GNU_SOURCE" флагами.


Думаю если мне добавить еще -fstack-protector-all, то с ошибками вывалятся уже не 16 пакетов. :happy:
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Думаю на выходных пересобрать систему с этим флагом.
По поводу CFLAGS, полезная ссылка - http://gentoo-wiki.com/CFLAGS_matrix
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

sspphheerraa писал(а):
07.08.2008 21:30
Думаю на выходных пересобрать систему с этим флагом.

Фонарь! glibc валится с ошибкой:

Код: Выделить всё

checking for .preinit_array/.init_array/.fini_array support... no
configure: error: Need linker with .init_array/.fini_array support.

баг висит уже давно, причем
Status: CLOSED
Resolution: INVALID
Remove -fstack-protector -fstack-protector-all from your C[XX]FLAGS. If you
need similar features, use a proper hardened profile.

не судьба? :blush:
Sspphheerraa
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Nikoli »

Возможно это одно из проявлений не полной готовности hardened gcc 4

Через пару недель попробую сам собрать и отпишусь здесь.
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Nikoli »

Много полезного показывает gcc -v

Код: Выделить всё

Используются внутренние спецификации.
Целевая архитектура: x86_64-pc-linux-gnu
Параметры конфигурации: /tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.3.1 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.1 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.1/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.3.1/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-cld --disable-libgcj --enable-languages=c,c++,treelang --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.3.1-r1 p1.1'
Модель многопотоковости: posix
gcc версия 4.3.1 (Gentoo 4.3.1-r1 p1.1)


Многое объясняет /usr/portage/eclass/toolchain.eclass
Там есть очень любопытные переменные вида "want_"

Обнаружил любопытную тему http://forums.gentoo.org/viewtopic-t-66888...sc-start-0.html

Насколько я сейчас вижу, с hardened GCC 4.3 неприятности во многом из-за плохой слаженности разработчиков...
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Nikoli писал(а):
09.08.2008 23:15
Через пару недель попробую сам собрать и отпишусь здесь.

Давай, можешь сразу с glibc начать :)

http://forums.gentoo.org/viewtopic-p-5180072.html#5180072
[17] x86_64-pc-linux-gnu-4.3.1 *
[18] x86_64-pc-linux-gnu-4.3.1-nofortify
[19] x86_64-pc-linux-gnu-4.3.1-nopie
[20] x86_64-pc-linux-gnu-4.3.1-nossp_all
[21] x86_64-pc-linux-gnu-4.3.1-strict
[22] x86_64-pc-linux-gnu-4.3.1-vanilla

а у меня нет таих профилей.

Возможно это одно из проявлений не полной готовности hardened gcc 4

ага, причем paxtest на gcc-3 выдает больше уязвимостей, чем на gcc-4
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

OO также вывалился,

Код:

-fmessage-length=0 -c -O2 -fno-strict-aliasing -Wuninitialized -I/usr/include/python2.5 -I. -I../../unxlngx6.pro/inc/pythonloader.uno -I../inc -I../../inc/pch -I../../inc -I../../unx/inc -I../../unxlngx6.pro/inc -I. -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/incdont_use_stl -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/inc/external -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/inc -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/unxlngx6/inc -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/inc -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/res -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/incdont_use_stl -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/inc/Xp31 -INO_JAVA_HOME/include -INO_JAVA_HOME/include/linux -INO_JAVA_HOME/include/native_threads/include -Idefault_x_includes -I/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/inc/offuh -I. -I../../res -I. -pipe -march=athlon64 -pipe -DGL_GLEXT_PROTOTYPES -Wall -Wextra -Wendif-labels -fpic -DLINUX -DUNX -DVCL -DGCC -DC341 -DX86_64 -DCVER=C341 -DNPTL -DGLIBC=2 -DX86_64 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DGXX_INCLUDE_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/include/g++-v4 -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DGSTREAMER -DCUI -DOOH680=OOH680 -DSHAREDLIB -D_DLL_ -o ../../unxlngx6.pro/slo/pythonloader.uno_version.o ../../unxlngx6.pro/misc/pythonloader.uno_version.c if test -e ../../unxlngx6.pro/slo/pythonloader.uno_version.o ; then touch ../../unxlngx6.pro/slo/pythonloader.uno_version.obj ; fi Making: ../../unxlngx6.pro/slo/pyuno_loader.obj ------------------------------ Making: ../../unxlngx6.pro/slb/pythonloader.uno.lib echo unxlngx6.pro/slo/pyuno_loader.o | xargs -n1 > ../../unxlngx6.pro/slb/pythonloader.uno.lib ------------------------------ Making Module-Definitionfile : ../../unxlngx6.pro/misc/pythonloader.uno.def just a dummy for UNIX tr -d "\015" < /var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/src/component.map | awk -f /var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/bin/addsym.awk > ../../unxlngx6.pro/misc/component_pythonloader.uno.map ------------------------------ Making: ../../unxlngx6.pro/lib/pythonloader.uno.so x86_64-pc-linux-gnu-g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo -Wl,-rpath,'$ORIGIN:$ORIGIN/../ure-link/lib' -shared -Wl,--version-script ../../unxlngx6.pro/misc/component_pythonloader.uno.map -L../../unxlngx6.pro/lib -L../lib -L/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/unxlngx6/lib -L/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/lib -L/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/unxlngx6/lib -LNO_JAVA_HOME/lib64 -LNO_JAVA_HOME/jre/lib/amd64 -LNO_JAVA_HOME/jre/lib/amd64/server -LNO_JAVA_HOME/jre/lib/amd64/native_threads -L/usr/lib64 ../../unxlngx6.pro/slo/pythonloader.uno_version.o -o ../../unxlngx6.pro/lib/pythonloader.uno.so ../../unxlngx6.pro/slo/pyuno_loader.o -luno_cppu -luno_cppuhelpergcc3 -luno_sal -lpyuno -lpython2.5 -ldl -lpthread -lm rm -f ../../unxlngx6.pro/lib/check_pythonloader.uno.so mv ../../unxlngx6.pro/lib/pythonloader.uno.so ../../unxlngx6.pro/lib/check_pythonloader.uno.so /var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solenv/bin/checkdll.sh -L../../unxlngx6.pro/lib -L/var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/solver/680/unxlngx6.pro/lib ../../unxlngx6.pro/lib/check_pythonloader.uno.so Checking DLL ../../unxlngx6.pro/lib/check_pythonloader.uno.so ...: ok -rwxr-xr-x+ 1 root root 31945 Aug 17 10:32 ../../unxlngx6.pro/lib/pythonloader.uno.so ------------- cp pythonloader.py ../../unxlngx6.pro/lib/pythonloader.py rm -f ../../unxlngx6.pro/lib/pyuno_services.rdb ../../unxlngx6.pro/lib/pyuno_services.tmp ../../unxlngx6.pro/lib/pyuno_services.rdb cd ../../unxlngx6.pro/lib && regcomp -register -r pyuno_services.tmp -c stocservices.uno -c invocation.uno -c introspection.uno -c invocadapt.uno -c proxyfac.uno -c reflection.uno -c pythonloader.uno terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc /bin/bash: line 1: 23151 Aborted regcomp -register -r pyuno_services.tmp -c stocservices.uno -c invocation.uno -c introspection.uno -c invocadapt.uno -c proxyfac.uno -c reflection.uno -c pythonloader.uno dmake: Error code 134, while making '../../unxlngx6.pro/lib/pyuno_services.rdb' ---* tg_merge.mk *--- ERROR: Error 65280 occurred while making /var/tmp/portage/app-office/openoffice-2.4.1/work/ooo/build/OOH680_m17/pyuno/source/loader make: *** [stamp/build] Error 1 * * ERROR: app-office/openoffice-2.4.1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 5417: Called die * The specific snippet of code: * make || die "Build failed" * The die message: * Build failed * * If you need support, post the topmost build error, and the call stack if relevant. * The ebuild environment file is located at '/var/tmp/portage/app-office/openoffice-2.4.1/temp/environment'. * !!! When you file a bug report, please include the following information: GENTOO_VM= CLASSPATH="" JAVA_HOME="" JAVACFLAGS="" COMPILER="" and of course, the output of emerge --info

:(
Sspphheerraa
Спасибо сказали:
Kris
Сообщения: 146
Статус: Безумный гентушник

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Kris »

Уже как две недели на gcc 4.3, все отлично ;-)

Код:

emerge --info WARNING: repository at /usr/local/portage is missing a repo_name entry Portage 2.2_rc8 (default/linux/amd64/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.26-gentoo x86_64) ================================================================= System uname: Linux-2.6.26-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-glibc2.2.5 Timestamp of tree: Mon, 18 Aug 2008 07:34:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6-r1 dev-lang/python: 2.5.2-r7 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r3 sys-devel/autoconf: 2.13, 2.62-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r4 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=coreOO также вывалился,2 -O2 -pipe -msse -msse2 -msse3 -mmmx" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=core2 -O2 -pipe -msse -msse2 -msse3 -mmmx" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distri...ns/gentoo" LANG="ru_RU.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1" LINGUAS="ru" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="7zip X acl additions alsa amd64 berkdb bzip2 cli cracklib crypt cups dbus dri dvd exaile fortran gdbm gimp gnome gpm gtk hald hddtemp iconv ipv6 irc isdnlog java jpeg libburn midi mmx mudflap multilib ncurses nls nptl nptlonly nvidia ogg opengl openmp pam pcre perl png pppd python readline reflection session spell spl sse sse2 ssl sysfs tcpd unicode xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


OO также вывалился

У меня собралсо отлично ;)
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Kris, оффтоп.
Здесь речь про Hardened Gentoo идет.


# default/linux/amd64/2008.0
# CFLAGS="-march=core2 -O2 -pipe -msse -msse2 -msse3 -mmmx"

С такими данными я бы удивился если бы они не собрались :)
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Klamav собрался :drinks:
Новая версия 0.44 (уже в протежах)
Sspphheerraa
Спасибо сказали:
different
Сообщения: 94
ОС: Leenooks
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение different »

Делюсь опытом :)

Собрал сервер на основе hardened, GCC4.

Собралось все и без проблем (мб, потому, что собирал на этапе установки).

Мой paxtest:

Код: Выделить всё

Mode: blackhat
Linux localhost 2.6.25-hardened-r5 #1 SMP Sun Sep 14 11:45:19 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

Executable anonymous mapping             : Killed
Executable bss                           : Killed
Executable data                          : Killed
Executable heap                          : Killed
Executable stack                         : Killed
Executable anonymous mapping (mprotect)  : Killed
Executable bss (mprotect)                : Killed
Executable data (mprotect)               : Killed
Executable heap (mprotect)               : Killed
Executable stack (mprotect)              : Killed
Executable shared library bss (mprotect) : Killed
Executable shared library data (mprotect): Killed
Writable text segments                   : Killed
Anonymous mapping randomisation test     : 33 bits (guessed)
Heap randomisation test (ET_EXEC)        : 13 bits (guessed)
Heap randomisation test (ET_DYN)         : 40 bits (guessed)
Main executable randomisation (ET_EXEC)  : No randomisation
Main executable randomisation (ET_DYN)   : No randomisation
Shared library randomisation test        : 33 bits (guessed)
Stack randomisation test (SEGMEXEC)      : 40 bits (guessed)
Stack randomisation test (PAGEEXEC)      : 40 bits (guessed)
Return to function (strcpy)              : paxtest: bad luck, try different compiler options.
Return to function (memcpy)              : Vulnerable
Return to function (strcpy, RANDEXEC)    : paxtest: bad luck, try different compiler options.
Return to function (memcpy, RANDEXEC)    : Vulnerable
Executable shared library bss            : Killed
Executable shared library data           : Killed


Не завелся только apache2.

Ошибка:
no listening sockets available, shutting down
Unable to open logs

strace ошибки:

Код: Выделить всё

<...>
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
open("/etc/group", O_RDONLY)            = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
lseek(3, 0, SEEK_CUR)                   = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=518, ...}) = 0
mmap(NULL, 518, PROT_READ, MAP_SHARED, 3, 0) = 0x7fc4fa098000
lseek(3, 518, SEEK_SET)                 = 518
munmap(0x7fc4fa098000, 518)             = 0
close(3)                                = 0
stat("/var/www/localhost/www/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
brk(0x774000)                           = 0x774000
brk(0x796000)                           = 0x796000
open("/var/run/apache2.pid", O_RDONLY)  = -1 ENOENT (No such file or directory)
write(2, "no listening sockets available, "..., 46no listening sockets available, shutting down
) = 46
write(2, "Unable to open logs\n", 20Unable to open logs
)   = 20


Очень мне не нравятся No such file or directory... Защиты для apache2 выключать пробовал, эффекта нет.
Увидел nscd в трейсе, запустил, эффекта нет. Так же вываливается.

p.s нашел интересную особенность. stage3 собран gcc-4.1, при том, что сам gcc-4.1 по дефолту masked (ставится gcc3). Глюки? :)
p.s.s что есть paxtest: bad luck, try different compiler options. ? Каких именно опций он хочет?
Laptop: Sony Vaio VGN-FZ31ER [Gentoo 2008.0, kernel 2.6.30 x86_64 with BFQ, BFS, reiser4, gentoo patchset, fbcondecor]
Desktop: AMD Athlon 64 x2, 4GB RAM, nVidia 9600GT, 160GB HDD [Windows XP]
Downloader: AMD Athlon 64, 1GB RAM, 1TB HDD [Gentoo 2008.0, kernel 2.6.29, rTorrent + wTorrent]
Спасибо сказали:
Аватара пользователя
Snupt
Бывший модератор
Сообщения: 2062
Статус: No Place for RTFM Here…
ОС: Mac OS X
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Snupt »

different писал(а):
16.09.2008 21:28
p.s нашел интересную особенность. stage3 собран gcc-4.1, при том, что сам gcc-4.1 по дефолту masked (ставится gcc3). Глюки?

Думаю что фича.
different писал(а):
16.09.2008 21:28
Не завелся только apache2

А пробовали его более старшей версией собирать? Может не в gcc проблема.
Спасибо сказали:
different
Сообщения: 94
ОС: Leenooks
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение different »

Собрал родной джентушный 2.2.9 (вместо 2.2.9 r1) - та же ошибка.
Собрал официальный 2.0.68 - работает на ура.

Мистика.. Врятли это GCC виноват, скорее - hardened + apache связка. Может, кто сталкивался с такой проблемой?
Laptop: Sony Vaio VGN-FZ31ER [Gentoo 2008.0, kernel 2.6.30 x86_64 with BFQ, BFS, reiser4, gentoo patchset, fbcondecor]
Desktop: AMD Athlon 64 x2, 4GB RAM, nVidia 9600GT, 160GB HDD [Windows XP]
Downloader: AMD Athlon 64, 1GB RAM, 1TB HDD [Gentoo 2008.0, kernel 2.6.29, rTorrent + wTorrent]
Спасибо сказали:
Nikoli
Сообщения: 554
Статус: Житель
ОС: Gentoo
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение Nikoli »

different
Обычно любопытные вещи пишутся в dmesg|tail -n 200
смотрел?

вероятность ошибочных прав доступа и отсутствия каталогов перепроверил?
Спасибо сказали:
different
Сообщения: 94
ОС: Leenooks
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение different »

В dmesg не слова про apache вообще. Пути, доступы - проверял, все есть.. Пробовал даже из-под рута запустить - эффект тот же.

p.s. на другой машине тот же самый апач собрался и работает, мистика. Но там не hardened.
Laptop: Sony Vaio VGN-FZ31ER [Gentoo 2008.0, kernel 2.6.30 x86_64 with BFQ, BFS, reiser4, gentoo patchset, fbcondecor]
Desktop: AMD Athlon 64 x2, 4GB RAM, nVidia 9600GT, 160GB HDD [Windows XP]
Downloader: AMD Athlon 64, 1GB RAM, 1TB HDD [Gentoo 2008.0, kernel 2.6.29, rTorrent + wTorrent]
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

different, покажи emerge --info
baselayout второй ставил?
собирал в просессе установки, это как - установка со stage1?



ps. На сколько я знаю, в dmesg пишется только инфа про оборудование/ядро, а апач это чисто софтовая область.
Sspphheerraa
Спасибо сказали:
different
Сообщения: 94
ОС: Leenooks
Контактная информация:

Re: Hardened Gentoo на основе GCC 4.3

Сообщение different »

Странно. Очень.

emerge --unmerge apache apache-tools apachetop
USE="ssl suexec threads sni" apache apache-tools apachetop
emerge --config =apache-2.2.9-r1

/etc/init.d/apache2 -v start

Заработало. Мистика. До этого - ставил из сорцов.. Больше ничего не менял.
Laptop: Sony Vaio VGN-FZ31ER [Gentoo 2008.0, kernel 2.6.30 x86_64 with BFQ, BFS, reiser4, gentoo patchset, fbcondecor]
Desktop: AMD Athlon 64 x2, 4GB RAM, nVidia 9600GT, 160GB HDD [Windows XP]
Downloader: AMD Athlon 64, 1GB RAM, 1TB HDD [Gentoo 2008.0, kernel 2.6.29, rTorrent + wTorrent]
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

Sspphheerraa
Спасибо сказали:
Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Hardened Gentoo на основе GCC 4.3

Сообщение damex »

CFLAGS="-O2 -mtune=native -march=native -mmmx -msse -msse2 -mssse3 -msse4.1 -mfpmath=sse -pipe -fomit-frame-pointer"
MAKEOPTS="-j5"
ACCEPT_KEYWORDS="~amd64"



все собралось и функционирует как положено ^_^
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

damex, просьба указывать профиль и версию gcc.
Sspphheerraa
Спасибо сказали:
Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Hardened Gentoo на основе GCC 4.3

Сообщение damex »

Код: Выделить всё

sys-devel/gcc-4.3.2


Код: Выделить всё

/etc/make.profile -> /usr/portage/profiles/hardened/amd64/multilib/


^_^

ах да ещё ...

Код: Выделить всё

Mode: blackhat
Linux u2 2.6.26-hardened-r4 #3 SMP PREEMPT Sat Oct 18 05:17:22 UTC 2008 x86_64 Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz GenuineIntel GNU/Linux

Executable anonymous mapping             : Killed
Executable bss                           : Killed
Executable data                          : Killed
Executable heap                          : Killed
Executable stack                         : Killed
Executable anonymous mapping (mprotect)  : Killed
Executable bss (mprotect)                : Killed
Executable data (mprotect)               : Killed
Executable heap (mprotect)               : Killed
Executable stack (mprotect)              : Killed
Executable shared library bss (mprotect) : Killed
Executable shared library data (mprotect): Killed
Writable text segments                   : Killed
Anonymous mapping randomisation test     : 33 bits (guessed)
Heap randomisation test (ET_EXEC)        : 13 bits (guessed)
Heap randomisation test (ET_DYN)         : No randomisation
Main executable randomisation (ET_EXEC)  : 33 bits (guessed)
Main executable randomisation (ET_DYN)   : No randomisation
Shared library randomisation test        : 33 bits (guessed)
Stack randomisation test (SEGMEXEC)      : No randomisation
Stack randomisation test (PAGEEXEC)      : 40 bits (guessed)
Return to function (strcpy)              : paxtest: return address contains a NULL byte.
Return to function (memcpy)              : Vulnerable
Return to function (strcpy, RANDEXEC)    : paxtest: return address contains a NULL byte.
Return to function (memcpy, RANDEXEC)    : Vulnerable
Executable shared library bss            : Killed
Executable shared library data           : Killed
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:
integer
Сообщения: 24
ОС: GNU/Linux Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение integer »

1) Может кто-то показать опции menuconfig ? а то не получается старта, ядро оопсом падает.
2) Как посмотреть в hardened системе ( USE=hardened toolchain + profile) какие опции компилятора добавляются в сравнении с не харденед.
3) SSP по умолчанию отключен в генту? 0о ( впринципи ответ кроется во втором вопросе)
Спасибо сказали:
Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Hardened Gentoo на основе GCC 4.3

Сообщение damex »

integer писал(а):
20.10.2008 02:17
1) Может кто-то показать опции menuconfig ? а то не получается старта, ядро оопсом падает.

вот пример рабочего конфига ( прикреплено к сообщению ) от него и отталкивайтесь при настройке :)
Вложения
config.tar.bz2
(8.68 КБ) 30 скачиваний
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:
integer
Сообщения: 24
ОС: GNU/Linux Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение integer »

а 2) и 3)
и работают ли у вас хибернейты т.к. юзаю пока tuxonice-sources?
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Hardened Gentoo на основе GCC 4.3

Сообщение sspphheerraa »

SSP это флаг компилятора, и сам gentoo как таковой здесь не причем. Все зависит от того какой и как собран у тебя gcc.
Hardened это серверный профиль, а на серверах гибернация нафих не нужна. Следовательно оно или будет костылем, или вообще не будет работать.
И ядро нужно брать sys-kernel/hardened-sources
Sspphheerraa
Спасибо сказали:
Аватара пользователя
damex
Сообщения: 276
Статус: segfault in your face
ОС: Hardened Funtoo x86_64

Re: Hardened Gentoo на основе GCC 4.3

Сообщение damex »

гибернация у мну васяко с запущенными иксами завелась :) ( to ram ) как положено ... а из консоли ни как =(
а вот to disk в любом положении работает xD
Non-technical questions sometimes don't have an answer at all. @ Linus Torvalds
Спасибо сказали:
Ответить