Настройка безопасности SELinux

Автор работы: Пользователь скрыл имя, 20 Марта 2015 в 05:22, курсовая работа

Описание работы

Мир операционных систем предоставляет пользователям достаточно большое их количество. ОС выступает в качестве программы, которая управляет ресурсами вычислительной системы и процессами, использующих эти ресурсы при вычислениях. Условно ОС можно разделить на серверные и пользовательские, обслуживаемые и нет, встраиваемые (Embedded) и загружаемые, ОС реального времени с гарантированным временем отклика на события и нет.

Файлы: 1 файл

Курсовая работа.docx

— 1.45 Мб (Скачать файл)
  • selinux-policy-minimum;
  • selinux-policy-targeted;
  • selinux-policy-strict;
  • selinux-policy-mls.

При установке указанных пакетов в каталоге /etc/selinux для каждой из политик создаются подкаталоги, в которых располагаются соответствующие конфигурационные файлы, как показано на рис. 3.7.

 

Рисунок 3.7 – Конфигурационные файлы

 

Если были установлены все четыре пакета, то для смены политики безопасности в параметре SELINUXTYPE можно указать одно из значений: targeted, strict, mls, mypolicy и перезагрузить компьютер (при этом желательно, чтобы SELinux работал в режиме Permissive). При загрузке SELinux автоматически расставит в файловой системе необходимые метки, соответствующие выбранной политике безопасности. В некоторых дистрибутивах Linux для расстановки меток безопасности потребуется перед перезагрузкой создать в корневом каталоге файловой системы (/) пустой файл с именем .autorelabel, как показано ниже:

[root@localhost user]# touch /.autorelabel


 

Политика безопасности targeted.

Цель политики targeted — защитить операционную систему от системных процессов, передающих и получающих сообщения через сетевые сервисы (например, NFS, DNS, HTTP). Эти процессы являются наиболее частыми объектами для атак злоумышленников, так как присутствуют практически на любом сервере и, как правило, выполняются с полномочиями пользователя root. В рамках политики безопасности targeted деятельность системных процессов была ограничена, оставив без изменений пользовательские приложения.

Политика безопасности minimum.

Политика безопасности minimum была разработана на основе политики targeted специально для пользователей, желающих потренироваться в создании собственных политик для SELinux. Кроме того, эта политика безопасности используется для продвижения SELinux на мобильные и встраиваемые устройства.

Политика minimum содержит те же модули, что и политика targeted, однако не задействует их. Изначально SELinux не ограничивает никакие объекты системы безопасности, но при желании можно, например, установить модуль для контроля Apache. Однако на этом пути могут таиться различные проблемы: например, если просто установить модуль для контроля Apache в системе, где также работает СУБД MySQL, то SELinux не позволит процессу Apache соединиться с базой данных. В этом случае потребуется явно настроить необходимые разрешения в политике безопасности или дополнительно установить модуль для контроля MySQL. Тем не менее, политика minimum является хорошей «песочницей» для проведения экспериментов с SELinux.

Политика безопасности strict.

На другом конце находится политика strict - наиболее строгая из всех стандартных политик безопасности. Она ограничивает деятельность не только системных, но и пользовательских процессов.

Существует, однако, мнение, что политика strict создана специально для того, чтобы продемонстрировать рядовому пользователю все недостатки и опасности использования SELinux. Если установить политику strict и режим Enforcing, то станет невозможно (даже с полномочиями root) просмотреть журнальные файлы, сменить режим работы на Permissive или совсем отключить SELinux. Пользователь даже не сможет корректно перезагрузить компьютер. Единственным выходом станет нажатие кнопки Reset на компьютере (или сигнал завершения от системы виртуализации) и установка параметра ядра enforcing=0 или ELinux=0.

Конечно, можно сказать, что этот режим подходит для защиты операционной системы, в которой уже не нужно настраивать конфигурацию. Но стоит всё хорошо обдумать, прежде чем использовать политику безопасности strict в реальной системе.

