httpd_selinux - Online Manual Page Of Unix/Linux

  Command: man perldoc info search(apropos)

WebSearch:
Our Recommended Sites: Full-Featured Editor
 

httpd_selinux(8)                httpd Selinux Policy documentation               httpd_selinux(8)



NAME
       httpd_selinux - Security Enhanced Linux Policy for the httpd daemon

DESCRIPTION
       Security-Enhanced Linux secures the httpd server via flexible mandatory access control.

FILE_CONTEXTS
       SELinux requires files to have an extended attribute to define the file type.  Policy gov-
       erns the access daemons have to these files.  SELinux httpd policy is very flexible allow-
       ing users to setup their web services in as secure a method as possible.

       The following file contexts types are defined for httpd:

              httpd_sys_content_t
              -  Set files with httpd_sys_content_t for content which is available from all httpd
              scripts and the daemon.

              httpd_sys_script_exec_t
              - Set cgi scripts with httpd_sys_script_exec_t to allow them to run with access  to
              all sys types.

              httpd_sys_script_ro_t
              -  Set files with httpd_sys_script_ro_t if you want httpd_sys_script_exec_t scripts
              to read the data, and disallow other sys scripts from access.

              httpd_sys_script_rw_t
              - Set files with httpd_sys_script_rw_t if you want httpd_sys_script_exec_t  scripts
              to read/write the data, and disallow other non sys scripts from access.

              httpd_sys_script_ra_t
              -  Set files with httpd_sys_script_ra_t if you want httpd_sys_script_exec_t scripts
              to read/append to the file, and disallow other non sys scripts from access.

              httpd_unconfined_script_exec_t
              - Set cgi scripts with httpd_unconfined_script_exec_t to allow them to run  without
              any  SELinux protection. This should only be used for a very complex httpd scripts,
              after exhausting all other options.  It is better to use this  script  rather  than
              turning off SELinux protection for httpd.


NOTE
       With  certain  policies  you can define addional file contexts based on roles like user or
       staff.  httpd_user_script_exec_t can be defined where it would only have access to  "user"
       contexts.


BOOLEANS
       SELinux policy is customizable based on least access required.  So by default SElinux pre-
       vents certain http scripts from working.  httpd policy is extremely flexible and has  sev-
       eral  booleans  that  allow  you  to manipulate the policy and run httpd with the tightest
       access possible.

       httpd can be setup to allow cgi scripts to be executed, set httpd_enable_cgi to allow this

              setsebool -P httpd_enable_cgi 1


       httpd by default is not allowed to access users home directories.  If you  want  to  allow
       access  to  users  home  directories you need to set the httpd_enable_homedirs boolean and
       change the context of the files that you want people to access off the home dir.

              setsebool -P httpd_enable_homedirs 1
              chcon -R -t httpd_sys_content_t ~user/public_html


       httpd by default is not allowed access to the controling terminal.  In most cases this  is
       prefered,  because  an  intruder  might  be able to use the access to the terminal to gain
       privileges. But in certain situations httpd needs to prompt for a password to open a  cer-
       tificate  file,  in  these  cases,  terminal  access  is required.  Set the httpd_tty_comm
       boolean to allow terminal access.

              setsebool -P httpd_tty_comm 1


       httpd can be configured to not differentiate file controls  based  on  context,  i.e.  all
       files  labeled  as httpd context can be read/write/execute.  Setting this boolean to false
       allows you to setup the security policy such that one httpd service can not interfere with
       another.

              setsebool -P httpd_unified 0


       httpd can be configured to turn off internal scripting (PHP).  PHP and other
              loadable modules run under the same context  as  httpd.  Therefore  several  policy
              rules  allow  httpd  greater  access  to  the system then is needed if you only use
              external cgi scripts.

              setsebool -P httpd_builtin_scripting 0


       httpd scripts by default are not allowed to connect out to the network.
              This would prevent a hacker from breaking into you httpd server and attacking other
              machines.  If you need scripts to be able to connect you can set the httpd_can_net-
              work_connect boolean on.

              setsebool -P httpd_can_network_connect 1


       You can disable suexec transition, set httpd_suexec_disable_trans deny this

              setsebool -P httpd_suexec_disable_trans 1


       You can disable SELinux protection for the httpd daemon by executing:

              setsebool -P httpd_disable_trans 1
              system httpd restart


       system-config-securitylevel is a GUI tool available to customize SELinux policy  settings.

AUTHOR
       This manual page was written by Dan Walsh <>.


SEE ALSO
       selinux(8), httpd(8), chcon(1), setsebool(8)





                          17 Jan 2005                           httpd_selinux(8)