Linux система контроля доступа

Linux система контроля доступа

Библиотека сайта rus-linux.net

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

Технология SELinux позволяет повысить безопасность системы! SELinux может контролировать права доступа пользователей к файлам и процессам. Даже в том случае, если в отношении файла используется команда chmod 777 , SELinux все еще может запретить приложениям осуществлять доступ к нему (при этом следует учесть, что права доступа UNIX проверяются в первую очередь!). SELinux удается осуществлять контроль доступа благодаря присваиванию пользователям ролей ( roles ), которые представляют контексты безопасности ( security contexts ). Администраторы систем имеют возможность установки очень строгих прав доступа, соответствующих ролям.

Поддержка технологии SELinux присутствует в новейших версиях дистрибутивов Red Hat Enterprise Linux, Debian, CentOS, Fedora и многих других.

19.1. Режимы работы SELinux

SELinux может работать в трех режимах: режим принудительного использования политик доступа (enforcing), разрешающий режим (permissive) и режим отключения (disabled). Режим принудительного использования политик доступа ( enforcing ) предусматривает обязательную установку всех ограничений доступа, которые позволяют разграничивать доступ к тем или иным ресурсам на основе правил SELinux ( selinux rules ). Разрешительный режим ( permissive ) не предусматривает установки реальных ограничений доступа, но позволяет добавлять в системный журнал записи об операциях, которые могли бы быть запрещены в случае работы в режиме принудительного использования политик доступа . Режим отключения ( disabled ) позволяет полностью отключить SELinux .

19.2. Журналирование событий

Убедитесь в том, что служба syslog исполняется и активирована на этапе загрузки системы для возможности сохранения сообщений об отказах в доступе к ресурсам со стороны SELinux в файле журнала /var/log/messages .

[root@rhel55 ~]# chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Также убедитесь в том, что служба auditd исполняется и активирована на этапе загрузки системы, ведь она позволяет сохранять более простые для чтения сообщения в файле журнала аудита системы /var/log/audit/audit.log .

[root@rhel55 ~]# chkconfig --list auditd auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

В том случае, если упомянутые службы не активированы, выполните команды chkconfig —levels 2345 auditd on и service auditd start .

[root@rhel55 ~]# service auditd status auditd (pid 1660) is running. [root@rhel55 ~]# service syslog status syslogd (pid 1688) is running. klogd (pid 1691) is running.

После этого вы сможете узнать из файла системного журнала /var/log/messages о том, что технология SELinux не используется.

root@deb503:~# grep -i selinux /var/log/messages Jun 25 15:59:34 deb503 kernel: [ 0.084083] SELinux: Disabled at boot.
root@deb503:~# grep SELinux /var/log/messages | grep -i Init Jun 25 15:09:52 deb503 kernel: [ 0.084094] SELinux: Initializing.

19.3. Активация SELinux

В дистрибутиве RHEL вы можете использовать приложения с графическим интерфейсом для активации технологии SELinux , в то время, как в дистрибутиве Debian вам придется использовать команду selinux-activate . Для завершения процесса активации технологии SELinux требуется перезагрузка системы.

root@deb503:~# selinux-activate Activating SE Linux Searching for GRUB installation directory . found: /boot/grub Searching for default file . found: /boot/grub/default Testing for an existing GRUB menu.lst file . found: /boot/grub/menu.lst Searching for splash image . none found, skipping . Found kernel: /boot/vmlinuz-2.6.26-2-686 Updating /boot/grub/menu.lst . done SE Linux is activated. You may need to reboot now.

19.4. Утилита getenforce

Используйте утилиту getenforce для проверки режима работы SELinux ( Enforced — режим принудительного использования политик доступа, Disabled — режим отключения или Permissive — разрешающий режим).

[root@rhel55 ~]# getenforce Permissive

Файл из виртуальной файловой системы /selinux/enforce содержит значение 1, если SELinux работает в режиме принудительного использования политик доступа или 0, если SELinux работает в разрешающем режиме.

