The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux
По умолчанию для Apache, nginx  и других http-серверов при использовании
SELinux в CentOS 7 и RHEL 7 область видимости ограничена директорией /var/www.
Для смены корня документов на /home/site следует включить новые директории в
правила httpd_sys_content_t и httpd_sys_script_exec_t.


Включаем временно:
   chcon -R -t httpd_sys_content_t /home/site
   chcon -R -t httpd_sys_script_exec_t /home/site/cgi-bin

Включаем постоянно:
   semanage fcontext -a -t httpd_sys_content_t "/home/site(/.*)?"
   semanage fcontext -a -t httpd_sys_script_exec_t "/home/site/cgi-bin(/.*)?"
   restorecon -r -v /home/site


Отслеживаем возможные проблемы в /var/log/audit/audit.log и при необходимости
строим свои правила обхода. В качестве шаблона можно использовать результат
работы утилиты audit2allow:

   audit2allow -M policy_name -i /var/log/audit/audit.log 
   semodule -i policy_name.pp


Не забываем открыть доступ к сетевым портам на межсетевом экране:
   firewall-cmd --permanent --add-port=80/tcp
   firewall-cmd --permanent --add-port=443/tcp
 
04.09.2015
Ключи: centos, rhel, selinux, apache, httpd / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Помещение программ в chroot

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Продавец_кирпичиков_из_говна, 13:10, 04/09/2015 [ответить] [смотреть все]
  • +/
    audit2allow -M policy_name -i /var/log/audit/audit.log
    Никогда так не делай, а если делаешь - не советуй такое нигде кроме лисяры и опеннета.
     
     
  • 2.2, Alexander, 13:24, 04/09/2015 [^] [ответить] [смотреть все]
  • +/
    А в чем проблема? Редхэт официально так советует:
    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/
     
     
  • 3.4, Stax, 22:49, 04/09/2015 [^] [ответить] [смотреть все]
  • +/
    В том, что не советуют они так просто делать - и по этой ссылке упомянуто несколько довольно важных нюансов. Не говоря уж о других решениях, типа setroubleshoot, который дает иногда осмысленные рекомендации об отсутствующих контекстах или boolean'ах.
     
  • 3.5, Алексей, 11:23, 05/09/2015 [^] [ответить] [смотреть все]
  • +/
    Проблема в том, что этой командой вы разрешите ВСЁ без разбора.
     
     
  • 4.6, Alexander, 12:29, 07/09/2015 [^] [ответить] [смотреть все]
  • +/
    > Проблема в том, что этой командой вы разрешите ВСЁ без разбора.

    Да, согласен, автору стоило это отметить

     
  • 3.9, PnDx, 17:14, 10/09/2015 [^] [ответить] [смотреть все]  
  • +/
    Я бы примерно так делал (на примере nsd):
    # Пока отлаживаем
    setenforce Permissive
    grep nsd /var/log/audit/audit.log | audit2allow -m nsd_ns1
    # Читаем, что вышло. Осмысливаем, там _иногда_ разумно про setsebool советуют.
    # По итогам, втыкаем политику ("nsd" уже есть, так что меняем имя)
    grep nsd /var/log/audit/audit.log | audit2allow -M nsd_ns1 ; semodule -i nsd_ns1.pp
    #Всё, проверяем
    setenforce Enforcing
     
  • 1.7, manofring, 13:36, 07/09/2015 [ответить] [смотреть все]  
  • +/
    следовало бы еще добавить
    firewall-cmd --reload
    А то ведь люди (нубы) буду страдать :)
     
     
  • 2.15, leap42, 19:38, 03/10/2015 [^] [ответить] [смотреть все]  
  • +/
    не надо так делать, это противоречит самой сути firewalld
    firewall-cmd --add-port=80/tcp
    firewall-cmd --add-port=80/tcp --permanent
     
  • 1.8, manofring, 13:39, 07/09/2015 [ответить] [смотреть все]  
  • +/
    И вообще раз уж вы хотите что бы юзеры могли свой контент делать в хомяках через Apache, есть готовая фича в индейце user_dirs по моему. Включаешь в конфиге Апача эту фичу и вперед, у selinux там есть булева переменная для разрешения.
     
  • 1.10, pavlinux, 02:46, 14/09/2015 [ответить] [смотреть все]  
  • +/
    > ... при использовании SELinux

    Ви таки считаете, что поделка от АНБ защитит вас лучше, чем sys_chdir() вызываемая из апача?

     
     
  • 2.14, Аноним, 16:41, 02/10/2015 [^] [ответить] [смотреть все]  
  • +/
    Просто обычные грабли уже приелись, хотят новых, вот и пишут мануалы по операция... весь текст скрыт [показать]
     
  • 1.12, гость, 09:46, 23/09/2015 [ответить] [смотреть все]  
  • +/
    простите, а для чего вообще изначально вся эта затея?
     
  • 1.13, manofring, 22:34, 29/09/2015 [ответить] [смотреть все]  
  • +/
    3 последних комментатора - ни очем, спамеры.
    Кстати никакой разницы для какого веб-сервера вы меняете root, хоть NginX хоть Apache, тип контекста selinux у них одинаковы.
    Pavlinux - если начал договаривай, сказал как в тазик с водой пернул, слышно и пахнет но известно откуда оно?
    последний ваще высер написал.
     
  • 1.16, Sw00p aka Jerom, 17:56, 09/10/2015 [ответить] [смотреть все]  
  • +/
    setenforce Disabled анбнегодует )
     
  • 1.17, bagas, 20:26, 31/10/2015 [ответить] [смотреть все]  
  • +/
    Жуть!, зачем так все усложнять!
    Видать разроботчики хотят выпендрется, что типа они идут по другому пути развития, а в этоге просто палки в колеса сами себе вставляют.
    rpm системы ужасны до неузноваемости! Не логичны!
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor