Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-01-11 23:33:53

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Witam.
Chcialbym pociagnac watek o konfiguracji gentoo-hardened i stad moje pierwsze banalne pytanie :((

Kod:

ks3290849 ~ # cd /usr/src
ks3290849 src # ls
linux  linux-3.7.0-hardened
ks3290849 src # ^C
ks3290849 src # uname -a
Linux ks3290849.kimsufi.com 3.2.13-grsec-xxxx-grs-ipv6-32 #1 SMP Thu Mar 29 09:43:21 UTC 2012 i686 Intel(R) Atom(TM) CPU N2800 @ 1.86GHz GenuineIntel GNU/Linux
ks3290849 src # eselect profile list
Available profile symlink targets:
  [1]   default/linux/x86/10.0
  [2]   default/linux/x86/10.0/selinux
  [3]   default/linux/x86/10.0/desktop
  [4]   default/linux/x86/10.0/desktop/gnome
  [5]   default/linux/x86/10.0/desktop/kde
  [6]   default/linux/x86/10.0/developer
  [7]   default/linux/x86/10.0/server *
  [8]   hardened/linux/x86
  [9]   hardened/linux/x86/selinux
  [10]  hardened/linux/uclibc/x86

Mam malego dedyka w OVH. Zainstalowany jest kernel 3.2 standardowy z grsec z OVH. Zainstalowalem za pomoca emerge,  emerge hardened-sources i teraz mam pytanie co dalej ?  Jak mam podmienic ten kernel na gentoo-hardened ? Za pewne musze go przekompilowac ze swoimi opcjami, ktore sa w handbooku gentoo. Jakas porada ? Bo chcialbym tez skonfigurowac tu pax i grsec.

Pozdrawiam.

Ostatnio edytowany przez bryn1u (2013-01-11 23:37:09)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#2  2013-01-12 00:16:03

  torrentow - Członek Sejmowej Komisji Śledczej

torrentow
Członek Sejmowej Komisji Śledczej
Skąd: z GNU
Zarejestrowany: 2009-11-23

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Witam,
Musisz na początek dać

Kod:

 eselect profile set 8

Potem musisz skompilować jajko.
Ostatecznie zastosuj się do https://wiki.gentoo.org/wiki/Hardened_Gentoo
Pozdrawiam,
Towarzysz Torrentow


Każdy sam sobie szkodzi :)
http://img715.imageshack.us/img715/7104/apt.png

Offline

 

#3  2013-01-12 00:45:13

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

A nie powinienem najpierw skompilowac a pozniej zmienic na "set 8" ? Skad sie bierze ten "profile" w sensie, ze wybor jest na podstawie kernela w tym przypadku kernel 3.2 czy po po prostu jest to tak jabkby "szablon" dla gentoo ?


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#4  2013-01-12 00:46:48

  torrentow - Członek Sejmowej Komisji Śledczej

torrentow
Członek Sejmowej Komisji Śledczej
Skąd: z GNU
Zarejestrowany: 2009-11-23

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Witam,
Jest to obojętne.
Pozdrawiam,
Towarzysz Torrentow


Każdy sam sobie szkodzi :)
http://img715.imageshack.us/img715/7104/apt.png

Offline

 

#5  2013-01-12 00:49:16

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Profil to po prostu zestaw flag, zainstalowany/używany kernel nie ma na to wpływu żadnego.

Offline

 

#6  2013-01-12 04:24:14

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

To jest Gentoo-OVH czy czyste Gentoo?
Jeśli z OVH, to lepiej je wywal, a wsadź czyste oryginalne Gentoo, potem wybierasz profil, wybierasz kompilator, kompilujesz jajo, przebudowujesz world i gotowe.
W hardened każda wersja gcc ma takie opcje:

Kod:

 [6] x86_64-pc-linux-gnu-4.6.3 *
 [7] x86_64-pc-linux-gnu-4.6.3-hardenednopie
 [8] x86_64-pc-linux-gnu-4.6.3-hardenednopiessp
 [9] x86_64-pc-linux-gnu-4.6.3-hardenednossp
 [10] x86_64-pc-linux-gnu-4.6.3-vanilla

Odpalanie kernela z grsec na profilu default to poważne nieporozumienie i kompletne lamerstwo.
Np portage na profilu hardened automatycznie ustawia PT_PAX_FLAG, bez którego funkcja PAX_NOEXEC (jeśli jest obecna w jaju), potrafi uwalić niejedną  binarkę.
Nie wspominając np o MPROTECT, i innych zabawkach Paxa.

