Автор Тема: SELinux при Debian Lenny  (Прочетена 6144 пъти)

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
SELinux при Debian Lenny
« -: Mar 10, 2009, 00:28 »
Реших днес пак да си поиграя със SELinux, но се натъкнах на проблем... Преди да излезе Lenny, го бях подкарал и работеше, но мисля, че като направих upgrade на системата се обнови и версията на SELinux. И така сега положението е следното:
Цитат
~# sestatus
SELinux status:                 disabled
~# check-selinux-installation
../proc/1   kernel..
SELinux is not enabled.
The init process (PID 1) is running in an incorrect domain.
Лошото е, че за "The init process (PID 1) is running in an incorrect domain." в Google намирам точно 5 резултата, които не успяха да ми свършат работа. Порових се и проверих някои неща:
Цитат
~# cat /boot/config-2.6.24.5-grsec | grep SELINUX
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
Тук ми прави впечатление CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0, което означава, че SELinux е деактивиран при boot. Обаче при положение, че не съм сменял и променял ядрото, а старата версия на SELinux е работила, едва ли това е проблема.
Цитат
# cat /boot/grub/menu.lst | grep selinux
kopt=root=/dev/hda1 ro selinux=1
kernel          /boot/vmlinuz-2.6.24.5-grsec root=/dev/hda1 ro selinux=1
И тук параметрите ми се струват наред. Пробвах различни варианти с тях, като след всяка промяна изпълнявам selinux-activate, но все стигам до:
Цитат
~# check-selinux-installation
../proc/1   kernel..
SELinux is not enabled.
The init process (PID 1) is running in an incorrect domain.
Някой сеща ли се къде бъркам, че останах без идеи?
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #1 -: Mar 10, 2009, 00:52 »
dmesg |grep SEL ?
Активен

"Knowledge is power" - France is Bacon

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #2 -: Mar 10, 2009, 09:57 »
Цитат
# dmesg |grep SEL && dmesg |grep seli
SELinux:  Initializing.
SELinux:  Starting in permissive mode
SELinux:  Registering netfilter hooks
Kernel command line: root=/dev/hda1 ro selinux=1
selinux_register_security:  Registering secondary module capability
grsec: mount of none to /selinux by /sbin/init[init:1] uid/euid:0/0 gid/egid:0/0, parent /[swapper:0] uid/euid:0/0 gid/egid:0/0
Цитат
# sestatus
SELinux status:                 disabled
Цитат
# check-selinux-installation
../proc/1   kernel..
SELinux is not enabled.
The init process (PID 1) is running in an incorrect domain.
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #3 -: Mar 10, 2009, 10:39 »
Ммммм.... Пробвай:

touch /.autorelabel; reboot

И провери след рестарта дали пак ще бълва същите глупости?
Активен

"Knowledge is power" - France is Bacon

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #4 -: Mar 10, 2009, 20:38 »
Мне, направих touch /.autorelabel, selinux-activate, reboot и пак:
Цитат
~# check-selinux-installation
../proc/1   kernel..
SELinux is not enabled.
The init process (PID 1) is running in an incorrect domain.
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #5 -: Mar 10, 2009, 21:01 »
Бля, нещо генерално объркано има :)

Ми направи си го на ръка policy-to:

apt-get install selinux-policy-src
cd /usr/src
tar -zxvf selinux-.....tar.gz
cd selinux-policy-src
make && make load

И виж след това какво ще каже?
Активен

"Knowledge is power" - France is Bacon

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #6 -: Mar 10, 2009, 21:31 »
Май не е от policy-то а нещо с init става... Ето какво има в /usr/share/selinux-basics/tests/01_verify_init.py
Цитат
class TestInitDomain(TestBase):
   """
   Test that pid 1 (init) is running in the appropriate domain
   """
   class ErrorGetfileconFailed(ErrorBase):
      def __str__(self):
         return "Could not read the domain of PID 1."

   class ErrorInitBadlyLabeled(ErrorBase):
      def __str__(self):
         return "The init process (PID 1) is running in an incorrect domain."

Ама какво значи, че init e BadlyLabeled? До колкото разбирам от тук selinux вдига по подразбиране домейн kernel_t, но init се появява при стартирането, преди това.
« Последна редакция: Mar 10, 2009, 21:38 от phantomlord »
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

cdiem

  • Напреднали
  • *****
  • Публикации: 21
    • Профил
Re: SELinux при Debian Lenny
« Отговор #7 -: Mar 10, 2009, 22:01 »
Гледам тук за това какво става по време на зареждане: http://www.redhat.com/magazine/001nov04/features/selinux/
...
 
Може би е объркано policy-то. Можеш да опиташ да смениш името на най-новото policy в /etc/selinux/$POLICY_NAME/policy/policy.version; selinux ще опита да използва по-стара версия на policy-то, ако има такава в тази директория.

При теб обаче ми се струва, че грешката е преди това - selinux не успява да зададе домейн kernel_t за init - това е вторият ред:
../proc/1   kernel..
Може би по някаква причина не намира selinux в kernela..

Дали е грешка в policy-то или в kernela, струва ми се, можеш да провериш ако опиташ да заредиш стандартно ядро на Debian със Selinux - вместо прекомпилираното с grsec.

Ако не се окаже нито едно от двете, остават boot параметрите - макар че ми се струва, че при теб са настроени правилно..:)

