ÔõÑùʹÓÃSELinux±£»¤CentOSϵͳÇå¾²
ÔõÑùʹÓÃselinux±£»¤centosϵͳÇå¾²
СÐò£º
ÔÚÄ¿½ñ»¥ÁªÍøÇéÐÎÏ£¬±£»¤²Ù×÷ϵͳµÄÇå¾²ÐÔ±äµÃÔ½À´Ô½Ö÷Òª¡£CentOS×÷ΪһÖÖÊ¢ÐеÄLinux¿¯Ðа棬ÌṩÁËÇ¿Ê¢µÄ¹¤¾ßºÍ¹¦Ð§À´Î¬»¤ÏµÍ³µÄÇå¾²¡£ÆäÖÐÒ»¸öÖ÷ÒªµÄ×é¼þÊÇSELinux£¬ËüÊÇÓÉÃÀ¹ú¹ú¼ÒÇå¾²¾Ö£¨NSA£©¿ª·¢µÄÒ»ÖÖÇå¾²Ôöǿϵͳ£¬¿ÉÒÔÓÐÓõØïÔÌϵͳÔâÊܶñÒâ¹¥»÷ºÍδÊÚȨ»á¼ûµÄΣº¦¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃSELinuxÀ´±£»¤CentOSϵͳµÄÇå¾²£¬²¢¸½´øһЩÊÊÓõĴúÂëʾÀý¡£
Ò»¡¢Ê²Ã´ÊÇSELinux£º
SELinuxÊÇÒ»ÖÖ»ùÓÚÇ¿ÖÆ»á¼û¿ØÖÆ£¨MAC£©µÄÇå¾²»úÖÆ£¬ËüΪLinuxϵͳÌṩÁËÌØÁíÍâÇå¾²²ã¡£Í¨¹ý½ç˵¹¤¾ß£¨ÈçÎļþ¡¢Ä¿Â¼¡¢Àú³Ì£©¡¢Ö÷Ì壨ÈçÓû§¡¢Àú³Ì£©ºÍ²Ù×÷£¨Èç¶Á¡¢Ð´¡¢Ö´ÐУ©£¬SELinuxÏÞÖÆÁËϵͳÖеĻá¼ûÐÐΪ¡£Í¨¹ý½«Ã¿¸ö×ÊÔ´ºÍ²Ù×÷ÓëÇå¾²Õ½ÂÔÏà¹ØÁª£¬SELinux¿ÉÒÔÓÐÓõؿØÖÆÕâЩ»á¼û£¬²¢ÌṩÁ˸üϸÄåµÄÇå¾²±£»¤¡£
¶þ¡¢¿ªÆôSELinux£º
ÔÚCentOSϵͳÉÏ£¬Ä¬ÈÏÇéÐÎÏÂSELinuxÊÇ´¦ÓÚ½ûÓÃ״̬µÄ¡£ÒªÆôÓÃSELinux£¬¿ÉÒÔƾ֤ÒÔÏ°취²Ù×÷£º
±à¼/etc/selinux/configÎļþ£º
vi /etc/selinux/config
µÇ¼ºó¸´ÖÆ
ÕÒµ½ÒÔÏÂÐв¢ÐÞ¸ÄΪ”enforcing”£º
SELINUX=enforcing
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢¹Ø±ÕÎļþ£¬ÖØÆôϵͳ£º
reboot
µÇ¼ºó¸´ÖÆ
Èý¡¢»ù±¾µÄSELinuxÏÂÁ
Ò»µ©ÆôÓÃÁËSELinux£¬Äú¿ÉÒÔʹÓÃÒÔÏ»ù±¾ÏÂÁîÀ´ÖÎÀíºÍÉèÖÃËü£º
»ñÈ¡SELinux״̬£º
sestatus
µÇ¼ºó¸´ÖÆ
ÐÞ¸ÄSELinuxÔÝʱ״̬£º
setenforce 0 # ÉèÖÃΪpermissiveģʽ setenforce 1 # ÉèÖÃΪenforcingģʽ
µÇ¼ºó¸´ÖÆ
ÐÞ¸ÄÎļþ»òĿ¼µÄSELinuxÉÏÏÂÎÄ£º
chcon -R -t httpd_sys_content_t /var/www/html # ½«/var/www/htmlĿ¼µÄÉÏÏÂÎÄÉèÖÃΪhttpd_sys_content_t£¬ÒÔ±ãApacheÄܹ»»á¼û
µÇ¼ºó¸´ÖÆ
ËÄ¡¢ÉèÖÃSELinuxÕ½ÂÔ£º
³ýÁË»ù±¾ÏÂÁîÍ⣬Äú»¹¿ÉÒÔ¸ü¸ÄSELinuxÕ½ÂÔÒÔ˳ӦÄúµÄÓ¦ÓóÌÐòºÍÇéÐΡ£ÒÔÏÂÊÇһЩ³£ÓõÄSELinuxÉèÖÃʾÀý£º
×Ô½ç˵SELinuxÕ½ÂÔÄ£¿é£º
cat > myapp.te <<-EOF module myapp 1.0; require { type httpd_t; type myapp_t; class file { open read }; } allow httpd_t myapp_t:file { open read }; EOF checkmodule -M -m -o myapp.mod myapp.te semodule_package -o myapp.pp -m myapp.mod semodule -i myapp.pp
µÇ¼ºó¸´ÖÆ
Éó²éSELinuxÉÏÏÂÎÄ£º
ls -Z /path/to/file # ÏÔʾָ¶¨ÎļþµÄSELinuxÉÏÏÂÎÄ
µÇ¼ºó¸´ÖÆ
ÐÞ¸ÄÎļþĬÈÏSELinuxÉÏÏÂÎÄ£º
semanage fcontext -a -t httpd_sys_content_t '/var/www/myapp(/.*)?' # ½«/var/www/myappĿ¼¼°Æä×ÓĿ¼µÄÉÏÏÂÎÄÉèÖÃΪhttpd_sys_content_t restorecon -Rv /var/www/myapp # Ó¦ÓÃÉÏÏÂÎĸü¸Ä
µÇ¼ºó¸´ÖÆ
¶¨ÖÆSELinuxÒì³£Õ½ÂÔ£º
audit2allow -a # ´ÓÉó¼ÆÈÕÖ¾ÌìÉúÒì³£Õ½ÂÔ
µÇ¼ºó¸´ÖÆ
Îå¡¢½áÂÛ£º
SELinuxÊÇCentOSϵͳÖб£»¤²Ù×÷ϵͳÇå¾²ÐÔµÄÇ¿Ê¢¹¤¾ß¡£Í¨¹ýÏÞÖÆ×ÊÔ´ºÍ²Ù×÷µÄ»á¼ûÐÐΪ£¬SELinux¿ÉÒÔÓÐÓõØïÔÌϵͳÔâÊܶñÒâ¹¥»÷ºÍδÊÚȨ»á¼ûµÄΣº¦¡£±¾ÎÄÏÈÈÝÁËÔõÑùÆôÓÃSELinux¡¢»ù±¾µÄSELinuxÏÂÁîÒÔ¼°Ò»Ð©³£¼ûµÄSELinuxÉèÖÃʾÀý¡£Ï£Íû±¾ÎÄÄÜΪÄúÌṩÓйØÔõÑùʹÓÃselinux±£»¤centosϵͳÇå¾²µÄÖ¸µ¼£¬²¢×ÊÖúÄúÔÚʵ¼ùÖÐÕÆÎÕÏà¹ØÊÖÒÕ¡£
²Î¿¼×ÊÔ´£º
Red Hat, Inc. “SELinux User’s and Administrator’s Guide.” (https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index)
CentOS Project. “CentOS Wiki.” (https://wiki.centos.org/)
ÒÔÉϾÍÊÇÔõÑùʹÓÃSELinux±£»¤CentOSϵͳÇå¾²µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