Używanie grsec/pax na profilu default, to proszenie się o kłopoty.

Z resztą zobacz ten wątek:
http://forum.dug.net.pl/viewtopic.php?id=19893

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-12 04:27:20)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2013-01-12 12:03:38

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

@Jaceklex chyba nie ma czegos takiego jak oryginalne gentoo. Oni tam maja swojego kernela. Dlatego chce wywalic przejsc na gentoo-hardened a nie ovh-"hardened".


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#8  2013-01-12 12:14:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Wypociny OVH nazywają się Release 2 (oparte na Gentoo), Gentoo zwie się Gentoo, obenie opisany jako Gentoo 2012.

Wybór w zależności od dystrybucji =>Linux napisał(-a):

Release 2, Linux Plesk 10 (CentOS 5), Linux Plesk 10 (CentOS 6), Linux Plesk 11 (CentOS 6), Linux Plesk 11 (Ubuntu), Linux Plesk 10 (Ubuntu), cPanel, cPanel (CentOS 6), DirectAdmin, ISPconfig 3, OVH Email Gateway, OwnCloud 4.5 (Debian 6) (BETA), Debian 6.0 Stable, Ubuntu Server 8.04, Ubuntu Server 10.04, Ubuntu Server 11.10, Ubuntu Server 12.04, Ubuntu Server 12.10, Ubuntu Desktop 10.04, Ubuntu Desktop 12.04, Red Hat Ent. Linux 5, Red Hat Ent. Linux 6, CentOS 5, CentOS 6, Gentoo 2012, Slackware 14, ArchLinux 2012, OpenSUSE 12.2, Fedora 17, VMware ESXi 5.0, VMware ESXi 4.1, Citrix Xen Server 6.1, Proxmox VE, SolusVM (Master), SolusVM (Slave), Parallels® Virtuozzo Containers 4.6

Sznurek:
https://www.ovh.pl/zamowienie/kimsufi.cgi

Poszukaj sobie lepsiejszego okulisty. :D

Ostatnio edytowany przez Jacekalex (2013-01-12 12:18:15)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2013-01-12 12:16:49

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Jaceklex ja z oczami nie mam problemu tylko ty chyba ze zrozumieniem. Podczas wyboru instalacji wybralem Gento 2012 32 bit wersja podstawowa bo tak sie to zwie ! Po instalacji mam to co napisalem w pierwszym poscie.


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#10  2013-01-12 12:25:01

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

To teraz masz trochę kombinacji.
Jakiś bałwan zrobił system bazowy na stage default pod grseca.
Musisz to przebudować na hardened, zaczynając od toolchaina, czyli gcc, glibc, virtual/libc,  binutils.
Najpierw przebudujesz system, potem world, i powinno być prawdziwe hardened.

Tu masz opisaną przeprowadzkę (migrację) na hardened:
http://wiki.gentoo.org/wiki/Hardened_Gentoo
Z tą uwagą, że przy każdym

Kod:

source /etc/profile

lepiej dać:

Kod:

env-update; source /etc/profile

I uwagą, ze po gcc i binutils najpierw trzeba przebudować libtool, potem   glibc nowym kompilatorem, potem resztę.
Zasada przebudowy profilu jest taka sama, jak przy aktualizacji gcc.
Pamiętaj o skrypcie fix_libtool_files.sh.

Tu masz wyjaśnienie rozmaitych kwestii "po polskiemu"
http://www.gentoo.org/proj/pl/hardened/hardenedfaq.xml
Dość dokładne, ale też dość zabytkowe.

Wersją z kolorowymi  obrazkami nie dysponuję niestety ;)

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-15 10:10:02)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#11  2013-01-12 17:46:05

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

....

#edit

Pytanie nieaktualne. W ogole na tym  ovh sa jakies straszne dziwne rzeczy zainstalowane.
Jestem juz posiadaczem jajka 3.7-hardened, profil zmieniony i teraz emerge --oneshot binutils gcc virtual/libc.


Dzieki wielkie z gory.
Pozdrawiam.

Ostatnio edytowany przez bryn1u (2013-01-12 20:43:27)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#12  2013-01-12 22:06:59

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

No i juz zaczely sie schody:

Kod:

