LinuxЧÀÍÆ÷Çå¾²£ºÔöÇ¿Web½Ó¿ÚÇå¾²ÐÔµÄÒªº¦ÒªÁì¡£
LinuxЧÀÍÆ÷Çå¾²£ºÔöÇ¿Web½Ó¿ÚÇå¾²ÐÔµÄÒªº¦ÒªÁì
¡¾Ð¡Ðò¡¿
Ëæ×Å»¥ÁªÍøµÄ¿ìËÙÉú³¤£¬WebÓ¦ÓóÌÐòÒѾ³ÉΪÁËÏÖ´úÉúÑĺÍÓªÒµÖв»¿É»òȱµÄÒ»²¿·Ö¡£È»¶ø£¬ËæÖ®¶øÀ´µÄÇå¾²ÍþвҲԽÀ´Ô½¶à¡£ÎªÁ˱£»¤Óû§Êý¾ÝºÍÆóÒµÉñÃØÐÅÏ¢µÄÇå¾²£¬ÔöÇ¿Web½Ó¿ÚµÄÇå¾²ÐÔÓÈΪÖ÷Òª¡£±¾ÎĽ«ÏÈÈÝһЩҪº¦ÒªÁ죬×ÊÖúÄúÔöÇ¿LinuxЧÀÍÆ÷ÉÏWeb½Ó¿ÚµÄÇå¾²ÐÔ¡£
¡¾Ò»¡¢Ê¹ÓÃHTTPSÀ´¼ÓÃÜͨѶ¡¿
HTTPSÐÒéͨ¹ý¼ÓÃÜͨѶÄÚÈÝ£¬±ÜÃâÁËÊý¾Ý±»×èµ²ºÍÇÔÈ¡µÄΣº¦¡£Í¨¹ýʹÓÃSSLÖ¤Ê飬¿ÉÒÔʵÏÖЧÀÍÆ÷Óë¿Í»§¶ËÖ®¼äµÄÇ徲ͨѶ¡£ÎªÁËʹÓÃHTTPS£¬ÐèÒªÔÚЧÀÍÆ÷ÉÏ×°ÖÃÖ¤Êé²¢ÉèÖÃЧÀÍÆ÷Èí¼þ¡£ÒÔÏÂÊÇÒ»¸öÉèÖÃNginxЧÀÍÆ÷Ö§³ÖHTTPSµÄʾÀý´úÂ룺
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; location / { // ÆäËûÉèÖôúÂë... } }
µÇ¼ºó¸´ÖÆ
¡¾¶þ¡¢Ê¹Ó÷À»ðǽÏÞÖÆ»á¼û¡¿
ͨ¹ýÉèÖ÷À»ðǽ¹æÔò£¬¿ÉÒÔÏÞÖƶÔWeb½Ó¿ÚµÄ»á¼û¡£Ö»ÔÊÐíÌض¨IPµØµã»òIPµØµã¶Î»á¼ûЧÀÍÆ÷£¬¿ÉÒÔÓÐÓñÜÃâδÊÚȨµÄ»á¼û¡£ÒÔÏÂÊÇÒ»¸öʹÓÃiptablesÉèÖ÷À»ðǽ¹æÔòµÄʾÀý´úÂ룺
# ¹Ø±ÕËùÓÐÈëÕ¾ºÍ³öÕ¾ÅþÁ¬ iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # ÔÊÐíÌض¨IPµØµã»á¼ûÌض¨¶Ë¿Ú iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.1.200 --dport 443 -j ACCEPT iptables -A OUTPUT -p tcp -d 192.168.1.100 --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp -d 192.168.1.200 --sport 443 -j ACCEPT
µÇ¼ºó¸´ÖÆ
¡¾Èý¡¢Ê¹ÓÃWAF£¨WebÓ¦Ó÷À»ðǽ£©¡¿
WAFÊÇÒ»ÖÖÓÃÓÚ¼ì²âºÍ×èÖ¹WebÓ¦ÓóÌÐòÖеĶñÒâ¹¥»÷µÄÊÖÒÕ¡£Ëü¿ÉÒÔ¶ÔSQL×¢Èë¡¢¿çÕ¾¾ç±¾¹¥»÷(XSS)µÈ³£¼ûµÄWeb¹¥»÷¾ÙÐÐʵʱ¼à²âºÍ·À»¤¡£Í¨¹ýʹÓÃWAF£¬Äú¿ÉÒÔÔöÌí¶ÔWeb½Ó¿ÚµÄ±£»¤ÌõÀí¡£ÒÔÏÂÊÇÒ»¸öʹÓÃModSecurityÀ´ÉèÖÃWAFµÄʾÀý´úÂ룺
# ×°ÖÃModSecurity apt-get install libapache2-mod-security2 # ÉèÖÃModSecurity vi /etc/apache2/mods-enabled/security2.conf <IfModule mod_security2.c> SecRuleEngine On SecRuleRemoveById 900015 <LocationMatch "/"> SecRuleEngine DetectionOnly </LocationMatch> </IfModule>
µÇ¼ºó¸´ÖÆ
¡¾ËÄ¡¢°´ÆÚ¸üкÍÉý¼¶Èí¼þ¡¿
ΪÁ˱ÜÃâÒÑÖªµÄÎó²î±»Ê¹Ó㬰´ÆÚ¸üкÍÉý¼¶Ð§ÀÍÆ÷ÉϵÄÈí¼þºÜÊÇÖ÷Òª¡£Í¨³££¬Linux¿¯Ðаæ»áÌṩÇå¾²¸üкͲ¹¶¡³ÌÐò£¬ÄúÖ»ÐèÖ´ÐÐÏà¹ØÏÂÁî¼´¿É¡£ÒÔÏÂÊÇÒ»¸ö¸üÐÂUbuntuЧÀÍÆ÷Èí¼þµÄʾÀý´úÂ룺
apt-get update apt-get upgrade
µÇ¼ºó¸´ÖÆ
¡¾Î塢ʹÓÃÇ¿ÃÜÂëºÍ¶àÒòËØÉí·ÝÑéÖ¤¡¿
ΪÁ˱ÜÃâÃÜÂë±»ÍƲâ»ò±»±©Á¦Æƽ⣬ʹÓÃÇ¿ÃÜÂëÖÁ¹ØÖ÷Òª¡£Ç¿ÃÜÂëÓ¦¸Ã°üÀ¨×Öĸ¡¢Êý×ÖºÍÌØÊâ×Ö·û£¬²¢ÇÒ³¤¶ÈÖÁÉÙΪ8¸ö×Ö·û¡£±ðµÄ£¬ÎªÁËÔöÌíÇå¾²ÐÔ£¬¿ÉÒÔÆôÓöàÒòËØÉí·ÝÑéÖ¤¡£ÒÔÏÂÊÇÒ»¸öʹÓÃPAMÄ£¿éÉèÖÃÇ¿ÃÜÂëºÍ¶àÒòËØÉí·ÝÑéÖ¤µÄʾÀý´úÂ룺
# ×°ÖÃPAMÄ£¿é apt-get install libpam-google-authenticator # ÉèÖÃPAMÄ£¿é vi /etc/pam.d/common-password password required pam_google_authenticator.so password required pam_permit.so
µÇ¼ºó¸´ÖÆ
¡¾½áÂÛ¡¿
ͨ¹ý½ÓÄÉһϵÁÐÇå¾²²½·¥£¬¿ÉÒÔÔöÇ¿LinuxЧÀÍÆ÷ÉÏWeb½Ó¿ÚµÄÇå¾²ÐÔ¡£±¾ÎÄÏÈÈÝÁËʹÓÃHTTPS¼ÓÃÜͨѶ¡¢Ê¹Ó÷À»ðǽÏÞÖÆ»á¼û¡¢Ê¹ÓÃWAF¡¢°´ÆÚ¸üкÍÉý¼¶Èí¼þ¡¢Ê¹ÓÃÇ¿ÃÜÂëºÍ¶àÒòËØÉí·ÝÑéÖ¤µÈÒªº¦ÒªÁ졣ϣÍûÕâЩҪÁìÄܹ»×ÊÖúÄúÌá¸ßЧÀÍÆ÷µÄÇå¾²ÐÔ£¬±£»¤Web½Ó¿ÚÃâÊܶñÒâ¹¥»÷µÄÍþв¡£
ÒÔÉϾÍÊÇLinuxЧÀÍÆ÷Çå¾²£ºÔöÇ¿Web½Ó¿ÚÇå¾²ÐÔµÄÒªº¦ÒªÁì¡£µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