<b>若何用SELinux保护Apache Web服务器?</b>[服务器安全]
本文“<b>若何用SELinux保护Apache Web服务器?</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
你的Web服务器确切有大概蒙受攻击,但是SELinux可以用来确保你的网站不用承受真正的毁伤.
你可以应用SELinux范例来成立一个切当定义:一个服务可以做什么和它在那边完成要做的事情.默许情形 下,httpd_sys_content范例被设为/var/www,它规定httpd进程可以在该目录中工作.假如攻击者破坏了Apache Web服务器并尝试在别处写入,就像红帽和Fedora以及CentOS等类似Linux版本的默许/tmp,你需求知道你正在处理什么.假如你配置 Apache来为/data目录中的内容服务,SELinux也会默许地避免这种情形.
由于这些默许设置大概造成复杂的情形,很多Linux管理员关闭SELinux.固然关闭SELinux的确让你的服务器供应服务时更简单,但是它还是增添了安全风险.
为Apache管理SELinux设置
为Apache等服务管理SELinux设置并不难.问题是并没有简单的图形工具可以让你快速安装.但只要用三条号令,你便可以配置它.
为了在你想让服务拜候到的目录上设置文件范例,你首先必须决意要利用的文件系统范例.要这么做,只需在服务利用的默许目录上输入ls –ldZ.
关于Apache,你会利用ls –ldZ /var/www.你会注意到在这种情形下,–Z选项给出了额外的文件属性,而–t选项才是最关键的一个.这个进程规定现有的文件系统范例,这个系统范例 是Apache设置的(httpd_sys_content_t).这也是你需求按照新文件根设置的文件范例.
你可以用两条号令设置你的内容情势:用chcon你可以做一次暂时的变更,它在重启后消逝;用followed by紧随着的semanage,你可以做永久的变更.
semanage号令仿佛有些复杂,但它实际上非常简单,因为你只需求改变你想要用的范例和目标目录.在下面的例子中,你只需求改变两个参数.
semanage fcontext -a -t httpd_sys_content_t /web(/.*)/?
在应用semanage设置默许文件范例之后,应用restorecon号令来确保它得到利用了.在上面的例子中,针对目录/web的文件范例被变更来答应到那个目录上服务器文件的Apache,运行以下号令来利用该变更:
restorecon -R -v /web
在这一点上,Apache将能服务于新的非默许文件根目录上的文件.
为SELinux管理布尔值
你需求管理的SELinux的另一个方面是SELinux布尔值.这些都是开启或关闭某些功效的二进制值.布尔值可以在多种服务中得到.应用getsebool –a号令来概观整个现有的布尔值.该号令普通会将你能利用的设置列成一个长长的列表.
要为你想配置的服务找到全部布尔值,通过grep传输全部getsebool –a的输出.举例来说,应用getsebool –a | grep http来找到全部与行http匹配的布尔值.即便你并非对全部布尔值都有明确熟习,你普通还是可以通过察看它们的名字和它们大概做的事情查懂得.
利用getsebool –a来找出哪个SELinux可以用来改正服务行为:
[root@bia Desktop]# getsebool -a | grep http
allow_httpd_anon_write --> off
allow_httpd_mod_auth_ntlm_winbind --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> on
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_read_user_content --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_tmp_exec --> off
httpd_tty_comm --> on
httpd_unified --> on
httpd_use_cifs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off
学会了你想用哪个布尔值后,应用setsebool -P来利用它们.假如你想答应Apache应用nfs,在上面应用setsebool -P http_use_nfs.想要得到全部可用布尔值的完好列表,咨询一下httpd_selinux页面,这个页面注释了Apache特有的文件标签和布 尔值.
以上是“<b>若何用SELinux保护Apache Web服务器?</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |