ÔõÑù¾ÙÐÐLinuxϵͳµÄÇå¾²¼Ó¹ÌÓëÎó²îÐÞ¸´
Ëæ×Åÿ¸öÆóÒµÔ½À´Ô½ÒÀÀµÓÚ»¥ÁªÍø£¬ÍøÂçÇå¾²ÈÕÒæ³ÉΪ×éÖ¯½¹µã¡£ÔÚÕâ·½Ã棬LinuxϵͳÊÇÒ»¸öºÜºÃµÄÆðµã¡£ÓÉÓÚ¿ªÔ´¡¢ÆÕ±éʹÓá¢ÎÞÐèÊÚȨµÈÌص㣬Linuxϵͳ³ÉΪÁËÐí¶à×éÖ¯ºÍÆóÒµµÄÊ×Ñ¡²Ù×÷ϵͳ¡£È»¶ø£¬LinuxϵͳµÄΣº¦Ò²ÔÚÒ»Ö±ÔöÌí¡£±¾ÎĽ«ÏÈÈÝÔõÑù¼Ó¹ÌºÍÐÞ¸´LinuxϵͳÎó²î£¬²¢ÌṩÁËһЩʾÀý´úÂ룬×ÊÖúÄú¶ÔLinuxϵͳ¾ÙÐÐÔ½·¢Çå¾²·½ÃæµÄÉèÖá£
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÖصã¹Ø×¢ÕâЩ·½Ã棺Óû§ÖÎÀí¡¢ÎļþºÍĿ¼ȨÏÞ¡¢ÍøÂçºÍЧÀÍÆ÷ÉèÖÃÒÔ¼°Ó¦ÓÃÇå¾²¡£ÏÂÃ潫ÏÈÈÝÿ¸ö·½ÃæµÄÏêϸ²½·¥ºÍʾÀý´úÂë¡£
Óû§ÖÎÀí
Ç¿ÃÜÂë
Öƶ©Ò»¸öÃÜÂëÕ½ÂÔ£¬ÒªÇóÓû§Ñ¡ÔñÖØ´óµÄÃÜÂ룬²¢ÇÒ°´ÆÚÌæ»»ÃÜÂë¡£
#Ç¿ÖÆÓû§Ñ¡Ôñ¾ß±¸×îµÍÃÜÂëÇ¿¶ÈµÄÃÜÂë auth requisite pam_passwdqc.so enforce=users #Ç¿ÖÆ/Óû§¸ü¸Ä×Ô¼ºµÄÃÜÂë auth required pam_warn.so auth required pam_passwdqc.so min=disabled,disabled,12,8,7 auth required pam_unix.so remember=24 sha512 shadow
µÇ¼ºó¸´ÖÆ
եȡrootÔ¶³ÌµÇ¼
½¨ÒéÉèÖÃÖ»Óо߱¸rootȨÏÞµÄÓû§¿ÉÒÔÖ±½Ó¾ÙÐÐÅþÁ¬¡£ÔÚ/etc/ssh/sshd_configÖÐÉèÖÃPermitRootLoginΪno¡£
µÇ¼³¬Ê±
³¬Ê±ÉèÖÿÉÒÔÈ·±£ÔÚ¿ÕÏÐÒ»¶Îʱ¼äÖ®ºó×Ô¶¯¶Ï¿ªÅþÁ¬¡£ÔÚ/etc/profile»ò~/.bashrcÖÐÉèÖÃÈçÏ£º
#ÉèÖÿÕÏÐÉÏ°¶³¬Ê±Í˳öʱ¼äΪ300Ãë TMOUT=300 export TMOUT
µÇ¼ºó¸´ÖÆ
ÎļþºÍĿ¼ȨÏÞ
ĬÈÏÉèÖÃ
ĬÈÏÉèÖý«ÔÊÐíËùÓÐÓû§¶¼¿ÉÒÔÉó²éµ½ËùÓеÄÎļþºÍĿ¼¡£ÔÚ/etc/fstabÎļþÖмÓÈëÈçÏÂÄÚÈÝ£º
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /dev/shm tmpfs defaults,noatime,mode=1777 0 0
µÇ¼ºó¸´ÖÆ
È·¶¨Ãô¸ÐÎļþºÍĿ¼µÄȨÏÞ
Ó¦¸Ã½«»á¼ûȨÏÞÏÞÖÆÔÚÌض¨Óû§×é»òСÎÒ˽ÈËÉíÉÏ¡£Ê¹ÓÃchownºÍchmodÏÂÁîÀ´ÐÞ¸ÄÎļþºÍĿ¼µÄȨÏÞ£¬ÏÂÃæʾÀýÊÇΪij¸öĿ¼ÉèÖÃÖ»ÄÜrootÓû§Ð޸ģº
#ÐÞ¸ÄijĿ¼ֻÄÜrootÓû§ÐÞ¸Ä chown root /etc/cron.deny chmod 600 /etc/cron.deny
µÇ¼ºó¸´ÖÆ
¼ì²éSUID¡¢SGID¡¢Sticky Bitλ
SUID £¨Set user ID£©, SGID£¨Set group ID£©£¬Sticky BitµÈλÊÇLinuxϵͳÖеÄһЩÇå¾²±ê¼Ç£¬ÐèÒª°´ÆÚÉó¼Æ¡£ÏÂÃæµÄÏÂÁîÓÃÀ´²éÕÒÈκÎȱ·¦¸ñµÄȨÏÞÇéÐΣº
#²éÕÒSUIDȨÏÞδ±»Ê¹ÓõÄÎļþºÍĿ¼ find / -perm +4000 ! -type d -exec ls -la {} ; 2>/dev/null #²éÕÒSGIDȨÏÞδ±»Ê¹ÓõÄÎļþºÍĿ¼ find / -perm +2000 ! -type d -exec ls -la {} ; 2>/dev/null #²éÕÒÕ³ÖÍλδÉèÖõÄĿ¼ find / -perm -1000 ! -type d -exec ls -la {} ; 2>/dev/null
µÇ¼ºó¸´ÖÆ
ÍøÂçºÍЧÀÍÆ÷ÉèÖÃ
·À»ðǽ
iptablesÊÇLinuxÖÐ×î³£ÓõķÀ»ðǽӦÓÃÖ®Ò»¡£ÏÂÃæµÄʾÀý´úÂë×èÖ¹ÁËËùÓнøÈëµÄ»á¼û£º
#Çå¿ÕËùÓйæÔòºÍÁ´ iptables -F iptables -X #ÔÊÐíËùÓÐÍâµØÊÕÖ§µÄͨѶ£¬²¢¾Ü¾øËùÓÐÔ¶³ÌµÄ»á¼û iptables -P INPUT DROP iptables -P OUTPUT DROP #Ìí¼Ó¹æÔò iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
µÇ¼ºó¸´ÖÆ
ÏÞÖÆЧÀÍ»á¼û
һЩЧÀÍÓ¦¸Ã½öÔÚÍâµØÖÐÔËÐУ¬±»ÍâÍø»á¼û±£´æºÜ´óµÄΣº¦¡£ÔÚ/etc/hosts.allow¡¢/etc/hosts.denyĿ¼ÖÐÖƶ©¹æÔò£¬ÓÃÀ´ÏÞÖÆ»á¼ûЧÀ͵Äʱ¼ä£¬IPµÈÐÅÏ¢¡£
Ó¦ÓóÌÐòÇå¾²
¸üÐÂÈí¼þ°ü
ÎÞÂÛÊÇÄÚºËÕÕ¾ÉÓû§¿Õ¼äÈí¼þ£¬¶¼ÐèÒª°´ÆÚ¸üÐÂÀ´½â¾öÒÑÖªµÄBugºÍÎó²î¡£Äú¿ÉÒÔʹÓÃyum¡¢rpmµÈ¹¤¾ßÀ´¸üÐÂÈí¼þ°ü¡£ÏÂÃæ¸ø³öʾÀý´úÂ룺
#¸üÐÂÒÑ×°ÖõÄËùÓÐÈí¼þ°ü yum -y update #¸üе¥¸öÈí¼þ°ü yum -y update <package>
µÇ¼ºó¸´ÖÆ
×èֹʹÓÃrootÓû§ÔËÐÐÓ¦ÓÃ
ÔËÐÐÓ¦ÓÃʱ£¬Ó¦¸ÃʹÓ÷ÇÌØȨÓû§£¬²»ÒªÊ¹ÓÃrootÓû§ÔËÐÐÓ¦Óá£
±àÒ뾲̬Á´½Ó¿â
¾²Ì¬Á´½Ó¿â°üÀ¨Á˱àдӦÓóÌÐòµÄËùÓÐÒÀÀµ¹Øϵ£¬¿ÉÒÔ×èÖ¹ÆäËûÓû§¸Ä¶¯ÒÀÀµ°ü¡£ÏÂÃæ¸ø³öʾÀý´úÂ룺
#±àÒ뾲̬Á´½Ó¿â gcc -o app app.c -static
µÇ¼ºó¸´ÖÆ
½áÂÛ
LinuxϵͳµÄÇå¾²¼Ó¹ÌÓëÎó²îÐÞ¸´ÊÂÇé²»Ö¹ÓÚ´Ë£¬µ«ÉÏÊö²½·¥¿ÉÒÔ×ÊÖúÎÒÃÇÔöÇ¿LinuxϵͳµÄÇå¾²ÐÔ¡£ÐèҪעÖصÄÊÇ£¬ÕâЩ²½·¥²¢²»¿ÉÍêÈ«°ü¹ÜϵͳµÄÇå¾²£¬×éÖ¯ºÍÆóÒµÓ¦¸Ã½ÓÄɶà¸ö·½ÃæµÄ²½·¥À´°ü¹ÜÇå¾²¡£
ÒÔÉϾÍÊÇÔõÑù¾ÙÐÐLinuxϵͳµÄÇå¾²¼Ó¹ÌÓëÎó²îÐÞ¸´µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