root@fedora13 ~# cat /selinux/enforce root@fedora13 ~#

19.5. Утилита setenforce

Вы можете использовать утилиту setenforce для переключения между разрешительным режимом ( Permissive ) и режимом принудительного использования политик ограничения доступа ( Enforcing ) после активации SELinux .

[root@rhel55 ~]# setenforce Enforcing [root@rhel55 ~]# getenforce Enforcing [root@rhel55 ~]# setenforce Permissive [root@rhel55 ~]# getenforce Permissive

Или же вы можете просто использовать значения 0 и 1 в качестве аргументов.

[root@centos65 ~]# setenforce 1 [root@centos65 ~]# getenforce Enforcing [root@centos65 ~]# setenforce 0 [root@centos65 ~]# getenforce Permissive [root@centos65 ~]#

19.6. Утилита sestatus

Вы можете ознакомиться с текущим состоянием механизма SELinux и используемой политикой, воспользовавшись утилитой sestatus .

[root@rhel55 ~]# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: permissive Mode from config file: permissive Policy version: 21 Policy from config file: targeted

19.7. Политика ограничения доступа

На большинстве серверов, работающих под управлением дистрибутивов от компании Red Hat, используется политика целевого ограничения доступа ( targeted ). Многоуровневая политика ограничения доступа ( MLS ) используется лишь такими организациями, как Агентство национальной безопасности США (NSA), Федеральное бюро расследований США (FBI), Центральное разведывательное управление США (CIA), Министерство обороны США (DOD), Школа права Гарвардского университета (HLS).

Читайте также:  Просмотр сетевых интерфейсов linux debian

Политика целевого ограничения доступа позволяет защитить тысячи процессов, при этом позволяя другим процессам быть ‘неограниченными’ (‘unconfined’) в своих возможностях (такие процессы могут выполнять любые операции).

19.8. Файл конфигурации /etc/selinux/config

Главный файл конфигурации SELinux расположен по пути /etc/selinux/config . При работе в разрешающем режиме ( permissive ) данный файл будет выглядеть следующим образом. Политика целевого ограничения доступа ( targeted ) также устанавливается в рамках файла конфигурации /etc/selinux/config .

[root@centos65 ~]# 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 - SELinux is fully disabled. SELINUX=permissive # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted

19.9. Избирательное или мандатное управление доступом

Стандартный механизм прав доступа UNIX использует модель избирательного управления доступом ( Discretionary Access Control , DAC ) для установки прав доступа к файлам. Это означает, что пользователь, владеющий файлом, может сделать этот файл общедоступным, просто выполнив команду chmod 777 $имя_файла .

В случае задействования технологии SELinux ядро ОС будет использовать модель мандатного управления доступом ( Mandatory Access Control , MAC ), которая позволяет строго ограничить спектр действий процессов или программных потоков в отношении файлов (заменяя тем самым модель избирательного управления доступом). Ядро ОС ограничивает процессы минимальными правами доступа к ресурсам, требуемыми для их корректной работы.

Модель мандатного управления доступом SELinux предусматривает маркировку и использование типов ресурсов! Файлы, процессы и другие ресурсы маркируются в соответствии с контекстом SELinux. В случае файлов используются расширенные атрибуты, в случае процессов — внутренние механизмы ядра ОС.

Читайте также:  Epson l120 linux drivers

В SELinux используется следующий формат маркировки:

пользователь:роль:тип:(уровень)

При использовании политики целевого ограничения доступа ( targeted ) задействуется лишь поле типа ресурса .

19.10. Команда ls -Z

Для того, чтобы ознакомиться с правами доступа к файлу модели избирательного управления доступом, следует использовать команду ls -l , благодаря которой будет выведена информация о пользователе и группе пользователей, владеющих файлом , а также о правах доступа к последнему.

Специально для вывода информации о правах доступа модели мандатного управления доступом был добавлен параметр -Z утилиты ls . Из приведенного ниже вывода ясно, что значением поля типа файла из директории /root является admin_home_t .

