ÉîÈëÃ÷È·SELinuxµÄ¹¦Ð§ºÍÔÀí
SELinuxÊÇÒ»ÖÖÇ¿ÖÆ»á¼û¿ØÖÆ£¨MAC£©Çå¾²»úÖÆ£¬ÓÃÓÚ±£»¤Linux²Ù×÷ϵͳºÍÓ¦ÓóÌÐòÃâÊܶñÒâ¹¥»÷ÒÔ¼°Î´¾ÊÚȨµÄ»á¼û¡£±¾ÎĽ«ÉîÈë̽ÌÖSELinuxµÄ×÷Óá¢ÔÀí£¬²¢ÌṩÏêϸ´úÂëʾÀý£¬×ÊÖú¶ÁÕ߸üºÃµØÃ÷È·ºÍÓ¦ÓÃÕâÒ»Çå¾²¹¤¾ß¡£
1. SELinuxµÄ×÷ÓÃ
SELinuxÊÇÒ»ÖÖÔÚÄں˼¶±ðʵÑéµÄÇå¾²»úÖÆ£¬ÆäÄ¿µÄÊÇÇ¿»¯LinuxϵͳµÄÇå¾²ÐÔ£¬Ìṩ¸üϸÁ£¶ÈµÄ»á¼û¿ØÖÆ¡£Ïà½ÏÓڹŰåµÄLinux»á¼û¿ØÖÆ£¨DAC£©£¬SELinuxÌṩÁËÔ½·¢Ï꾡µÄȨÏÞ¿ØÖÆ£¬¿ÉÒÔÏÞÖƳÌÐò¶Ôϵͳ×ÊÔ´µÄ»á¼ûÒÔ¼°Àú³ÌÖ®¼äµÄ½»»¥¡£
ͨ¹ýSELinux£¬Óû§¿ÉÒÔ½ç˵¹æÔòÀ´ÏÞÖÆÄÄЩÀú³Ì¿ÉÒÔ»á¼ûÄÄЩÎļþ¡¢ÄÄЩÍøÂç¶Ë¿Ú£¬ÒÔ¼°¶Ôϵͳ×ÊÔ´µÄÆäËû»á¼û¿ØÖÆ¡£ÕâÖÖ»ùÓÚÕ½ÂÔµÄÇå¾²»úÖÆ¿ÉÒÔ½µµÍϵͳÔâÊܶñÒâ¹¥»÷µÄΣº¦£¬Ìá¸ßϵͳµÄÕûÌåÇå¾²ÐÔ¡£
2. SELinuxµÄÔÀí
ÔÚSELinuxÖУ¬Ã¿¸ö¹¤¾ß£¨ÈçÎļþ¡¢Àú³Ì¡¢ÍøÂç¶Ë¿ÚµÈ£©¶¼ÓÐÒ»¸öΨһµÄ±êÇ©£¬±»³ÆΪÇå¾²ÉÏÏÂÎÄ£¨Security Context£©¡£¸ÃÇå¾²ÉÏÏÂÎÄ°üÀ¨Á˹¤¾ßµÄÇå¾²ÊôÐÔÐÅÏ¢£¬È繤¾ßµÄ»á¼ûȨÏÞ¡¢ËùÊôÓû§¡¢½ÇÉ«µÈ¡£
ÁíÍ⣬SELinuxÖн«ÏµÍ³×ÊÔ´ºÍ²Ù×÷½ç˵Ϊһ¸öÇå¾²Õ½ÂÔÜöÝÍ£¬°üÀ¨ÁËÔÊÐí»á¼ûµÄ¹¤¾ßºÍ²Ù×÷µÄ¹æÔò¡£ÕâÖÖ·½·¨ÓÐÓõؽ«È¨ÏÞÖÎÀí´ÓÓû§¼¶±ðÌáÉýµ½ÁËϵͳ¼¶±ð£¬ÔöÇ¿ÁËϵͳµÄÇå¾²ÐÔ¡£
3. SELinuxµÄ´úÂëʾÀý
½ÓÏÂÀ´£¬ÎÒÃǽ«Í¨¹ýÒ»¸öÏêϸµÄ´úÂëʾÀýÀ´ÑÝʾÔõÑùÔÚSELinuxÖнç˵Çå¾²Õ½ÂԺͻá¼û¹æÔò¡£
ʾÀý£º
¼ÙÉèÎÒÃÇÓÐÒ»¸öÃûΪtest_script.shµÄ¾ç±¾£¬ÎÒÃÇÏ£Íû¸Ã¾ç±¾Ö»ÄܶÁÈ¡/var/log/messagesÎļþ£¬²¢²»¿ÉдÈëÆäËûÎļþ¡£
Ê×ÏÈ£¬½¨ÉèÒ»¸öSELinuxÕ½ÂÔÄ£¿éÎļþtest_script.te£¬½ç˵»á¼û¹æÔò£º
policy_module(test_script, 1.0); require { type unconfined_t; type var_log_t; type var_t; class file { read open getattr }; } allow unconfined_t var_log_t:file { read getattr }; dontaudit unconfined_t var_t:file { write create unlink };
µÇ¼ºó¸´ÖÆ
±àÒëºÍ¼ÓÔØÕ½ÂÔÄ£¿é£º
$ checkmodule -m -M -o test_script.mod test_script.te $ semodule_package -o test_script.pp -m test_script.mod $ semodule -i test_script.pp
µÇ¼ºó¸´ÖÆ
Ϊtest_script.sh¾ç±¾ÉèÖÃÇå¾²±êÇ©£º
$ chcon -t unconfined_t /path/to/test_script.sh
µÇ¼ºó¸´ÖÆ
ͨ¹ýÒÔÉÏ°ì·¨£¬ÎÒÃÇÀÖ³ÉΪtest_script.sh¾ç±¾½ç˵ÁË»á¼û¹æÔò£¬ÏÞÖÆÁËÆä¶Ô/var/log/messagesÎļþµÄ»á¼ûȨÏÞ£¬Ìá¸ßÁËϵͳµÄÇå¾²ÐÔ¡£
½áÓï
ͨ¹ý±¾ÎĵÄÏÈÈݺÍʾÀý£¬ÐÅÍжÁÕ߶ÔSELinuxµÄ×÷Óá¢ÔÀíÓÐÁ˸üÉîÈëµÄÊìϤ¡£SELinux×÷ΪһÖÖÖ÷ÒªµÄÇå¾²»úÖÆ£¬ÔÚ±£»¤LinuxϵͳÃâÊܶñÒâ¹¥»÷ºÍδ¾ÊÚȨ»á¼û·½ÃæÊÎÑÝ×ÅÖ÷Òª½ÇÉ«¡£Ï£Íû¶ÁÕßÄܹ»½øÒ»²½Ñ§Ï°ºÍÓ¦ÓÃSELinux£¬ÔöǿϵͳµÄÇå¾²·À»¤¡£
ÒÔÉϾÍÊÇÉîÈëÃ÷È·SELinuxµÄ¹¦Ð§ºÍÔÀíµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