RPM/hardening: различия между версиями
< RPM
Vt (обсуждение | вклад) мНет описания правки |
Vt (обсуждение | вклад) Нет описания правки |
||
Строка 8: | Строка 8: | ||
Также наш GCC всегда передает линкеру: <tt>-pie -z now</tt> и <tt>--as-needed</tt>. | Также наш GCC всегда передает линкеру: <tt>-pie -z now</tt> и <tt>--as-needed</tt>. | ||
= Можно добавить в CFLAGS = | |||
* <tt>-fanalyzer</tt>, но остерегайтесь ложных срабатываний, а так же эта опция потребляет много памяти. | |||
= CFLAGS для тестирования пакета = | |||
Нельзя добавлять в итоговый пакет, но полезно использовать для (периодического) тестирования. | |||
* <tt>-fsanitize=address</tt>. (NB: Медленно работает leak detector на aarch64 (отключается <tt>ASAN_OPTIONS=detect_leaks=0</tt>).) | |||
{{Category navigation|title=RPM|category=RPM}} | {{Category navigation|title=RPM|category=RPM}} |
Версия от 23:01, 28 мая 2022
Включено по умолчанию в GCC
Эти опции не нужно добавлять вручную в CFLAGS, так как они включены у нас в ALT по умолчанию. Список взят из info gcc поиском по ALT.*gcc
- -Wformat=2 и -Wformat-security
- -Wtrampolines
- -D_FORTIFY_SOURCE=2 (activated when -O2 or higher)
- -fstack-protector и -fstack-protector-strong
- -fstack-clash-protection
Также наш GCC всегда передает линкеру: -pie -z now и --as-needed.
Можно добавить в CFLAGS
- -fanalyzer, но остерегайтесь ложных срабатываний, а так же эта опция потребляет много памяти.
CFLAGS для тестирования пакета
Нельзя добавлять в итоговый пакет, но полезно использовать для (периодического) тестирования.
- -fsanitize=address. (NB: Медленно работает leak detector на aarch64 (отключается ASAN_OPTIONS=detect_leaks=0).)