dpkg 1.16.1: podniesiono bezpieczeństwo systemu na poziomie kompilatora
Wrześniowa aktualizacja pakietu dpkg do wersji 1.16.1 przeszła bez większego echa. Zupełnie niesłusznie, bowiem przyniosła ona dość ważną zmianę — w tym wydaniu do domyślnych flag kompilatora dodano opcje podnoszące poziom bezpieczeństwa systemu („hardening flags”).Do ustawiania flag kompilatora służy teraz aplikacja dpkg-buildfags
(wcześniej robił to bezpośrednio dpkg-buildpackage
). Domyślnie ustawia wszystkie związane z bezpieczeństwem opcje, z wyjątkiem dwóch, które w pewnych sytuacjach mogą być problematyczne: PIE oraz bindnow. W razie potrzeby można dodać lub usunąć wybraną flagę przy użyciu zmiennej $DEB_BUILD_MAINT_OPTIONS
.
Przy zwykłym użyciu dpkg-buildflags
eksportuje zmienne powłoki zawierające flagi kompilatora:
CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security
CPPFLAGS=-D_FORTIFY_SOURCE=2
CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security
FFLAGS=-g -O2
LDFLAGS=-Wl,-z,relro
Można również wyeksportować wynik do formatu Makefile lub do użycia bezpośrednio w skrypcie ./configure
. Pakiety budowane z użyciem CDBS korzystają już z tych flag, podobnie jak te z ustawieniem zgodności debhelpera na poziomie 9 (zawierające „9” w pliku debian/compat
).
Więcej informacji na temat zmian w pakiecie dpkg można znaleźć w wiadomości źródłowej. Szczegóły na temat dpkg-buildflags
znajdują się w podręczniku systemowym dpkg-buildflags(1)
.
Źródło: lists.debian.org/debian-devel-announce/2011/09/msg00001.html
Dodany: 12 lis 2011 o 11:54
przez: azhag
Komentarze (RSS):
taki autoprztyczek ;) wybaczcie, że tak późno sam się zorientowałem
Jeśli 100% systemu serwerowego dostanie PIE i Bindnow, to Debian wróci do systemów, które spokonie mogę polecić na serwer internetowy.
Na desktopie na razie reszta, choć osobiscię mam na Gentoo i bindnow i PIE i znacznie mniej problemów, niż mieć powinienem.
Ciekawe, kiedy nowy system flag trafi "pod strzechy" - i czy już do Wheezy, czy tylko do Sida.
Pozdro
;-)
Pisząc, "trafi pod strzechy" mam na myśli praktycznie wszystko, co działa w kompie, a nie konfig dpkg ;)
W Ubuntu zaczęli od wersji 8.10, dość agresywnie, a do tej pory nie skończyli wdrażania tych flag.
Poza tym nie trzeba chyba nikomu tłumaczyć, dlaczego po zmianie flag, jakimi się posługuje główny kompilator praktycznie całe repozytorium jest do roboty, jeśli ma być taki spójny i stabilny system, jak dotychczas.
Np w Gentoo zmiana Cflags w takim stopniu oznacza przebudowanie całego systemu, nawet, jeśli nie było zmiany kompilatora.
Także Developerzy Debiana będą z tym mieli trochę więcej zabawy, z pewnością.
I troszkę łatek będzie trzeba napisać, albo pożyczyć od innych dystrybucji.
Pozdro
;-)
Ale jest wskaźnikiem lepszym niż te jaskółki. Praktycznie wszystko (chyba, że ktoś się postarał, aby było inaczej) co wchodzi do repozytorium lub jest przebudowywane w związku ze zmianami bibliotek jest kompilowane z nowymi flagami.
> w Gentoo zmiana Cflags w takim stopniu oznacza
> przebudowanie całego systemu
W Gentoo przebudowę (prawie) całego systemu oznacza tyle rzeczy, że chyba nawet na tej liście znajduje się pierwsza sobota miesiąca. ;)
Co mi przypomina, żeby pogadać z kimś, aby zrobił porządek z tym *^%*&% Perlem na pewnym serwerze...
> że chyba nawet na tej liście znajduje się pierwsza sobota miesiąca. ;)
:)