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

OSnews Wykop Blip Flaker Kciuk Śledzik Facebook Identi.ca Twitter del.icio.us Google Bookmarks

Komentarze (RSS):

1  azhag, dodany: 2011-11-12 12:04 #1464
> przeszła bez większego echa

taki autoprztyczek ;) wybaczcie, że tak późno sam się zorientowałem

2  Gość: Van, dodany: 2011-11-13 02:23 #1466
Wybaczamy :D

3  Jacekalex, dodany: 2011-11-15 03:46 #1468
NARESZCIE
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
;-)

4  azhag, dodany: 2011-11-15 07:56 #1469
Nowy dpkg jest już w Wheezym (ba! już 1.16.1.1).

5  Jacekalex, dodany: 2011-11-20 15:17 #1483
Dpkg wiosny nie czyni, jeszcze trzeba, żeby wsio, co jest napisane w C i C++ te flagi dostało, a to już lwia cześć z 230000 pakietów, jakie są w repozytoriach.
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
;-)

6  azhag, dodany: 2011-11-20 21:29 #1486
> Dpkg wiosny nie czyni

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...



7  ArnVaker, dodany: 2011-11-23 16:58 #1492
> W Gentoo przebudowę (prawie) całego systemu oznacza tyle rzeczy,
> że chyba nawet na tej liście znajduje się pierwsza sobota miesiąca. ;)

:)

Dodaj komentarz jako gość lub zaloguj się.


Podpis: