Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 25 май 2018, 17:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: SELinux
Непрочитанное сообщениеДобавлено: 22 окт 2012, 20:09 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Для не администратора какой-то ответственной корпоративной сети SELinux (IMHO) - большая гадость.
Т.е. для пользователей индивидуальных компьютеров, собственных небольших LAN, и, уж тем более, для программистов-разработчиков.

Я совершенно не понимаю, для чего сборщики дистрибутивов Fedora, например, а). делают SELinux включенным по умолчанию + б). настраивают его на высокий уровень запретов.

Нет, я готов понять и согласиться - SELinux: бронежилет для корпоративного пингвина:
Цитата:
Система SELinux (Security-Enhanced Linux — Linux с улучшенной безопасностью) была разработана Агентством Национальной Безопасности США и всего за несколько лет стала стандартом в области систем контроля прав доступа.

Цитата:
Именно благодаря SELinux-дистрибутиву RHEL5, работающему на серверах IBM, удалось получить сертификат безопасности EAL4 Augmented with ALC_FLR.3, который в то время имела лишь одна операционная система — Trusted Solaris.

Т.е. я понимаю, что от гордости такой "в зобу дыханье спёрло", и не одарить таким счастьем по дефаулту всех, кто его и не дух не желает даже, - это было бы слабо... :cry:

Но даже автор этой публикации:
Цитата:
Это делает систему привлекательной для госучреждений и военных, однако кажется не совсем понятным, зачем она нужна администраторам рядовых серверов, а уж тем более — обычным пользователям (в Fedora SELinux по умолчанию включен).



Итак...
По крайней мере, мне нужно время от времени бывает убить SELinux.
И сделать это бывает нужно 2-мя способами: а). на время, на сеанс, до следующей перезагрузки + б). навсегда (а потом, возможно, восстановить).

Неприятность в том, что все описания управления SELinux фрагментарны, но куда хуже, что они очень сильно устаревают: в новых дистрибутивах часто просто нет тех путей, возможностей и т.д., которые описываются в публикациях 2009-2010 годов.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 22 окт 2012, 20:13 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Olej писал(а):
а). на время, на сеанс, до следующей перезагрузки


Код:
[root@notebook selinux]# setenforce 0


Код:
bash-4.2$ man setenforce

setenforce(1)                                  SELinux Command Line documentation                                 setenforce(1)
       
NAME
       setenforce - modify the mode SELinux is running in.
       
SYNOPSIS
       setenforce [ Enforcing | Permissive | 1 | 0 ]
       
DESCRIPTION
       Use Enforcing or 1 to put SELinux in enforcing mode.
       Use Permissive or 0 to put SELinux in permissive mode.
       
       If  SELinux  is  disabled  and  you  want  to  enable  it,  or SELinux is enabled and you want to disable it, please see
       selinux(8).

AUTHOR
       Dan Walsh, <dwalsh@redhat.com>

SEE ALSO
       selinux(8), getenforce(8), selinuxenabled(8)


Ну и подсмотреть можно, что в итоге получилось:
Код:
bash-4.2$  getenforce
Permissive


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 22 окт 2012, 20:17 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Olej писал(а):
б). навсегда


Подправить /etc/selinux/config (там всё понятно - без комментариев ;-) ) :
Код:
[root@notebook selinux]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


После чего, естественно - перезагрузка.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 22 окт 2012, 20:19 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Утверждается (в обсуждениях), что ещё существует, как минимум, 2 способа (т.е. 2 + 2) останавливать-запускать SELinux ...

Если разберусь дальше + проверю (если не наскучит ;-) ) - напишу.

Или может кто ещё что подскажет, удобное для использования???


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 23 окт 2012, 11:39 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Olej писал(а):
Подправить /etc/selinux/config (там всё понятно - без комментариев ;-) ) :
Код:
[root@notebook selinux]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


После чего, естественно - перезагрузка.


И вот что мы увидим на следующий день ;-) - после перезагрузки:
Код:
bash-4.2$ getenforce
Disabled


Чего мы даже не можем добиться командой setenforce.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 23 окт 2012, 19:02 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Olej писал(а):
По крайней мере, мне нужно время от времени бывает убить SELinux.


Но если вам уж категорически нужно разрешить работу сервиса (меня интересовал FTP сервер, но это может быть любой сервис) при работающем SELinux, то это тоже не такая уж большая проблема. Но вам придётся для этого:

- Прелопатить достаточно много документации - SELinux не столько сложный, сколько объёмный и громоздкий;

- Неплохим началом для знакомства может быть тот текст, который я показал в первом сообщении открывающем тему;

- Настроить SELinux.

В простейшем варианте подстроить политику SELinux можно изменив значения метаправил SELinux.
Подсмотреть какие метаправила интересуют нас для нашей службы (FTP) можно (в порядке подсказки) и в конфигурационном файле /etc/proftpd.conf :
Код:
[root@notebook etc]# cat /etc/proftpd.conf | head -n30
...
#
# setsebool -P allow_ftpd_anon_write=1
#   This allows the ftp daemon to write to files and directories labelled
#   with the public_content_rw_t context type; the daemon would only have
#   read access to these files normally. Files to be made available by ftp
#   but not writeable should be labelled public_content_t.
#
# setsebool -P allow_ftpd_full_access=1
#   This allows the ftp daemon to read and write all files on the system.
#
# setsebool -P allow_ftpd_use_cifs=1
#   This allows the ftp daemon to read and write files on CIFS-mounted
#   filesystems.
#
# setsebool -P allow_ftpd_use_nfs=1
#   This allows the ftp daemon to read and write files on NFS-mounted
#   filesystems.
...


А детально посмотреть все какие есть переключатели SELinux и какие для них установлены метаправила можно так:
Код:
[root@notebook selinux]# semanage boolean -l
Переключатель SELinux          State  Default Описание

ftp_home_dir                   (выкл.,выкл.)  ftp_home_dir
smartmon_3ware                 (выкл.,выкл.)  smartmon_3ware
xdm_sysadm_login               (выкл.,выкл.)  xdm_sysadm_login
xen_use_nfs                    (выкл.,выкл.)  xen_use_nfs
...

Этот вывод очень объёмный, поэтому есть смысл смотреть только те переключатели, которые относятся к нашим интересам:
Код:
[root@notebook etc]# semanage boolean -l | grep ftp
ftp_home_dir                   (выкл. ,выкл.)  ftp_home_dir
tftp_anon_write                (выкл.,выкл.)  tftp_anon_write
allow_ftpd_full_access         (выкл.,выкл.)  allow_ftpd_full_access
allow_ftpd_use_nfs             (выкл.,выкл.)  allow_ftpd_use_nfs
allow_ftpd_anon_write          (выкл.,выкл.)  allow_ftpd_anon_write
sftpd_enable_homedirs          (выкл.,выкл.)  sftpd_enable_homedirs
allow_ftpd_use_cifs            (выкл.,выкл.)  allow_ftpd_use_cifs
httpd_can_connect_ftp          (выкл.,выкл.)  httpd_can_connect_ftp
ftpd_use_passive_mode          (выкл.,выкл.)  ftpd_use_passive_mode
...


Изменить то, что нам нужно:
Код:
[root@notebook etc]# setsebool ftp_home_dir  on


И становится так:
Код:
[root@notebook etc]# semanage boolean -l | grep ftp
ftp_home_dir                   (вкл. ,выкл.)  ftp_home_dir
tftp_anon_write                (выкл.,выкл.)  tftp_anon_write
allow_ftpd_full_access         (выкл.,выкл.)  allow_ftpd_full_access
allow_ftpd_use_nfs             (выкл.,выкл.)  allow_ftpd_use_nfs
allow_ftpd_anon_write          (выкл.,выкл.)  allow_ftpd_anon_write
sftpd_enable_homedirs          (выкл.,выкл.)  sftpd_enable_homedirs
allow_ftpd_use_cifs            (выкл.,выкл.)  allow_ftpd_use_cifs
httpd_can_connect_ftp          (выкл.,выкл.)  httpd_can_connect_ftp
ftpd_use_passive_mode          (выкл.,выкл.)  ftpd_use_passive_mode
...


P.S. Так как я показал изменение значения - это временно, на время сеанса. Если же нам нужно сделать такое изменение постоянным (перманентным) делаем так:
Код:
[root@notebook etc]# setsebool ftp_home_dir  on

Соответственно, и 2 состояния показаны для переключателей: ("на сейчас", "на всегда").

В принципе, это всё, этого достаточно для того, чтобы FTP сервер работал без проблем с защитами.
Это - только набросок того, как открыть службу FTP ... но по такой же логике это можно сделать с любым сервером.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 24 окт 2012, 17:10 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Olej писал(а):
Утверждается (в обсуждениях), что ещё существует, как минимум, 2 способа (т.е. 2 + 2) останавливать-запускать SELinux ...


Имеется в виду вот эта, массово кочующая с места на место по интернету заметка: Отключение SELinux (здесь например).
Цитата:
Метод 3: Отключение SELinux в загрузчике Grub
...
Метод 4: Отключаем SELinux только для определенных сервисов - HTTP/Apache
...


Но здесь как-раз опять же тот случай, как и с другими публикациями, что я уже писал:
Цитата:
Неприятность в том, что все описания управления SELinux фрагментарны, но куда хуже, что они очень сильно устаревают: в новых дистрибутивах часто просто нет тех путей, возможностей и т.д., которые описываются в публикациях 2009-2010 годов.

Большинство путей-файлов упоминающихся в этой публикации (хотя она толковая) - так их давно уже не существует в природе. :cry:


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 29 авг 2016, 17:30 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
Olej писал(а):
Большинство путей-файлов упоминающихся в этой публикации (хотя она толковая) - так их давно уже не существует в природе. :cry:

Ещё раз появилась необходимость отключить эту гадость ... которая включена в Fedora, CentOS etc. по умолчанию...

CentOS 7 настройка сервера
Цитата:
Обновлено: 23.08.2016 Написано: 20.12.2015

Отключаем SELinux. Его использование и настройка отдельный разговор. Сейчас я не буду этим заниматься. Так что отключаем:
Код:
# mcedit /etc/sysconfig/selinux

меняем значение
Код:
SELINUX=disabled

Чтобы изменения вступили в силу, перезагружаемся:
Код:
# reboot


Код:
[olej@dell SNMP]$ getenforce
Disabled


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 15 июн 2017, 14:18 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 11 май 2017, 18:01
Сообщения: 99
Откуда: Щёлково, Московская обл.
Цитата:
Ещё раз появилась необходимость отключить эту гадость ... которая включена в Fedora, CentOS etc. по умолчанию...
Что то меня сомнения берут, что эта штука отключается, скорее всего она просто нам показывает якобы она отключилась, а сама делает что ей надо - это же АНБ :lol:


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: SELinux
Непрочитанное сообщениеДобавлено: 15 июн 2017, 14:38 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10719
Откуда: Харьков
perseus писал(а):
Цитата:
Ещё раз появилась необходимость отключить эту гадость ... которая включена в Fedora, CentOS etc. по умолчанию...
Что то меня сомнения берут, что эта штука отключается, скорее всего она просто нам показывает якобы она отключилась, а сама делает что ей надо - это же АНБ :lol:

Нет, она отключается ... если её вот так правильно отключить.
Смысл и назначение SELinux, если очень грубо и в 2-х словах:
- ввести тонкое регламентирование прав на разные действия в системе "поштучно"...
- не "root и все прочие пользователя", а для каждого и любого пользователя разрешить ему что можно и что не можно...
- в принципе, и root-у в этом случае можно не всё разрешать ;-)
В принципе, это очень близко к тому, что называют мандатным регламентом доступа, применяемым в таких клонах Linux специального применения как МСВС или Astra Linux.
Ничего порочного в таком регламенте нет, а сама система SELinux открыта в исходных кодах и передана опенсорс сообществу.
Но это нужно только в администрировании ответственных корпоративных серверов, или серверов содержащих секретную или особо секретную информацию. Потребителю персональной Linux рабочей станции это никаким боком не нужно из-за очень существенного роста и путаности управления правами пользователей.

В Fedora сервис SELinux запущен по умолчанию после установки ОС.
Во всех других Linux дистрибутивах она присутствует (т.е. это штатная составная часть ОС), но по умолчанию не запускается.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.097s | 17 Queries | GZIP : On ]