Политика безопасности mls.

Политика безопасности MLS была разработана специально для серверов во время работы над дистрибутивами Fedora Core 5 и Red Hat Enterprise Linux 5. Одна из основных целей, стоявших при создании политики безопасности MLS, — дать возможность операционным системам на базе Linux пройти сертификацию EAL4+/LSPP.

Политика MLS содержит не только правила, указывающие, какие объекты системы безопасности могут совершать определенные действия, и что они могут сделать, находясь на определенном уровне безопасности. В MLS также существуют две дополнительные характеристики уровня безопасности: важность (sensitivity), выражающаяся в диапазоне от s0 до s15, и возможности (capabilities) — от  c0  до  c255. Это дает дополнительные возможности для реализации многоуровневой системы безопасности на основе SELinux.

Установим политику безопасности нашей системы targeted.

 

 

 

 

Рисунок 3.8 – Установка политик

 

3.5 Графический  интерфейс управления настройками  политик

 

system-config-selinux - графический интерфейс для управления настройками политик SELinux. Позволяет управлять настройками политик и вносить в них изменения (рисунок 3.9).

Рисунок 3.9 – GUI управления политиками

Заключение

 

В данной работе был освещен Security - Enhanced Linux — линукс с улучшенной безопасностью.

Достоинства данной технологии очевидны, т.к. он базируется на принципе наименьших прав, т.е. запущенному процессу дается именно столько прав, сколько ему требуется. Более того, SELinux существует параллельно с классической системой безопасности Linux, независим от нее. SELinux обрабатывает только те запросы, которые разрешены классической системой безопасности, и не может разрешить то, что запрещено последней. На примере демона, запущенного от имени root (т.е. с нулевым уровнем привилегий) было продемонстрирована «сила» Security - Enhanced Linux.

Недостатком SELinux является то, что отсутствует удобное программное обеспечение, по разработке своей собственной политики. Вариант редактирования исходных кодов политик, компилирования, просмотра логов и внесение изменений в код, двигаясь пошагово в цикле – является неудовлетворительным.

В настоящее время ведутся активные работы как по переводу документации SELinux на русский язык, так и попыток создания подобных систем.

 

Список литературы

 

  1. Эви Немеет, Гарт Снайдер, Скотт Сибасс, Трент Р.Хейн «UNIX. Руководство системного администратора для профессионалов», 3-е издание
  2. Марк Дж. Рочкинд «Программирование для UNIX. Наиболее полное руководство в подлиннике», 2-е издание
  3. Алексей Стахнов «Linux. Наиболее полное руководство в подлиннике», 2-е издание
  4. http://www.redhat.ru/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/index.html - официальное руководство по SELinux для Red Hat 4 [03.06.2006].
  5. http://www.nsa.gov/selinux - Официальный сайт NSA [03.06.2006].
  6. http://www.nsa.gov/selinux/faq.html - Официальный документ SE Linux FAQ [03.06.2006].
  7. http://www.nsa.gov/selinux/docs.html - Опубликованные NSA материалы, отчёты и презентации. [03.06.2006].
  8. http://www.rhd.ru/docs/articles/selinux_rhel4/ - Получите преимущества SELinux в Red Hat® Enterprise Linux® 4. Фай Кокер и Рассел Кокер. [03.06.2006].
  9. http://gazette.lrn.ru/rus/articles/intro_selinux.html - Введение в SE Linux: новый SE Linux. Фей Кокер. [03.06.2006].
  10. http://ru.wikipedia.org/wiki/SELinux - Материал из Википедии
  11. http://www.osp.ru/text/302/185543/ - SELinux — система повышенной безопасности. Андрей Боровский. [03.06.2006].

 

 

 

 

Приложение А

 

Список политик SELinux

acct_disable_trans (SELinux Service Protection)

allow_cvs_read_shadow (CVS)