emerge paxtest

 * IMPORTANT: 5 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Calculating dependencies... done!
[ebuild  N    ~] app-admin/paxtest-0.9.9-r2

The following keyword changes are necessary to proceed:
#required by paxtest (argument)
=app-admin/paxtest-0.9.9-r2 ~x86

Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT               ).

E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#13  2013-01-12 23:22:51

  torrentow - Członek Sejmowej Komisji Śledczej

torrentow
Członek Sejmowej Komisji Śledczej
Skąd: z GNU
Zarejestrowany: 2009-11-23

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Witam,
Wystarczy zrobić:

Kod:

 echo "=app-admin/paxtest-0.9.9-r2 ~x86" >> /etc/portage/package.keywords

A potem zmegrować.
Pozdrawiam,
Towarzysz Torrentow


Każdy sam sobie szkodzi :)
http://img715.imageshack.us/img715/7104/apt.png

Offline

 

#14  2013-01-13 00:36:53

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

No i juz zaczely sie schody:

emerge paxtest

* IMPORTANT: 5 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Calculating dependencies... done!
[ebuild  N    ~] app-admin/paxtest-0.9.9-r2

The following keyword changes are necessary to proceed:
#required by paxtest (argument)
=app-admin/paxtest-0.9.9-r2 ~x86

Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT ).

W Twojej stopce widzę taki podpis:

E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Czy możesz w tych ebookach znaleźć zakaz, lub radę, żeby w ogóle nie czytać komunikatów systemowych - zwracanych przez uruchomiony system i programy? :D

Bo przecież emerge napisał jak w Ubuntu, jakiego wpisu potrzebuje.
Nie napisał co prawda, że w package.keywords, ale to masz w manie i każdej instrukcji Napisał też, ze można użyć parametru .--autounmask-write  do zmiennej EMERGE_DEFAULT_OPTS="...", wtedy automatycznie będzie odmaskowywał pakiety z gałęzi ~.
Można też z palca

Kod:

emerge --autounmask-write paxtest

Tu masz instrukcję:
http://pl.gentoo-wiki.com/wiki/Portage
A tutaj starszą, ale pełniejszą wersję:
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?part=3

Tak wygląda przykładowy wpis w make.conf

Kod:

EMERGE_DEFAULT_OPTS="--ask --keep-going  --buildpkg  --autounmask-write --with-bdeps=y  --binpkg-respect-use=y"

Jest też:
RTFM:

Kod:

man emerge
man ebuild

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-13 00:50:13)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#15  2013-01-15 08:54:33

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Przeczytalem dokumentacje mam dodane flagi USE, probowalem uzywac tez tymsaowych flag, co wyczytalem w poradniku i tez dupa. Przerobilem pare tematow z google z tym samym problem i dalej stoje w miejscu. Moglby mi ktos wtlumaczyc na czym rzecz polega ?

Kod:

ks3290849 portage # emerge --emptytree --verbose @world

 * IMPORTANT: 5 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


These are the packages that would be merged, in order:

Calculating dependencies \

!!! Problem resolving dependencies for net-dns/bind from @selected          ..                            . done!

!!! The ebuild selected to satisfy "net-dns/bind" has unmet requirements.
- net-dns/bind-9.9.2_p1::gentoo USE="berkdb ipv6 ssl urandom -caps -dlz -doc -filter-aaaa -geoip -gost -gssapi -idn -ldap -mysql -odbc -postgres -python -rpz -rrl -sdb-ldap (-selinux) -static-libs -threads -xml"

  The following REQUIRED_USE flag constraints are unsatisfied:
    berkdb? ( dlz )

  The above constraints are a subset of the following complete expression:
    postgres? ( dlz ) berkdb? ( dlz ) mysql? ( dlz !threads ) odbc? ( dlz ) ldap? ( dlz ) sdb-ldap? ( dlz ) gost? ( ssl ) threads? ( caps )