В линка по-горе (linuxjournal.com), мисля че selinux вече е задал kernel_t:
jderiksen@dev ~ $ sudo check-selinux-installation
../proc/1       system_u:system_r:kernel_t:s0..
The init process (PID 1) is running in an incorrect domain.
There were 35 processes found running in the kernel domain.
Dynamic motd updating is enabled

Just my 2 cents :)
« Последна редакция: Mar 10, 2009, 22:23 от cdiem »
Активен

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #8 -: Mar 10, 2009, 22:34 »
Хммм... Не е от ядрото. Пробвах с другото ядро, което имам на системата - 2.6.18. И там е същото... Ще направя purge на всичко свързано със selinux, ще изтрия всякакви негови папки и конф. файлове и ще започна отначало начисто. Струва ми се, че нещо е останало от старата версия на selinux, което омазва нещата.
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

tolostoi

  • Напреднали
  • *****
  • Публикации: 1337
  • Distribution: Ubuntu
  • Window Manager: Unity
  • левел: авераж :)
    • Профил
Re: SELinux при Debian Lenny
« Отговор #9 -: Mar 10, 2009, 23:24 »
Според мен, щеше да е по-добре да пробваш със стандартното за дистрото ядро 2.6.26-1-686, а не със старото 2.6.18, нали си ъпдейтнал до Debian 5 Lenny?
« Последна редакция: Mar 10, 2009, 23:27 от tolostoi »
Активен


... в Столичен инспекторат една година след миграцията, продължават да работят под Linux. Което, май прави "експеримента" успешен
by entusiast

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #10 -: Mar 11, 2009, 00:03 »
Значи проблема надали е в ядрото щом в dmesg си излизаха нещата. Не се оправи с relabel-ване на файловата система, предполагам значи policy-то нещо е осрано. Затова предложих да се изкомпилира ново такова от selinux policy source-a. Апропо, промяната им и изкомпилирването им  става доста честа практика ако ползваш selinux (особено под дебиан), защото нещата не са домислени много добре и постоянно се пръкват разни съобщения за някой софтуер че няма позволение нещо да прави (а дебиан разработчиците явно въобще не са се сетили за такива варианти). audit2allow е другото много полезно нещо в случая :)

А иначе ако ползваш дебианския пакет с selinux policy-то е силно препоръчително да не си компилираш собствено ядро - очаквано е да стават такива драми. Аз от известно време насам съм спрял да си компилирам ядра и карам с готовите от дебиан, честно казано доста главоболия съм си спестил така и не си заслужава да се тормозя за малкото, което бих спечелил в противен случай.
Активен

"Knowledge is power" - France is Bacon

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #11 -: Mar 11, 2009, 00:59 »
При поредния reboot мернах едно съобщение, което минава толкова бързо през екрана, че е лесно да се пропусне... Не го намерих в dmesg, syslog, kern.log, messages, та трябваше да си снимам екрана и после да гледам на забавен каданс :D
Съобщението беше нещо от сорта, че selinux не може да зареди полицата от /etc/selinux/targeted/...........
Още не ми е ясно защо я търси там при положение, че при инсталацията на новата версия тя е премахната и има само /etc/selinux/default/.......
Използвах временно и дървено решение, което поне работи:
Цитат
ln -sv /etc/selinux/default/ /etc/selinux/targeted
След рестарта - ново 20. Понеже ssh при мен не слуша на стандартния порт, не можах да се логна. Трябваше да разкачам и местя клавиатурата само за да изпълня командата:
Цитат
# semanage port -a -t ssh_port_t -p tcp 1234
1234 е примерен порт :)
Та сега:
Цитат
~# check-selinux-installation
../proc/1   system_u:system_r:kernel_t:s0..
The init process (PID 1) is running in an incorrect domain.
There were 31 processes found running in the kernel domain.

П.П.: Проблема няма нищо общо с прекомпилираното ядро и преди време стандартните ядра на Дебиан ме отказаха да ги ползвам :)
От тогава ползвам само свое ядро.
« Последна редакция: Mar 11, 2009, 02:14 от phantomlord »
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

NaDa

  • Напреднали
  • *****
  • Публикации: 94
    • Профил
Re: SELinux при Debian Lenny
« Отговор #12 -: Mar 11, 2009, 09:59 »
Гледам имаш и grsec, подозирам, че проблемът идва от там, дали би могъл да го спреш за опита? Имам доста машини със SELinux (макар и не Debian) и не съм изпитвал почти никакви проблеми (освен че на 2 пъти при update не бяха етикетирали ключови системни библиотеки, но през management конзолата го оправих набързо).
Активен

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Re: SELinux при Debian Lenny
« Отговор #13 -: Mar 11, 2009, 12:07 »
По нагоре съм писал, че съм правил опит и с ядро 2.6.18. То не е пачнато с grsec, но при него имаше същия проблем.
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

plandz

  • Напреднали
  • *****
  • Публикации: 535
  • Distribution: Debian Testing
  • Window Manager: KDE
    • Профил
Re: SELinux при Debian Lenny
« Отговор #14 -: Mar 11, 2009, 22:28 »
Да кажа и аз,че съм със мое компилирано ядро 2.6.28.4 и инсталиран SELinux на тестовата версия (squeeze) и никакви проблеми няма засега.Работи си на enforced-mode съвсем добре и никакви проблеми не ми създава.Т.е. просто си работи.
Активен

Ако се чувствате добре,не се тревожете.Ще ви мине. - Murphy's Laws