[root@centos65 ~]# ls -Z -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg -rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log -rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log.syslog [root@centos65 ~]# useradd -m -s /bin/bash pol [root@centos65 ~]# ls -Z /home/pol/.bashrc -rw-r--r--. pol pol unconfined_u:object_r:user_home_t:s0 /home/pol/.bashrc

19.11. Параметр -Z других утилит

Существуют и некоторые другие утилиты, поддерживающие параметр -Z :

mkdir -Z cp -Z ps -Z netstat -Z .

Источник

СКУД под linux с web интерфейсом

Намучались уже с одной из тысячи поделок СКУДа под винду.

Хочется что-нибудь удолетворяющее хоть части требований:

  1. Ставится на linux
  2. Имеет web gui (не сильно убогий)
  3. Не хочется чудесных firebird и mssql. Postgres или Mysql хотя бы
  4. Имеет логирование открывания дверей
  5. Замки и панельки для карт питаются от 220V (да, никаких батареек)
  6. Все замки подключены в контроллеру (или что там будет) т.е. логи пишутся 24/7
  7. 10 дверей, 300 юзеров
  8. Можно просто взять и поставить хардварную тупую кнопку, при нажании на которую откроется определенная дверь
  9. У каждой карточки есть ID. Можно посмотреть карточка с каким ID привязана к юзеру
  10. В Москве есть фирма, которая сделает монтаж, первоначальную настройку и примет на дальнейшее обслуживание
  11. Синхронизация с LDAP (такое бывает вообще?)
Читайте также:  Hostname in linux file

Существует ли оно? Может даже опыт использования есть у кого?

Смотрел СКИФ — gui аля Windows 95.

Есть еще Perco — gui сойдет, но оно под винды только.

А почему с такими то требованиями сам себе не напишешь?

1,2 вообще не надо. 3. Firebird держит миллион событий в месяц на компах 10 летней давности с обслуживанием раз в полгода. 4.У всех есть 5. Тебе какая фик разница отдельный блок питания или встроенный на панельки для карт которые считыватели идет 12 вольт в любом случае. 6. Большинство 7.Ваще ниочем. 8,9 Везде есть. 10. Как грязи. 11. Вот тут проблема, напишешь и может даже засунешь в базу СКУД, только для переноса обновления в контроллеры тебе впарят модуль интеграции кривой и за деньги в лучшем случае.

А почему с такими то требованиями сам себе не напишешь?

Да вроде не сильно высокие требования для 2016 года. Учёт рабочего времени и другие свистелки-перделки не нужны. Не все же требования должны быть. Нужно коробочное решение чоуж

1,2 вообще не надо. 3. Firebird держит миллион событий в месяц на компах 10 летней давности с обслуживанием раз в полгода. 4.У всех есть 5. Тебе какая фик разница отдельный блок питания или встроенный на панельки для карт которые считыватели идет 12 вольт в любом случае. 6. Большинство 7.Ваще ниочем. 8,9 Везде есть. 10. Как грязи. 11. Вот тут проблема, напишешь и может даже засунешь в базу СКУД, только для переноса обновления в контроллеры тебе впарят модуль интеграции кривой и за деньги в лучшем случае.

1. Нужно, rdp очень надоело. Меньше винды — меньше проблем

4. Логирование бывает не очень хорошо читаемое, а экспорт убогий

5. Огромная, батарейки мне бегать менять

8,9. Вот как раз не везде. У нынешней системы ни того, ни другого. Только видеодомофон за овер 50к только за него, что ненужно

11. Это лишь интерес, вдруг

Я не врубился насчет питания, думал выбор между 220 до контроллера или 12-24В до контроллера, думал на фига человеку связываться с силой. Пардон, умолкаю со своими замашками мажора на раздельные питание замков и контроллеров.

Напиши сам. Серьезно. Не для отмазки это пишу. Но с такими требованиями куда проще создать и программную и даже аппаратную часть самим. Делал я такой проектик лет 10 назад. Увы все потерял 🙁

Не, других задач хватает. Спасибо

Источник

Оцените статью
Adblock
detector