(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

Ostatnio edytowany przez bryn1u (2013-01-15 09:28:23)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#16  2013-01-15 09:28:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Kod:

qlist -IvUqC bind
dev-libs/keybinder-0.3.0-r200 introspection python
net-dns/bind-9.9.2_p1 berkdb caps dlz doc filter-aaaa geoip gost idn ipv6 mysql python rpz rrl selinux ssl static-libs urandom xml
net-dns/bind-dns-keygen-9.3.2.39
net-dns/bind-tools-9.9.2 idn ipv6 readline ssl urandom xml
sec-policy/selinux-bind-2.20120725-r8

Zależności między flagami, flaga berkdb wymaga włączenia flagi dlz, podobnie, jak mysql, natomiast dlz nie może być użyta równocześnie z ithreads.

Moje flagi masz powyżej, wszystko działa.
Choć ja w domu mam binda do zabawy, na serwerze stosuj tylko te funkcje, które są potrzebne.
Dodatkowa niepotrzebna funkcja = dodatkowa biblioteka, = dodatkowe ryzyko dziury lub innego błędu.

I oczywiście emerge grzecznie napisał, ale użyszkodnik nie przeczytał :D

Lista flag z krótkim opisem, co jest co masz w poleceniu:

Kod:

equery u net-dns/bind

Equery pochodzi z pakietu gentoolkit.

Najlepiej weź sobie wrzuć Gentoo na Desktopa i pobaw się porthole, to taki Gentoowy "Synaptic", który ładnie i w kolorze pokazuje flagi, zależności, itp.
Potrzebuje środowiska graficznego, bazuje na gtk.

A tutaj masz conieco o bindzie:
http://en.gentoo-wiki.com/wiki/BIND

Zawsze też można sobie obejrzeć ebuilda do binda, jest napisany w bashu.
Sznurek:
http://data.gpo.zugaina.org/gentoo/net-dns/bind/bind-9.9.2_p1.ebuild
nawias oznacza wymagany, wykrzyknik negację.

Ostatnio edytowany przez Jacekalex (2013-01-15 09:37:50)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#17  2013-01-15 09:41:55

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

u mnie to wyglada tak

Kod:

ks3290849 portage # qlist -IvUqC bind
net-dns/bind-9.9.2_p1 berkdb dlz ipv6 ssl urandom xml
net-dns/bind-tools-9.9.2 ipv6 readline ssl xml

E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#18  2013-01-15 09:47:37

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Kod:

USE=" berkdb dlz caps  ipv6 ssl urandom idn" emerge  bind

Spróbuj tak.

Ostatnio edytowany przez Jacekalex (2013-01-15 09:48:35)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#19  2013-01-15 10:03:20

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Tak poszlo. To sa te flagi tymczasowe co wspomnialem. Nie wiem czemu wczesniej nie poszlo. Rzeczywiscie bind jest mi nie potrzebny, to jest nastepny (w sumie to byl) gratisowy dodatek od ovh. Hmm im wiecej roboty tym coraz bardziej mi sie to gentoo zaczyna podobac. Te kolorki wrecz przemawiaja do mnie.  Podziekowac.


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#20  2013-01-15 10:08:37

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Po to masz package.use, package.keywords i cały folder /etc/portage, żeby zrobić sobie własną konfigurację, przed instalacją, taką, jaką dokładnie potrzebujesz.

Tam można bardzo wiele ustalić, włącznie z flagami kompilatora ($CFLAGS) osobnymi dla poszczególnych paczek, automatycznym nakładaniem własnych łatek na źródła, czy nawet  selektywnym wyborem kompilatora i linkera dla poszczególnych paczek.
Takiej kontroli poza Gentoo (i jego klonami) oraz LFS nie ma żadna dystrybucja Linuxa.

I przede wszystkim czytaj, co system ma Ci do powiedzenia!

Ostatnio edytowany przez Jacekalex (2013-01-15 10:12:01)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#21  2013-01-15 22:51:26

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

OK, super, dzieki wielkie Jacekalex. Po wielkiej przeprawie udalo mi sie osiagnac zamierzony cel.:D

Kod:

ks3290849 bin # gcc-config -l
 [1] i686-pc-linux-gnu-4.6.3 *
 [2] i686-pc-linux-gnu-4.6.3-hardenednopie
 [3] i686-pc-linux-gnu-4.6.3-hardenednopiessp
 [4] i686-pc-linux-gnu-4.6.3-hardenednossp
 [5] i686-pc-linux-gnu-4.6.3-vanilla
ks3290849 bin # uname -a
Linux ks3290849.kimsufi.com 3.7.0-hardened #1 SMP Tue Jan 15 17:28:06 CET 2013 i686 Intel(R) Atom(TM) CPU N2800 @ 1.86GHz GenuineIntel GNU/Linux
ks3290849 bin #

Zostaje mi konfiguracja PaX'a. Duzo miales z tym roboty ? Znasz moze jakis szybki sposob nalozenia flag, albo co najwazniejsze jakie flagi gdzie moga byc nalozone bo to jest chyba glownym problemem z tego co czytalem. Mozna jakos dodac do pax'a caly katalog /home/ tak, zeby odpalone programy/binarki bylyu pod nadzorem pax'a i mialy automatycznie nalozone flagi ?
Dzieki z gory.
Pozdrawiam.


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#22  2013-01-15 23:53:52

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

W niektórych ebuildach javy czy ff portage już samo ustawia flagi.

Na serwerze trzeba to robić samodzielnie, przy okazji radze nie paxctl z paczki pax-utils, ale  paxctl-ng z paczki  elfiix, w jaju natomiast zamiast:

Kod:

CONFIG_PAX_PT_PAX_FLAGS

lepiej użyć nowszego modułu:

Kod:

CONFIG_PAX_XATTR_PAX_FLAGS=y

różnica?
Stary pax-ulils i PT_PAX:

Kod:

/sbin/paxctl  -MPERS `which bash`&& echo zrobione|| echo doopa
/bin/bash: Text file busy
doopa

natomiast nowy  paxctl-ng (XT_PAX):

Kod:

paxctl-ng  -MPERS `which bash`&& echo zrobione|| echo doopa
zrobione

Zwłaszcza przydatne przy demonie udevd, i bashu. :D

Poza tym ja najpierw robię (zrobiłem wieki temu) flagi ręcznie, a potem je zrucam jakimś skryptem do konfigu.

W starym to było np:

Kod:

root ~> scanelf -x /bin/* | grep -v 'PAX' | awk '{print "/sbin/paxctl -"$2" "$3}'

Dla paxctl-ng (XT_PAX) np tak:

Kod:

root ~> for binarka in `ls /bin/*`; do FLAGI=`paxctl-ng -v $binarka|grep -A2 XT_PAX | awk '{print $2}'`; echo "paxctl-ng $FLAGI $binarka"; done;

Za każdym razem wynik zrzucasz do pliku, robisz z niego skrypta i gotowe.

Sposób identyczny, jak tutaj:
http://dug.net.pl/tekst/117/backup_uprawnien_w_folderach_systemowych_/

Potem po aktualizacji, czy przy nowej instalacji, odpalasz skrypta i wioooo. :D

Flagi paxa nakłada się na  pliki binarne programów, a nie na biblioteki czy skrypty.
Czyli np na perla, i basha, ale nie skrypty w perlu czy bashu.
Chociaż nowy paxctl-ng niby nakłada flagi na skrypty (w atrybutach systemu plików jest możliwe), ale nigdy nie zauważyłem żeby to dawało jakikolwiek rezultat.

W PT_PAX próba wsadzenia flag na skrypta kończyły się tak:

Kod:

/sbin/paxctl -v `which rozpakuj`
PaX control v0.7
Copyright 2004,2005,2006,2007,2009,2010,2011,2012 PaX Team <pageexec@freemail.hu>

file /usr/local/bin/rozpakuj is not a valid ELF executable

Przy okazji - jak np masz włączony pax-mprotect w  jaju, to on chodzi domyślnie dla wszystkich binarek.
Flagi Paxa są do wyłączania pazurów paxa dla poszczególnych binarek.
Jak coś jest włączone w jaju, to domyślnie obejmuje wszystkie binarki, jakie odpalisz.

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2013-08-24 15:58:42)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#23  2013-01-16 00:26:36

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Dzieki. Jestes wielki !

A jak mam dwie opcje turned on ?

Kod:

ks3290849 linux # cat /usr/src/linux/.config | grep CONFIG_PAX_XATTR_PAX_FLAGS
CONFIG_PAX_XATTR_PAX_FLAGS=y
ks3290849 linux # cat /usr/src/linux/.config | grep CONFIG_PAX_PT_PAX_FLAGS
CONFIG_PAX_PT_PAX_FLAGS=y

To ktora ma priorytet ?

Sugerujac sie na tym przykladzie to znaczy, ze PaX nie jest wlaczony ?

Kod:

ks3290849 linux # paxctl -v /usr/bin/perl
PaX control v0.7
Copyright 2004,2005,2006,2007,2009,2010,2011,2012 PaX Team <pageexec@freemail.hu              >

- PaX flags: -------x-e-- [/usr/bin/perl]
        RANDEXEC is disabled
        EMUTRAMP is disabled

Ostatnio edytowany przez bryn1u (2013-01-16 00:28:02)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

#24  2013-01-16 02:13:43

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Mają rownorzędny, używasz 2 systemów, oba muszą mieć jednakowe flagi.

Jacekalex napisał(-a):

Flagi Paxa są do wyłączania pazurów paxa dla poszczególnych binarek.
Jak coś jest włączone w jaju, to domyślnie obejmuje wszystkie binarki, jakie odpalisz.

Poza tym, jakbyć przeczytał, co napisałem wcześniej, to byś wiedział, że wszystkie pazury paxa są domyślnie włączone, flagi paxa są po to, żeby je wyłączać dla pojedynczych binarek.

Ostatnio edytowany przez Jacekalex (2013-01-16 02:14:22)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#25  2013-01-16 09:03:53

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: Zmiana kernela w Gentoo na hardened-sources & konfiguracja.

Przeczytalem, przeczytalem i rozumiem w czym rzecz. Zrobilem sobie test programem, ktory kiedys podales a mianowicie "checksec.sh":

Kod:

ks3290849 bryn1u # ./checksec.sh --proc-all
* System-wide ASLR: PaX ASLR enabled

* Does the CPU support NX: Yes

         COMMAND    PID RELRO             STACK CANARY           NX/PaX        PIE
            init      1 Full RELRO        Canary found           PaX enabled   PIE enabled
           udevd   1142 Full RELRO        Canary found           PaX enabled   PIE enabled
           udevd   1149 Full RELRO        Canary found           PaX enabled   PIE enabled
            sshd   1745 Full RELRO        Canary found           PaX enabled   PIE enabled
          agetty   1801 Full RELRO        Canary found           PaX enabled   PIE enabled
          agetty   1802 Full RELRO        Canary found           PaX enabled   PIE enabled
          agetty   1803 Full RELRO        Canary found           PaX enabled   PIE enabled
          agetty   1804 Full RELRO        Canary found           PaX enabled   PIE enabled
          agetty   1805 Full RELRO        Canary found           PaX enabled   PIE enabled
          agetty   1806 Full RELRO        Canary found           PaX enabled   PIE enabled
            sshd   8470 Full RELRO        Canary found           PaX enabled   PIE enabled
            sshd   8473 Full RELRO        Canary found           PaX enabled   PIE enabled
            bash   8474 Full RELRO        Canary found           PaX enabled   PIE enabled
              su   8479 Full RELRO        Canary found           PaX enabled   PIE enabled
            bash   8480 Full RELRO        Canary found           PaX enabled   PIE enabled
           udevd    981 Full RELRO        Canary found           PaX enabled   PIE enabled

2)

Kod:

ks3290849 bryn1u # ./checksec.sh --dir /usr/sbin/ -v
RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/addpart
*** Not an ELF file: /usr/sbin/archive-conf: symbolic link to `../lib/portage/bin/archive-conf'
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/arpd
*** Not an ELF file: /usr/sbin/backup.sh: POSIX shell script, ASCII text executable
*** Not an ELF file: /usr/sbin/backup-tar: POSIX shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/chgpasswd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/chpasswd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/clockdiff
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/cracklib-check
*** Not an ELF file: /usr/sbin/cracklib-format: POSIX shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/cracklib-packer
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/cracklib-unpacker
*** Not an ELF file: /usr/sbin/create-cracklib-dict: POSIX shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/delpart
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/dhcpd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/dhcrelay
*** Not an ELF file: /usr/sbin/dispatch-conf: symbolic link to `../lib/portage/bin/dispatch-conf'
*** Not an ELF file: /usr/sbin/dump-remind: POSIX shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/e2freefrag
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/e4defrag
*** Not an ELF file: /usr/sbin/emaint: symbolic link to `../lib/portage/bin/emaint'
*** Not an ELF file: /usr/sbin/env-update: symbolic link to `../lib/portage/bin/env-update'
*** Not an ELF file: /usr/sbin/etc-update: symbolic link to `../lib/portage/bin/etc-update'
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/fdformat
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/filefrag
*** Not an ELF file: /usr/sbin/fix_libtool_files.sh: POSIX shell script, ASCII text executable
*** Not an ELF file: /usr/sbin/fixpackages: symbolic link to `../lib/portage/bin/fixpackages'
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/gpm
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/groupadd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/groupdel
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/groupmems
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/groupmod
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/grpck
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/grpconv
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/grpunconv
Partial RELRO   No canary found   NX disabled   No PIE          No RPATH   No RUNPATH   /usr/sbin/grub2-bios-setup
*** Not an ELF file: /usr/sbin/grub2-install: POSIX shell script, ASCII text executable, with very long lines
*** Not an ELF file: /usr/sbin/grub2-mkconfig: POSIX shell script, ASCII text executable
*** Not an ELF file: /usr/sbin/grub2-mknetdir: POSIX shell script, ASCII text executable
Partial RELRO   No canary found   NX enabled    No PIE          No RPATH   No RUNPATH   /usr/sbin/grub2-ofpathname
Partial RELRO   No canary found   NX disabled   No PIE          No RPATH   No RUNPATH   /usr/sbin/grub2-probe
*** Not an ELF file: /usr/sbin/grub2-reboot: POSIX shell script, ASCII text executable
*** Not an ELF file: /usr/sbin/grub2-set-default: POSIX shell script, ASCII text executable
Partial RELRO   No canary found   NX disabled   No PIE          No RPATH   No RUNPATH   /usr/sbin/grub2-sparc64-setup
Full RELRO      No canary found   NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/iconvconfig
*** Not an ELF file: /usr/sbin/ipg: Bourne-Again shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/ldattach
*** Not an ELF file: /usr/sbin/locale-gen: Bourne-Again shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/logoutd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/lspci
*** Not an ELF file: /usr/sbin/makewhatis: POSIX shell script, ISO-8859 text executable
Full RELRO      No canary found   NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/mklost+found
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/newusers
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/nscd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/partx
*** Not an ELF file: /usr/sbin/perl-cleaner: Bourne-Again shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/pwck
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/pwconv
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/pwunconv
*** Not an ELF file: /usr/sbin/python-updater: Bourne-Again shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/rarpd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/rdisc
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/readprofile
*** Not an ELF file: /usr/sbin/regenworld: symbolic link to `../lib/portage/bin/regenworld'
*** Not an ELF file: /usr/sbin/restore-tar: POSIX shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/rmt
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/rtcwake
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/safe_finger
*** Not an ELF file: /usr/sbin/savelog: POSIX shell script, ASCII text executable
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/setpci
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/sshd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tcpd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tcpdchk
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tcpdmatch
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tftpd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tracepath
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tracepath6
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/traceroute6
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/try-from
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/tunelp
*** Not an ELF file: /usr/sbin/update-ca-certificates: POSIX shell script, ASCII text executable
*** Not an ELF file: /usr/sbin/update-env: symbolic link to `../lib/portage/bin/env-update'
*** Not an ELF file: /usr/sbin/update-etc: symbolic link to `../lib/portage/bin/etc-update'
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/useradd
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/userdel
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/usermod
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/uuidd
*** Not an ELF file: /usr/sbin/vigr: symbolic link to `vipw'
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/vipw
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/zdump
Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   /usr/sbin/zic

3)
I tu mi sie nie podoba:

Kod:

ks3290849 bryn1u # ./checksec.sh --kernel
* Kernel protection information:

  Description - List the status of kernel protection mechanisms. Rather than
  inspect kernel mechanisms that may aid in the prevention of exploitation of
  userspace processes, this option lists the status of kernel configuration
  options that harden the kernel itself against attack.

  Kernel config: /usr/src/linux/.config

  Warning: The config on disk may not represent running kernel config!

  GCC stack protector support:            Disabled
  Strict user copy checks:                Disabled
  Enforce read-only kernel data:          Disabled
  Restrict /dev/mem access:               Enabled
  Restrict /dev/kmem access:              Enabled

* grsecurity / PaX: Custom GRKERNSEC

  Non-executable kernel pages:            Enabled
  Prevent userspace pointer deref:        Enabled
  Prevent kobject refcount overflow:      Enabled
  Bounds check heap object copies:        Enabled
  Disable writing to kmem/mem/port:       Enabled
  Disable privileged I/O:                 Enabled
  Harden module auto-loading:             Enabled
  Hide kernel symbols:                    Enabled

Czy cos przeoczylem podczas konfiguracji jajka czy tak ma byc ?

Pozdrawiam :)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
http://unix-ebooki.neth.pl/

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)