在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 ç„¶åŽé‡å¯
|