在Redhat Enterprise Linux 4.0或Fedora Core 2 Linux以上版本的Linuxä¸ï¼Œæœ‰ä¸å°‘用户ç»å¸¸ä¼šé‡åˆ°è¯¸å¦‚apacheçš„Permission denied,X windows打ä¸å¼€ç‰ç‰é—®é¢˜ï¼ŒæŠ›å¼€ä¸€äº›å¸¸è§„é…ç½®é”™è¯¯å¤–ï¼Œå¾ˆå¤§ä¸€éƒ¨åˆ†åŽŸå› æ˜¯å› ä¸ºæ¿€æ´»äº†SELinux的缘故。 什么是SELinux?SELinux全称是Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开å‘çš„GPL项目,它拥有一个çµæ´»è€Œå¼ºåˆ¶æ€§çš„访问控制结构,旨在æ高Linux系统的安全性,æ供强å¥çš„安全ä¿è¯ï¼Œå¯é˜²å¾¡æœªçŸ¥æ”»å‡»ï¼Œæ®ç§°ç›¸å½“于B1级的军事安全性能。比MS NT所谓的C2ç‰é«˜å¾—多。应用SELinuxåŽï¼Œå¯ä»¥å‡è½»æ¶æ„攻击或æ¶æ„软件带æ¥çš„ç¾éš¾ï¼Œå¹¶æ供对机密性和完整性有很高è¦æ±‚çš„ä¿¡æ¯å¾ˆé«˜çš„安全ä¿éšœã€‚SELinux vs Linux普通Linuxå®‰å…¨å’Œä¼ ç»ŸUnixç³»ç»Ÿä¸€æ ·ï¼ŒåŸºäºŽè‡ªä¸»å˜å–控制方法,å³DAC,åªè¦ç¬¦åˆè§„定的æƒé™ï¼Œå¦‚规定的所有者和文件属性ç‰ï¼Œå°±å¯å˜å–资æºã€‚åœ¨ä¼ ç»Ÿçš„å®‰å…¨æœºåˆ¶ä¸‹ï¼Œä¸€äº›é€šè¿‡setuid/setgid的程åºå°±äº§ç”Ÿäº†ä¸¥é‡å®‰å…¨éšæ‚£ï¼Œç”šè‡³ä¸€äº›é”™è¯¯çš„é…置就å¯å¼•å‘巨大的æ¼æ´žï¼Œè¢«è½»æ˜“攻击。而SELinux则基于强制å˜å–控制方法,å³MAC,é€è¿‡å¼ºåˆ¶æ€§çš„安全ç–略,应用程åºæˆ–用户必须åŒæ—¶ç¬¦åˆDACåŠå¯¹åº”SELinuxçš„MACæ‰èƒ½è¿›è¡Œæ£å¸¸æ“作,å¦åˆ™éƒ½å°†é到拒ç»æˆ–失败,而这些问题将ä¸ä¼šå½±å“其他æ£å¸¸è¿ä½œçš„程åºå’Œåº”用,并ä¿æŒå®ƒä»¬çš„安全系统结构。SELinux on Redhat Linux在RHEL4.0或FC3以上的版本ä¸ï¼Œå¯ä»¥åœ¨å®‰è£…时就选择是å¦æ¿€æ´»SELinuxï¼Œç³»ç»Ÿè‡ªåŠ¨ä¼šå®‰è£…ç›¸åº”çš„å†…æ ¸ã€å·¥å…·ã€ç¨‹åºç‰ã€‚由于SELinuxçš„MAC机制将æžå¤§çš„å½±å“äº†çŽ°æœ‰å¼•ç”¨ï¼Œå› æ¤RHEL4/FC3ä¸å·²é¢„é…置了大é‡å…¼å®¹çŽ°æœ‰åº”用的安全ç–略。SELinuxçš„é…置相关文件都在/etc/selinux下,其ä¸/etc/selinux/targeted目录里就包å«äº†ç–略的详细é…置和context定义,以下是主è¦æ–‡ä»¶åŠåŠŸç”¨ï¼š/etc/selinux/targeted/contexts/*_context 默认的context设置/etc/selinux/targeted/contexts/files/* 精确的context类型划分/etc/selinux/targeted/policy/* ç–略文件使用Redhat 默认的ç–略对æ£å¸¸åº”用带æ¥çš„å½±å“比较å°ï¼Œå…¼å®¹æ€§ç›¸å¯¹æ¯”较好。对于需è¦æ供虚拟主机或大é‡åº”用的用户而言,则会带æ¥ä¸å°çš„麻烦,需è¦ä»”细阅读SELinux的手册进行调整。其ä¸Fedora Core 的官方网站上有相关的Apache/SELinuxçš„ç–略调整文档,建议web用户仔细阅读。激活SELinuxçš„æ“作系统,需è¦å¯¹ç–略和模å¼è¿›è¡Œå˜æ›´æ—¶ï¼Œä¸€èˆ¬ä¸éœ€è¦é‡å¯åŠ¨å³å¯èŽ·å¾—å˜åŒ–,主è¦å°±æ˜¯é€è¿‡libselinux软件包实现。 libselinux包å«äº†å¯¹ç–略的控制/管ç†å·¥å…·ï¼Œå…¶ä¸getsebool/setsebool是读å–/设置SELinux 布尔值的工具,getenforce/setenforce则是设置强制性的工具。Why SELinux?æ¯«æ— ç–‘é—®ï¼šå®‰å…¨ï¼å¦‚今Internet上病毒ã€æ”»å‡»å±‚出ä¸ç©·ï¼Œä¿¡æ¯å®‰å…¨å—到了严é‡å¨èƒï¼Œè€Œæ™®é€šLinux的安全性è¦åšå¾—很好并ä¸å®¹æ˜“,且没有一个ä¸å¤®åŒ–çš„å®‰å…¨ä½“ç³»ç»“æž„ï¼Œå› æ¤ä½¿ç”¨SELinuxå¯ä»¥ä½¿ç”¨å¼ºåˆ¶çš„访问控制æ¥è¿›è¡Œå°é¢—粒度的æƒé™æŽ§åˆ¶ï¼Œå¹¶æ高系统的稳定性,简化了防系统崩溃的调整工作,达到信æ¯ä¿å¯†å’Œå®Œæ•´æ€§çš„è¦æ±‚。SELinux主è¦çš„改进在于:# å¯¹å†…æ ¸å¯¹è±¡å’ŒæœåŠ¡çš„访问控制# 对进程åˆå§‹åŒ–ã€ç»§æ‰¿å’Œç¨‹åºæ‰§è¡Œçš„访问控制# 对文件系统ã€ç›®å½•ã€æ–‡ä»¶å’Œæ‰“开文件æ述的访问控制# 对端å£ã€ä¿¡æ¯å’Œç½‘络接å£çš„访问控制。SELinux still difficult控制的东西越多使用起æ¥å°±è¶Šå®¹æ˜“å¤æ‚,SELinux也ä¸ä¾‹å¤–,目å‰SELinux还在ä¸æ–完善ä¸ï¼Œç®¡ç†å’ŒæŽ§åˆ¶ç–略并ä¸æ˜¯ä¸€ä»¶è½»æ¾çš„事,需è¦ä¸°å¯Œçš„系统知识和ç»éªŒï¼Œå¹¶ä¸”必须仔细阅读SELinux相关的文档,åšå¤§é‡çš„å°è¯•ã€‚ 关掉SELinuxçš„æ£ç¡®æ–¹æ³•ä¸ºï¼š 修改/etc/selinux/config文件ä¸çš„ SELINUX=' 为 disabled 然åŽé‡å¯
|