allow_daemons_dump_core (Admin)

allow_daemons_use_tty (Admin)

allow_execheap (Memory Protection)

allow_execmem (Memory Protection)

allow_execmod (Memory Protection)

allow_execstack (Memory Protection)

allow_ftpd_full_access (FTP)

allow_ftpd_anon_write (FTP)

allow_ftpd_use_cifs (FTP)

allow_ftpd_use_nfs (FTP)

allow_gpg_execstack (Memory Protection)

allow_gssd_read_tmp (NFS)

allow_httpd_anon_write (HTTPD Service)

allow_httpd_mod_auth_pam (HTTPD Service)

allow_httpd_sys_script_anon_write (HTTPD Service)

allow_java_execstack (Memory Protection)

allow_kerberos (Kerberos)

allow_mount_anyfile (Mount)

allow_mounton_anydir (Mount)

allow_mplayer_execstack (Memory Protection)

allow_nfsd_anon_write (NFS)

allow_polyinstantiation (Polyinstatiation)

allow_ptrace (Compatibility)

allow_rsync_anon_write (rsync)

allow_smbd_anon_write (Samba)

allow_ssh_keysign (SSH)

allow_unconfined_execmem_dyntrans (Memory Protection)

allow_user_mysql_connect (Databases)

allow_user_postgresql_connect (Databases)

allow_write_xshm (XServer)

allow_ypbind (NIS)

allow_zebra_write_config (Zebra)

amanda_disable_trans (SELinux Service Protection)

amavis_disable_trans (SELinux Service Protection)

apmd_disable_trans (SELinux Service Protection)

arpwatch_disable_trans (SELinux Service Protection)

auditd_disable_trans (SELinux Service Protection)

automount_disable_trans (Mount)

avahi_disable_trans (SELinux Service Protection)

bluetooth_disable_trans (SELinux Service Protection)

canna_disable_trans (SELinux Service Protection)

cardmgr_disable_trans (SELinux Service Protection)

ccs_disable_trans (SELinux Service Protection)

cdrecord_read_content (User Privs)

ciped_disable_trans (SELinux Service Protection)

clamd_disable_trans (SELinux Service Protection)

clamscan_disable_trans (SELinux Service Protection)

clvmd_disable_trans (SELinux Service Protection)

comsat_disable_trans (SELinux Service Protection)

courier_authdaemon_disable_trans (SELinux Service Protection)

courier_pcp_disable_trans (SELinux Service Protection)

courier_pop_disable_trans (SELinux Service Protection)

courier_sqwebmail_disable_trans (SELinux Service Protection)

courier_tcpd_disable_trans (SELinux Service Protection)

cpucontrol_disable_trans (SELinux Service Protection)

cpuspeed_disable_trans (SELinux Service Protection)

cron_can_relabel (Cron)

crond_disable_trans (Cron)

cupsd_config_disable_trans (Printing)

cupsd_disable_trans (Printing)

cupsd_lpd_disable_trans (Printing)

cvs_disable_trans (CVS)

cyrus_disable_trans (SELinux Service Protection)

dbskkd_disable_trans (SELinux Service Protection)

dbusd_disable_trans (SELinux Service Protection)

dccd_disable_trans (SELinux Service Protection)

dccifd_disable_trans (SELinux Service Protection)

dccm_disable_trans (SELinux Service Protection)

ddt_client_disable_trans (SELinux Service Protection)

devfsd_disable_trans (SELinux Service Protection)

dhcpc_disable_trans (SELinux Service Protection)

dhcpd_disable_trans (SELinux Service Protection)

dictd_disable_trans (SELinux Service Protection)

direct_sysadm_daemon (Admin)

disable_evolution_trans (Web Applications)

disable_games_trans (Games)

disable_mozilla_trans (Web Applications)

disable_thunderbird_trans (Web Applications)

distccd_disable_trans (SELinux Service Protection)

dmesg_disable_trans (SELinux Service Protection)

dnsmasq_disable_trans (SELinux Service Protection)

dovecot_disable_trans (SELinux Service Protection)

entropyd_disable_trans (SELinux Service Protection)

fcron_crond (Cron)

fetchmail_disable_trans (SELinux Service Protection)

fingerd_disable_trans (SELinux Service Protection)

freshclam_disable_trans (SELinux Service Protection)

fsdaemon_disable_trans (SELinux Service Protection)

ftpd_disable_trans (FTP)

ftpd_is_daemon (FTP)

ftp_home_dir (FTP)

global_ssp (Admin)

gpm_disable_trans (SELinux Service Protection)

gssd_disable_trans (NFS)

hald_disable_trans (SELinux Service Protection)

hide_broken_symptoms (Compatibility)

hostname_disable_trans (SELinux Service Protection)

hotplug_disable_trans (SELinux Service Protection)

howl_disable_trans (SELinux Service Protection)

hplip_disable_trans (Printing)

httpd_builtin_scripting (HTTPD Service)

httpd_can_network_connect_db (HTTPD Service)

httpd_can_network_connect (HTTPD Service)

httpd_can_network_relay (HTTPD Service)

httpd_disable_trans (HTTPD Service)

httpd_enable_cgi (HTTPD Service)

httpd_enable_ftp_server (HTTPD Service)

httpd_enable_homedirs (HTTPD Service)

httpd_rotatelogs_disable_trans (SELinux Service Protection)

httpd_ssi_exec (HTTPD Service)

httpd_suexec_disable_trans (HTTPD Service)

httpd_tty_comm (HTTPD Service)

httpd_unified (HTTPD Service)

hwclock_disable_trans (SELinux Service Protection)

i18n_input_disable_trans (SELinux Service Protection)

imazesrv_disable_trans (SELinux Service Protection)

inetd_child_disable_trans (SELinux Service Protection)

inetd_disable_trans (SELinux Service Protection)

innd_disable_trans (SELinux Service Protection)

iptables_disable_trans (SELinux Service Protection)

ircd_disable_trans (SELinux Service Protection)

irqbalance_disable_trans (SELinux Service Protection)

iscsid_disable_trans (SELinux Service Protection)

jabberd_disable_trans (SELinux Service Protection)

kadmind_disable_trans (Kerberos)

klogd_disable_trans (SELinux Service Protection)

krb5kdc_disable_trans (Kerberos)

ktalkd_disable_trans (SELinux Service Protection)

kudzu_disable_trans (SELinux Service Protection)

locate_disable_trans (SELinux Service Protection)

lpd_disable_trans (SELinux Service Protection)

lrrd_disable_trans (SELinux Service Protection)

lvm_disable_trans (SELinux Service Protection)

mailman_mail_disable_trans (SELinux Service Protection)

mail_read_content (Web Applications)

mdadm_disable_trans (SELinux Service Protection)

monopd_disable_trans (SELinux Service Protection)

mozilla_read_content (Web Applications)

mrtg_disable_trans (SELinux Service Protection)

mysqld_disable_trans (Databases)

nagios_disable_trans (SELinux Service Protection)

named_disable_trans (Name Service)

named_write_master_zones (Name Service)

nessusd_disable_trans (SELinux Service Protection)

NetworkManager_disable_trans (SELinux Service Protection)

nfsd_disable_trans (NFS)

nfs_export_all_ro (NFS)

nfs_export_all_rw (NFS)

nmbd_disable_trans (Samba)

nrpe_disable_trans (SELinux Service Protection)

nscd_disable_trans (Name Service)

nsd_disable_trans (SELinux Service Protection)

ntpd_disable_trans (SELinux Service Protection)

oddjob_disable_trans (SELinux Service Protection)

oddjob_mkhomedir_disable_trans (SELinux Service Protection)

openvpn_disable_trans (SELinux Service Protection)

pam_console_disable_trans (SELinux Service Protection)

pegasus_disable_trans (SELinux Service Protection)

perdition_disable_trans (SELinux Service Protection)

portmap_disable_trans (SELinux Service Protection)

portslave_disable_trans (SELinux Service Protection)

postfix_disable_trans (SELinux Service Protection)

postgresql_disable_trans (Databases)

pppd_can_insmod (pppd)

pppd_disable_trans (pppd)

pppd_disable_trans (pppd)

pppd_for_user (pppd)

pptp_disable_trans (SELinux Service Protection)

prelink_disable_trans (SELinux Service Protection)

privoxy_disable_trans (SELinux Service Protection)

ptal_disable_trans (SELinux Service Protection)

pxe_disable_trans (SELinux Service Protection)

pyzord_disable_trans (SELinux Service Protection)

quota_disable_trans (SELinux Service Protection)

radiusd_disable_trans (SELinux Service Protection)

radvd_disable_trans (SELinux Service Protection)

rdisc_disable_trans (SELinux Service Protection)

readahead_disable_trans (SELinux Service Protection)

read_default_t (Admin)

read_untrusted_content (Web Applications)

restorecond_disable_trans (SELinux Service Protection)

rhgb_disable_trans (SELinux Service Protection)

ricci_disable_trans (SELinux Service Protection)

ricci_modclusterd_disable_trans (SELinux Service Protection)

rlogind_disable_trans (SELinux Service Protection)

rpcd_disable_trans (SELinux Service Protection)

rshd_disable_trans (SELinux Service Protection)

rsync_disable_trans (rsync)

run_ssh_inetd (SSH)

samba_enable_home_dirs (Samba

samba_share_nfs (Samba)

allow_saslauthd_read_shadow (SASL authentication server)

saslauthd_disable_trans (SASL authentication server)

scannerdaemon_disable_trans (SELinux Service Protection)

secure_mode (Admin)

secure_mode_insmod (Admin)

secure_mode_policyload (Admin)

sendmail_disable_trans (SELinux Service Protection)

setrans_disable_trans (SELinux Service Protection)

setroubleshootd_disable_trans (SELinux Service Protection)

slapd_disable_trans (SELinux Service Protection)

slrnpull_disable_trans (SELinux Service Protection)

smbd_disable_trans (Samba)

snmpd_disable_trans (SELinux Service Protection)

snort_disable_trans (SELinux Service Protection)

soundd_disable_trans (SELinux Service Protection)

sound_disable_trans (SELinux Service Protection)

spamassassin_can_network (Spam Assassin)

spamd_disable_trans (spam Protection)

spamd_enable_home_dirs (spam Protection)

spammassasin_can_network (spam Protection)

speedmgmt_disable_trans (SELinux Service Protection)

squid_connect_any (Squid)

squid_disable_trans (Squid)

ssh_keygen_disable_trans (SSH)

ssh_sysadm_login (SSH)

staff_read_sysadm_file (Admin)

stunnel_disable_trans (Universal SSL tunnel)

stunnel_is_daemon (Universal SSL tunnel)

swat_disable_trans (SELinux Service Protection)

sxid_disable_trans (SELinux Service Protection)

syslogd_disable_trans (SELinux Service Protection)

system_crond_disable_trans (SELinux Service Protection)

tcpd_disable_trans (SELinux Service Protection)

telnetd_disable_trans (SELinux Service Protection)

tftpd_disable_trans (SELinux Service Protection)

transproxy_disable_trans (SELinux Service Protection)

udev_disable_trans (SELinux Service Protection)

uml_switch_disable_trans (SELinux Service Protection)

unlimitedInetd (Admin)

unlimitedRC (Admin)

unlimitedRPM (Admin)

unlimitedUtils (Admin)

updfstab_disable_trans (SELinux Service Protection)

Информация о работе Настройка безопасности SELinux