±à¼ÍƼö: |
±¾ÎÄ´Ó°²È«¹¥»÷Ãæ³ö·¢£¬ÒÔ·ÀÓùÊӽǷÖÏíÎÒÃÇÔÚÔÆÔÉú°²È«ÔËÓªÉϵÄһЩʵ¼ùºÍ˼¿¼¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐŹ«ÖÚºÅÌÚѶ°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄ£¬ÓÉLinda±à¼¡¢ÍƼö¡£ |
|
ǰÑÔ
Ëæ×ÅÔÆ¼ÆËãµÄÅ·¢Õ¹£¬ÔÆÔÉú¸ÅÄî±»Ìá³ö²¢¿ìËÙ·¢Õ¹£¬¹«Ë¾ÄÚ²¿Ò²ÔÚÍÆ½øÊ¹ÓÃÔÆÔÉú¼¼Êõ½øÐмܹ¹ÓÅ»¯£¬Ñз¢Ä£Ê½ºÍ»ù´¡ÉèÊ©¶¼·¢ÉúÁ˺ܴóµÄ±ä»¯£¬ÐµÄk8sºÍÈÝÆ÷¼¼ÊõÕýÖð²½È¡´ú´«Í³µÄÎïÀí»úºÍÐéÄâ»ú¡£
ÎÒÃÇ·¢ÏÖ£¬ÔÚÔÆÔÉú¼Ü¹¹µÄÑݱä¹ý³ÌÖÐÒ²´øÀ´ÁËһЩеķçÏÕºÍÌôÕ½£¬ÌÚѶÀ¶¾ü¡¶ºìÀ¶¶Ô¿¹ÖеÄÔÆÔÉú©¶´ÍÚ¾ò¼°ÀûÓÃʵ¼¡·Ò»ÎÄÖдӹ¥»÷ÕßÊÓ½ÇÏêϸ½éÉÜÁËÔÆÔÉú¼Ü¹¹ÏµķçÏյ㣬°üÀ¨ÈÝÆ÷ÍøÂ簲ȫ¡¢ÈÝÆ÷ÌÓÒÝ¡¢ÈÝÆ÷/K8SÅäÖð²È«¡¢ÈÝÆ÷¾µÏñ°²È«¡¢Serverless°²È«¡¢DevOps°²È«µÈ¶à¸ö·½Ã棬¶ÔÒÔÉÏÏêϸϸ½Ú¸ÐÐËȤµÄ¿ÉÒÔÔÚ¸½Â¼²é¿´ÔÎÄÕ¡£
Ϊ±£ÕÏÒµÎñÉÏÔÆ°²È«£¬°²È«½¨ÉèÒ²ÒªË³Ó¦ÔÆÔÉúµÄ·¢Õ¹£¬Ò»·½ÃæÊǰ²È«ÏµÍ³µÄÑз¢²¿ÊðÒªÓÃÓµ±§ÔÆÔÉú£¬´ËǰÌÚѶ×ÔÑеÄHIDS/EDR¡°Ñó´Ð¡±Ò²ÓзÖÏíһЩ¾Ñ飨¼û¸½Â¼£©£¬ÁíÒ»·½ÃæÊǰ²È«ÔËÓªÒª·ÖÎö½â¾öÐµİ²È«·çÏÕ¡£
±¾ÎÄ´Ó°²È«¹¥»÷Ãæ³ö·¢£¬ÒÔ·ÀÓùÊӽǷÖÏíÎÒÃÇÔÚÔÆÔÉú°²È«ÔËÓªÉϵÄһЩʵ¼ùºÍ˼¿¼£¬»¶Ó´ó¼Ò½»Á÷̽ÌÖ¡£
ÔÆÔÉú°²È«
Ïȼòµ¥ËµÃ÷ÏÂÔÆÔÉúµÄ¸ÅÄî£¬ÔÆÔÉú¸ÅÄî×îÔçÊÇÔÚ2013ÄêÓÉ Pivotal ¹«Ë¾µÄ Matt Stine
Ìá³öµÄ£¬2015ÄêGoogleÖ÷µ¼³ÉÁ¢CNCF£¨ÔÆÔÉú¼ÆËã»ù½ð»á£©Ò²¶¨ÒåÁËÔÆÔÉú¡£¶ÔÓÚÔÆÔÉú£¬²»Í¬×éÖ¯Óв»Í¬µÄÀí½â£¬²»Í¬Ê±¼ä¶¨Ò岻ͬ£¬Ê±ÖÁ½ñÈձȽÏÖ÷Á÷µÄ»¹ÊÇPivotal
ºÍ CNCF¡£
PivotalÌá³öµÄÔÆÔÉúµÄ4¸öÒªµã£ºDevOps¡¢³ÖÐø½»¸¶¡¢Î¢·þÎñ¡¢ÈÝÆ÷£»CNCF(ÔÆÔÉú¼ÆËã»ù½ð»á)Ìá³öÔÆÔÉúµÄ¹Ø¼ü¼¼Êõ:
ÈÝÆ÷¡¢·þÎñÍøÂ硢΢·þÎñ¡¢²»¿É±ä»ù´¡ÉèÊ©ºÍÉùÃ÷ʽAPI¡£
ÔÆÔÉú°²È«½¨É蹤×÷Ò²ÊÇÎ§ÈÆÕâЩºËÐÄÔªËØÕ¹¿ª£¬¿ÉÒÔ¼òµ¥µÄ·ÖΪ»ù´¡°²È«¡¢K8S/ÈÝÆ÷°²È«¡¢ÔÆÔÉúÓ¦Óð²È«ºÍDevSecOps¡£

ÆäÖлù´¡°²È«Ö÷Òª»¹ÊǵײãÉ豸/ÔÆ»·¾³µÄһЩ´«Í³µÄ»ù´¡°²È«·À»¤£¬°üÀ¨ÐéÄ⻯°²È«¡¢DDoS·À»¤¡¢Ö÷»ú°²È«¡¢ÍøÂ簲ȫµÈ£¬DevSecOps´ËǰÒÑ·¢¹ýһЩÎÄÕ£¨¸½Â¼£©£¬±¾ÎÄÖØµã½éÉÜÔÚk8s¡¢ÈÝÆ÷¡¢Ó¦ÓòãÔÆÔÉú°²È«·½ÏòµÄһЩ°²È«ÔËÓª½¨Éè˼¿¼¡£
ÔÆÔÉúÓ¦Óð²È«
ÔÆÔÉúÓ¦ÓòãÉæ¼°Ãæ¹ã£¬ÔÚ°²È«½¨ÉèÖнáºÏ¹¥»÷¾ØÕóºÍÄÚ²¿ÒµÎñÃæÁÙµÄһЩʵ¼Ê·çÏÕ£¨»ùÓÚÄÚ²¿À¶¾üÑÝÁ·£©ÊáÀí³öһЩ¸ß·çÏÕµãÓÅÏȽ¨É裬Ö÷Òª¾Û½¹ÔÚ΢·þÎñ°²È«¡¢Serverless°²È«ºÍAPIÍø¹Ø°²È«¡£
3.1΢·þÎñ°²È«
ÀûÓøßΣ·þÎñÈëÇÖÊÇÍøÂç¹¥»÷ÖÐ×î¼òµ¥³£¼ûµÄÒ»ÖÖ·½·¨£¬ÓÈÆäÊÇÔÚÄÚÍø¸ôÀë´ëÊ©ºÍ°²È«ÒâʶûÓÐÍâÍøÑϸñµÄµØ·½¸üÈÝÒ×±»¹¥»÷¡£
ÔÆÔÉú¼Ü¹¹µÄ»ù´¡ÊÇK8SºÍÈÝÆ÷£¬ÒµÎñÒÔ΢·þÎñÐÎʽ²¿Ê𣬷þÎñ°²È«Ïà½ÏÓÚ´«Í³»·¾³¸ü¼ÓÖØÒª¡£ÎÒÃÇͨ¹ý·þÎñɨÃè¡¢·þÎñ¸ôÀë¡¢·þÎñÇåÀí¡¢·þÎñÈÏÖ¤¼øÈ¨À´×öÈÝÆ÷»·¾³µÄ·þÎñÖÎÀí¡£
΢·þÎñ¼Ü¹¹Ê¾Òâͼ£º

3.1.1 ·þÎñɨÃè
ºÍ´«Í³IDCÍøÂçÒ»Ñù£¬ÔÚÄÚÍâÍø·Ö±ð²¿ÊðɨÃè½Úµã£¬Í¨¹ý¶Ô¶Ë¿Ú½øÐÐÁ¬½ÓºÍ̽²â·¢ÏÖ¸ßΣ·þÎñ£¬ÕâÀïÖ÷Ҫͨ¹ýÌÚѶ×ÔÑеÄ©¶´¼ì²âϵͳ¡°¶´Ï¬¡±À´ÊµÏÖ£¬ºÍ´«Í³É¨ÃèµÄÇø±ðÊÇÐèÒª¶ÔK8S
overlayÍøÂç»·¾³×öһЩ¸ÄÔìÊÊÅä¡£K8S podÍøÂç¼òµ¥¿ÉÒÔ·ÖΪÁ½Àà:
1£©podÍøÂçºÍµ×²ãÍøÂç¿ÉÒÔÖ±½ÓͨÐÅ£¬podÕ¼Ò»¸ö¶ÀÁ¢ÄÚÍøip£¬ºÍµ×²ã½ÚµãÔÚͬһ¸öÍøÂçÆ½Ãæ;
2£©podÍøÂçÔÚoverlay£¬podʹÓÃ˽ÓÐip£¬Ä¬ÈÏÖ»ÄÜÔÚ¼¯ÈºÄÚ»¥ÏàͨÐÅ¡£k8s¿ª·ÅÖ§³ÖÁËCNIÍøÂç½Ó¿ÚÒÔʵÏÖ²»Í¬µÄoverlayÍøÂçͨÐÅ·½°¸£¬Ä¿Ç°Á÷ÐеÄCNI²å¼þÓÐFlannel¡¢Calico¡¢WeaveºÍCanalµÈ¡£
¶ÔÓÚpodÔÚoverlayµÄÕâÖÖ³¡¾°´«Í³É¨ÃèÆ÷ÎÞ·¨´¥´ï£¬¸ÄÔì·½°¸¼Æ»®ÊÇÔÚ²»Í¬TKE¼¯ÈºÄÚÉèÖÃɨÃè½ÚµãÀ´½â¾ö£¬¸ßΣ·þÎñµÄɨÃè»á·¢ËͰ²È«¹¤µ¥£¬ÒµÎñÊÕµ½°²È«¹¤µ¥¼°Ê±ÐÞ¸´¼´¿É¡£
3.1.2 ·þÎñ¸ôÀë
ÎÞ״̬µÄ·þÎñÔÚpodÖØÆôºóIP»á¶¯Ì¬±ä»¯£¬»ùÓÚIPµÄACL²ßÂÔ²»ÔÙÓÐЧ£¬K8S×ÔÉíÌṩÁËnetwork
policy»úÖÆÀ´ÊµÏÖÍøÂç¸ôÀ룬¿ÉÒÔÖ§³Ö°´namespace»òpodγ¶ÈÀ´Öƶ¨Èý²ã/ËIJãµÄ²»Í¬¼¶±ðµÄ¸ôÀë²ßÂÔ£¬ÍøÂç²ßÂÔÅäÖÿɲο¼£º
https://kubernetes.io/zh/docs/concepts/services-networking/network-policies/
Ŀǰҵ½çÒ²ÓÐһЩÈÝÆ÷°²È«²úÆ·ÖмÓÈëÁËpod¸ôÀ빦Äܼò»¯ÒµÎñÅäÖã¬ÓиöСÎÊÌâ¾ÍÊDz¢²»ÊÇËùÓеÄK8S
CNIÍøÂç²å¼þ¶¼Ö§³Önetwork policy²ßÂÔ£¨Ö§³ÖµÄ²å¼þÁÐ±í£º
https://kubernetes.io/docs/concepts/cluster-administration/addons/#networking-and-network-policy
·þÎñ¸ôÀë×î´óµÄÄѵãÊÇÔÚÔËÓªÂ䵨£¬ÊµÊ©¸ôÀëÐèÒª¾íÈëÒµÎñ²ÎÓë±ÜÃâÓ°Ïìµ½ÒµÎñÎȶ¨ÐÔ£¬Õâ»áÔö¼ÓÒµÎñµÄÔËάºÍ¹ÜÀí³É±¾£¬ÒµÎñµÄÒâÔ¸ÐÔ²»Ç¿£¬ÔÚʵ¼ÊÔËÓªÖÐÐèÒª¶ÔÒµÎñ×ö·ÖÀà·Ö¼¶£¬°´ÒµÎñÌØÐÔ¡¢·ÖÀàºÍ°²È«µÈ¼¶·Ö±ðÖ´Ðв»Í¬µÄ°²È«±ê×¼ºÍÔËÓª²ßÂÔ¡£
3.1.3 ·þÎñ×îС»¯
°´ÕÕ΢·þÎñµÄÀíÄîÔÚÒ»¸öpodÖÐÖ»ÔËÐе¥Ò»µÄ·þÎñ£¬ÕâÖÖÀíÄî·ûºÏ°²È«ÖеÄ×îС»¯ÔÔò£¬µ«ÔÚʵ¼ÊÉú²úÖÐÓÐЩҵÎñµÄ²¿Êðģʽ²¢²»ÊǺÜÔÆÔÉú¡£
°ÑÈÝÆ÷µ±ÐéÄâ»úÓã¬ÔÚÖÆ×÷¹¹½¨ÒµÎñ¾µÏñʱÓÐʱºò»á´òÈëһЩ·ÇÒµÎñ·þÎñ£¬ÒýÈëÁ˲»±ØÒªµÄ°²È«·çÏÕ£¬ÐèÒªÇåÀíµô²»ÐèÒªµÄ·þÎñºÍ×é¼þ£¬ÖÁÉÙҪɾ³ýµô¸ßΣ·þÎñ¡£
±ÈÈçɾ³ýµôSSH·þÎñ¾Í³¹µ×¶Å¾øÁËSSHÃÜÂë±¬ÆÆ»òÃÜÂëй¶µÄ°²È«·çÏÕ£¬¸ßΣ·þÎñÎÒÃÇÊáÀíÁËÒ»¸öÇåµ¥²¢¼ÓÈëµ½°²È«¹æ·¶£¬²¢ÔÚ»ù´¡¾µÏñ¡¢ÒµÎñ¾µÏñ¹¹½¨½×¶Î½¨Éè¼ì²âºÍ¹Ü¿Ø´ëÊ©ÍÆ¶¯·çÏÕµÄÊÕÁ²¡£
3.1.4 ÈÏÖ¤ÊÚȨ
΢·þÎñ¼Ü¹¹ÏÂÄÚÍø·þÎñÖ®¼äµÄͨѶʮ·Ö¸´ÔÓ£¬Ò²Ôö¼ÓÁ˰²È«½¨ÉèµÄ³É±¾£¬·þÎñÍø¸ñ¼¼ÊõºÜºÃµÄ½â¾öÁ˸ÃÎÊÌ⣬·þÎñÍø¸ñ½«Ó¦ÓóÌÐòµÄÍøÂçͨÐŲ¿·Ö°þÀë³öÀ´×÷Ϊһ¸ösidecar¶ÀÁ¢ÔËÐУ¬ËùÓÐÓ¦ÓóÌÐòµÄͨÐŶ¼¾¹ýsidecar´úÀí£¬ÓÉ·þÎñÍø¸ñ×ö·ÓÉ¿ØÖƺÍÍøÂç¹ÜÀí¡£
»ùÓÚ·þÎñÍø¸ñ¿ÉÒÔ°Ñ·þÎñ¼äµÄͨÐÅͳһµÄ¹Ü¿ØÆðÀ´£¬ÒÔistioΪÀý£¬ÏÂͼÊÇ·þÎñÍø¸ñ istioµÄ°²È«¼Ü¹¹£¬ÊµÏÖÁËͳһµÄÉí·ÝÈÏÖ¤ºÍ·ÃÎÊ¿ØÖÆ£¬istioµÄÉí·ÝÈÏÖ¤ÊÇCNCFÏîÄ¿ÖÐspiffe°²È«¿ò¼ÜµÄµÄÒ»¸öʵÏÖ£¬spiffe£¨Secure
Production Identity Framework For Everyone£©ÊÇÒ»Ì×°²È«±ê×¼£¬ÔÚ¹Ù·½ÎĵµÖгýÁËistio»¹ÓÐConsul¡¢KumaҲʵÏÖÁËÕâ¸ö°²È«±ê×¼£¬istioµÄ·ÃÎÊ¿ØÖÆÍ¨¹ýÅäÖÃrbac²ßÂÔʵÏÖ¡£
ÓÉÓÚĿǰ·þÎñÍø¸ñ¼¼Êõ»¹Ã»ÓÐÐγÉÀàËÆk8s´óһͳµÄ¾ÖÃæ£¬¸÷¸öÔÆ¶¼ÓÐÍÆ³ö×Ô¼ºµÄMesh£¬ÒµÎñ²àÒ²ÓÐһЩ×ÔÑеÄMesh·½°¸£¬·þÎñÍø¸ñ¼¼ÊõĿǰ»¹´¦ÔÚ·¢Õ¹ÖУ¬»ùÓÚ·þÎñÍø¸ñ×ö°²È«ÈÏÖ¤ÊÚȨµÄÂ䵨·½°¸»¹ÐèÒª³ÖÐøÃþË÷¡£

3.2 Serverless°²È«
Serverless×÷ÎªÔÆÔÉúµÄÒ»¸öÖØÒª¼¼Êõ£¬°²È«×ÔȻҲÊǷdz£ÖØÒª£¬ÌÚÑ¶ÔÆÒ²ÓÐÌṩServerlessƽ̨·þÎñ¡ª¡ªSCF¡£¶ÔÓÚÓû§ÔËÐкͲ¿Êð´úÂëÎÞÐè·þÎñÆ÷£¬°´Ð踶·Ñ£¬ServerlessģʽϵݲȫÎÊÌâ·ÖΪÁ½Àࣺƽ̨°²È«ºÍÓ¦ÓÃ×ÔÉíµÄ°²È«¡£

3.2.1 ƽ̨°²È«
ƽ̨ÉÏ×â»§¹ºÂòServerless·þÎñÅܶñÒâ´úÂë»ò³¢ÊÔ¹¥»÷µÄÐÐΪ·Ç³£³£¼û£¬Æ½Ì¨´æÔÚ©¶´¿ÉÄܻᵼÖ¿ç×â»§¹¥»÷»ò×ÊÔ´ÏûºÄÀàÎÊÌ⣬°²È«ÉÏÖ÷Ҫͨ¹ý×â»§×ÊÔ´¸ôÀë¡¢»·¾³ÖØÖúÍÖ÷»ú°²È«¼ì²âµÈ»úÖÆÀ´½â¾ö¡£ÓÉÓÚÕâÀïµÄ¹¥»÷/×÷¶ñ³É±¾ºÜµÍ£¬ÐèÒªÁªºÏÔÆÆ½Ì¨×öÖÎÀíºÍ´ò»÷·½°¸¡£
3.2.2 Ó¦Óð²È«
ServerlessÓ¦ÓÃÒ²´æÔÚ°²È«Â©¶´µÄÎÊÌâ¡£ÓÉÓÚServerlessÓ¦ÓõÄÉúÃüÖÜÆÚºÜ¶Ì£¬°²È«É¨ÃèºÍ¼ì²â»úÖÆ´æÔÚÒ»¶¨ÑÓʱ£¬¿ÉÄÜ»¹Ã»´¥·¢°²È«É¨ÃèÓ¦ÓÃËùÔڵĻ·¾³ÒѾ±»Ïú»ÙÖØÖÆÁË¡£
»ùÓÚÕâ¸öÌØÐÔÔËÐÐʱӦÓÃ×ÔÎÒ±£»¤£¨RASP£¬Runtime Application Self-Protection£©ÊÇÒ»¸ö±È½ÏºÏÊʵĽâ¾ö·½°¸£¬RASPËæÓ¦ÓóÌÐòÆô¶¯¶øÆô¶¯£¬ÇҾ߱¸Ó¦Óòãʵʱ°²È«¼ì²âºÍ°²È«×è¶ÏµÄÄÜÁ¦£¬ÔËÓªÄѵãÔÚÓÚ²»ÊÇͨÓ÷½°¸£¬ÐèÒª¶Ô²»Í¬ÓïÑԺͲ»Í¬°æ±¾¿ª·¢Î¬»¤¶à¸ö°²È«×é¼þ£¬ÓÉÓÚÇÖÈëÐÔÇ¿£¬ÅäÖÃÉÏÒ²ÐèÒªÄܹ»Ö§³Ö¶¨ÖÆ»¯³¡¾°Âú×㲻ͬÀàÐ͵ÄÒµÎñÐèÇó¡£
3.3 APIÍø¹Ø°²È«
APIÍø¹Ø½Ó¹ÜÁËÄϱ±ÏòÁ÷Á¿£¬·½±ãǰ¶Ëµ÷ÓùÜÀí¸´Ôӵĺó¶Ë·þÎñ¡£ÔÚ°²È«ÉÏAPIÍø¹Ø²úÆ·Ò»°ã¶¼»á×Ô´øÌṩÈÏÖ¤¼ÓÃÜ¡¢·ÃÎÊ¿ØÖƵݲȫÄÜÁ¦£¬°²È«ÍŶÓÖ÷ÒªÊǽâ¾ö°²È«·À»¤µÄÎÊÌ⣬ÆäÖлù´¡°²È«ÖбȽÏÖØÒªµÄ¾ÍÊÇWAF¡£ÌÚѶ×ÔÑеÄWAF¡°ÃÅÉñ¡±ÒѾÔÚ¿ªÊ¼Ö§³ÖAPIµÄ°²È«·À»¤¡£
ΪÁË·½±ãÒµÎñ½ÓÈëWAF£¬°²È«ÔËÓªÉÏÐèÒªÓÐһЩ±ã½ÝµÄ·½Ê½£¬Ä¿Ç°ÎÒÃÇÊÇÓÐÁ½¸öʵ¼ù£º
1£©APIGW + ¸ºÔؾùºâ£¨ÌÚѶÄÚ²¿ÊÇCLB/TGW£©¼Ü¹¹£¬ÎÒÃÇÔÚ¸ºÔؾùºâ²úÆ·ÉÏͳһʵÏÖWAF½ÓÈë
2£©APIGW + SCF¼Ü¹¹£¬ÕâÖּܹ¹Ä¿Ç°Ö÷ÒªÊÇÄÚÍøÒµÎñÔÚÓã¬ÄÚÍøÒµÎñ»á¾¹ý¹«Ë¾µÄ°ì¹«Íø¹Ø£¬ÎÒÃǽ«WAFǰÖõ½APIGW֮ǰ£¬ºÍ°ì¹«Íø¹ØÁª¶¯ÊµÏÖÁËͳһ½ÓÈë¡£ÔÚÄÚÍø½ÓÈëÉÏÐèҪעÒâµÄ·À»¤µÄÎóɱ£¬½¨ÒéÊÇÏȽÓÈëÁ÷Á¿ÅÔ·¹Û²ì²¢ÌṩһЩÅäÖýӿڸøµ½ÒµÎñ×Ô¶¨Òå¡£

ÈÝÆ÷°²È«
ÔÆÔÉú¼Ü¹¹Ï»ù´¡ÔËÐл·¾³´ÓÎïÀí»ú/ÐéÄâ»ú±ä³ÉÁËÈÝÆ÷£¬ÈÝÆ÷°²È«½¨ÉèÓÐһЩеÄÁìÓò£¬Ò²ÓÐһЩÁìÓòÊÇ¿ÉÒÔ»ùÓÚ´«Í³°²È«ÏµÍ³¸üеü´ú½â¾öµÄ£¬Íâ½çÓÐһЩ˵·¨ÊÇ´«Í³°²È«²úÆ·ÍêÈ«²»ÊÊÓÃÈÝÆ÷£¬±ÊÕßÈÏΪÊÇÓеã¿ä´óÁË£¬ÒÔÏÂÊÇÎÒÃÇÔÚÈÝÆ÷°²È«½¨ÉèÖÐÓöµ½µÄһЩÎÊÌâºÍʵ¼ù˼¿¼¡£
4.1 ÈÝÆ÷×ʲú¹ÜÀí
ÔÚ´«Í³¼Ü¹¹ÏÂͨ¹ýCMDB×ö×ʲú¹ÜÀí£¬ÔÆÔÉú¼Ü¹¹ÏÂ×îС¹ÜÀíµ¥Ôª²»ÔÙÊÇÎïÀí»úºÍCVM£¬±ä³ÉpodºÍÈÝÆ÷£¬°²È«É¨Ãè¡¢°²È«ÐÞ¸´ºÍ°²È«Ó¦¼±¶¼ÒÀÀµ×ʲúÐÅÏ¢(½ÚµãIP¡¢ÈÝÆ÷Ãû¡¢ÈÝÆ÷id¡¢¸ºÔðÈ˵È)£¬×ʲúÐÅÏ¢²»È«¿ÉÄܻᵼÖ°²È«Ê¼þÎÞ·¨ÅŲéÔÒòºÍÐÞ¸´¡£
ΪÁËÇø·Ö²»Í¬µÄ×ÊÔ´ÀàÐÍ£¨ÎïÀí»ú¡¢CVMºÍÈÝÆ÷£©£¬ÎÒÃÇÔÚ¹«Ë¾ÄÚ·¢²¼ÁË¡°ÐéÄâ×ÊÔ´¹ÜÀí×¢²á¹æ·¶¡±£¬´Ó¶ø±£Ö¤×ʲúÐÅÏ¢µÄ׼ȷ¼È룬¶ÔÓÚÈÝÆ÷×ʲúÈç¹ûÖ§³Ö¼ÈëCMDBµÄ»áÒªÇóÈÝÆ÷ƽֱ̨½Ó¼È룬²»ÄÜÖ§³ÖµÄ»áÒªÇóÈÝÆ÷ƽ̨ͬ²½µ½°²È«·þÎñÖÐÐÄ£¨ÌÚѶÄÚ²¿µÄSOC£©£¬SOCÌṩͳһµÄ½Ó¿Ú±ãÓÚ¸÷¸ö°²È«ÏµÍ³²éѯʹÓá£
4.2 ¼¯Èº°²È«ÅäÖÃ
ÌÚѶÄÚ²¿ÒµÎñÖ÷ÒªÊDz¿ÊðÔÚTKExƽ̨ÉÏ£¬TKExµÄµ×²ãÊÇk8S£¬ k8s°²È«ÅäÖÃÒµ½çÓÐһЩ°²È«±ê×¼£¬±È½Ï¹«ÈϵÄÊÇCIS£¨»¥ÁªÍø°²È«ÖÐÐÄ£©·¢²¼µÄ°²È«»ù×¼£º
https://www.cisecurity.org/benchmark/kubernetes/
ǰ¶Îʱ¼äNSA£¨ÃÀ¹ú¹ú¼Ò°²È«¾Ö£©Ò²·¢²¼ÁËÒ»¸ök8s¼Ó¹ÌÖ¸ÄÏ£º
Ó¢Îİ棺"Kubernetes Hardening Guidance"
https://media.defense.gov/2021/Aug/03/2002820425/-1/-1/1/CTR_KUBERNETES%20HARDENING%20GUIDANCE.PDF
ÖÐÎİ棺¡¶Kubernetes ¼Ó¹ÌÖ¸ÄÏ¡·ÖÐÎİæ
https://jimmysong.io/kubernetes-hardening-guidance/
ÓÉÓÚÕâЩָÄÏÄÚÈݽϳ¤ÇÒÓÐÒ»¶¨µÄѧϰ³É±¾£¬Îª·½±ã¹«Ë¾ÒµÎñ¿ìËÙ·¢ÏÖºÍÊÕÁ²¸ß·çÏÕÎÊÌ⣬½áºÏÌÚѶÀ¶¾üµÄ¹¥·Àʵ¼ù¾ÑéºÍÌÚѶ°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄ£¨TSRC£©´¦ÖùýµÄÕæÊµ°²È«°¸Àý£¬×ܽáÁËËÄÀà¸ß·çÏÕ³¡¾°ÓÅÏÈÍÆ¶¯ÐÞ¸´£¬¾ßÌå°üÀ¨£º

½ÓÏÂÀ´¾ÍÊÇÍÆ¶¯·çÏÕÊÕÁ²£¬ÔÚÔËÓªÉÏÎÒÃǰѰ²È«×÷ÎªÔÆÔÉú³ÉÊì¶ÈµÄÒ»¸ö×ÓÖ¸±ê£¬ºÍ×ÊÔ´ÀûÓá¢Ñз¢Ð§Äܹ¤×÷Ò»Í¬ÍÆ½ø£»
ͬʱÐèÒª¿ØÖÆÔöÁ¿·çÏÕµÄÊÕÁ²¡ª¡ª¿ªÆôPSP²ßÂÔ£¬PodSecurityPolicy£¨¼ò³ÆPSP£©¿ÉÒÔÅäÖö¨ÒåһЩ°²È«²ÎÊýÀ´ÏÞÖÆpodÆô¶¯£¬Ö»ÓÐpodÂú×ãÅäÖð²È«²ÎÊý²Å»á±»Æô¶¯£¬PSPÖ§³ÖµÄÅäÖÃÏî°üÀ¨
ÌØÈ¨ÈÝÆ÷¡¢Ä¿Â¼Ó³ÉäµÈ
Ïê¼û£º
https://kubernetes.io/docs/concepts/policy/pod-security-policy/?spm=a2c4g.11186623.2.14.703c8b7fMCIbrz
ͨ¹ý¿ªÆôPSP²ßÂÔ¿ÉÒÔ½â¾ö¶àÏîÅäÖò»µ±·çÏÕ¡£ÐèҪעÒâµÄÊÇPodSecurityPolicy ÔÚKubernetes
v1.21°æ±¾Öб»ÆúÓ㬽«ÔÚv1.25ÖÐɾ³ý£¬ÐèÒª¹Ø×¢ÏÂk8sºóÐøµÄÌæ´ú·½°¸¡£
4.3 ÈÝÆ÷¾µÏñ°²È«
¹«Ë¾ÔÚ´«Í³ÎïÀí»úºÍCVMÉÏOS¶¼ÊÇͳһ¹Ü¿ØµÄTLinux£¬°²È«ÐԽϸߡ£¶øÈÝÆ÷ÊÇ»ùÓÚ¾µÏñ¹¹½¨µÄ£¬¹«ÍøÉÏÓкܶ๫¹²¾µÏñ£¬ÕâЩ´Ó¹«ÍøÏÂÔØµÄ¾µÏñÈç¹û±»Ö²ÈëÁ˶ñÒâ´úÂë»òÕßÊǰüº¬Á˲»°²È«µÄ×é¼þ»áÖ±½ÓÓ°Ïìµ½ÏÖÍøÒµÎñ£¬ÓÉÓÚ¾µÏñµÄ¸´ÓÃÐÔÉõÖÁ»á²úÉú¹æÄ£ÐÔµÄÓ°Ïì¡£
ÔÚ±£ÕÏÈÝÆ÷¾µÏñ°²È«ÉÏ¿ÉÒÔÔÚ¾µÏñ²Ö¿âºÍ·¢²¼Á½¸ö·½Ãæ×ö°²È«¼Ó¹Ì£º
1£©´î½¨ÄÚ²¿°²È«µÄ¾µÏñ²Ö¿â£¬¿ØÖƺ͹ÜÀí»ù´¡¾µÏñ£¬¸÷¸ö¾µÏñ²Ö¿âά»¤Ò»Åú¿ÉÐŵĻù´¡¾µÏñ£¬½öÔÊÐíÔÚÕâÅú¾µÏñÉϹ¹½¨ÒµÎñ¾µÏñ£¬²¢¶Ô²Ö¿âµÄ¾µÏñ×ö³ÖÐø°²È«É¨Ã裬Ö÷ҪɨÃèÏîÓУº°²È«Â©¶´¡¢¶ñÒâÎļþ¡¢Ãô¸ÐÐÅÏ¢ºÍ°²È«»ùÏßÅäÖá£
2£©Á÷Ë®Ïß°²È«É¨Ã裺ÔÚÒµÎñ·¢²¼¾µÏñµÄ¹ý³ÌÖÐ×ö°²È«É¨ÃèºÍ¹Ü¿Ø£¬°²È«É¨Ãè²å¼þºÍ¾µÏñ¹¹½¨²å¼þ¼¯³Éµ½Ò»Æð£¬¼õÉÙÒµÎñ½ÓÈë³É±¾²¢ÊµÏÖĬÈϰ²È«¡£
4.4 ÈÝÆ÷ÔËÐÐʱ°²È«
ÈëÇÖ¼ì²âÊÇÈÝÆ÷ÔËÐÐʱ°²È«µÄÖØÒª°²È«ÊֶΡ£ÔÚ´«Í³¼Ü¹¹Ï£¬ÎÒÃÇͨ¹ýHIDS¡°Ñó´Ð¡±À´½â¾ö·þÎñÆ÷µÄÈëÇÖ¼ì²âÎÊÌâ¡£
ÔÚÈÝÆ÷»·¾³ÏÂÐèÒª²É¼¯ÈÝÆ÷ÄÚµÄÊý¾Ý×ö°²È«·ÖÎö£¬¼Ü¹¹ÉÏÎÒÃÇ»¹ÊÇ»ùÓÚHIDSʵÏÖÈÝÆ÷µÄÊý¾Ý²É¼¯£¬Ö§³ÖÈÝÆ÷»·¾³µÄwebshell¡¢·´µ¯shellºÍÒì³£½ø³Ì¼ì²âµÈ¶àÖÖ°²È«¹¦ÄÜ£¬ÓÃÒ»Ì×HIDSµÄºÃ´¦ÊÇ¿ÉÒÔ¼õÉÙÒµÎñÍŶӵijɱ¾£¬ÒµÎñÎÞÐè×öÈκθÄÔì»ò°²×°ÆäËûϵͳ¡£
ÔÚÈÝÆ÷¾µÏñÉÏÖ§³Ö´«Í³µÄtlinux/centos/ubuntu¾µÏñ£¬Ò²Ö§³ÖalpineÕâÀàÇáÁ¿ÈÝÆ÷¡£
4.5 ÈÝÆ÷µÇ¼¹ÜÀí
°²È«ÉϽ¨Òé¡°È¥consoleÔËά¡±²»µÇ¼ÈÝÆ÷£¬Êµ¼ÊÇé¿ö»¹ÊÇ»á´æÔÚÒµÎñÓеǼµÄÐèÇó£¬ÐèÒªÓа²È«·½°¸£¬ÏÈ¿´Ò»Ï¼¸ÖÖÈÝÆ÷µÇ¼ͨµÀ£º
1£©ÈÝÆ÷ÄÚ²¿Êðsshd·þÎñ£¬ÒµÎñ°ÑÈÝÆ÷µ±×÷ÐéÄâ»úÓÃͨ¹ýSSHµÇ¼ÈÝÆ÷×öÔËά£¬ÕâÖÖģʽ²»·ûºÏÔÆÔÉú¼Ü¹¹µÄÀíÄÇÒsshd·þÎñͨ¹ýÃÜÂëµÇ¼´æÔڷdz£´óµÄ°²È«·çÏÕ£¨ÃÜÂë±»±¬ÆÆ»ò¿ÚÁîй©£©£¬´ËÀàµÇ¼·½Ê½°²È«Éϲ»ÍƼö£¬½¨Òéɾ³ýÈÝÆ÷µÄsshd·þÎñ¡£
2£©ÏȵǼµ½ÈÝÆ÷node½ÚµãÔÙdocker exec½øÈëÈÝÆ÷£¬ÓÉÓÚÒ»¸ö½ÚµãÉÏ»áÔËÐжà¸öÈÝÆ÷£¬Í¬Ò»¸ö½ÚµãÉϵÄÈÝÆ÷¿ÉÄܲ¢²»ÊôÓÚͬһ¸ö¸ºÔðÈË£¬ÕâÖÖģʽ»á´æÔÚȨÏÞ·ÖÅä¹ý´óµÄÎÊÌâ¡£
3£©Í¨¹ýk8sµÄwebconsole»òkubectl¿Í»§¶ËµÇ¼¡£ÕâÖÖģʽҲ´æÔÚȨÏÞ¹ÜÀíµÄÎÊÌ⣬ÓÐЩҵÎñÊǰ´ÕÕÒµÎñÁ£¶È×öÊÚȨ£¬»áµ¼ÖÂȨÏÞ·ÖÅä¹ý´óµÄÎÊÌâ¡£
»ùÓÚÕâЩȨÏÞ¹ÜÀíÎÊÌâÎÒÃÇÑз¢ÁË·þÎñÆ÷ȨÏÞ¹ÜÀíϵͳ¡°Ìú½«¾ü¡±£¬¼¯ÖйÜÀí¹«Ë¾·þÎñÆ÷/ÈÝÆ÷×ʲúµÄÕ˺źÍȨÏÞ£¬°´×ʲúÁ£¶ÈϸÁ£¶ÈÊÚȨ£¬ÊµÏÖȨÏÞ×îС»¯·ÖÅ䣬²¢Ö§³Ö²Ù×÷Éó¼ÆÄÜÁ¦¡£
4.6 ÈÝÆ÷ÍøÂ簲ȫ
Á÷Á¿¼ì²âÊǽâ¾öÍøÂ簲ȫÎÊÌâµÄ³£Ó÷½°¸£¬¿ÉÒÔͨ¹ýIDS×ö°²È«¼ì²âºÍ·À»¤£¬ÔÚÔÆÔÉú¼Ü¹¹ÏÂIDSµÄÒ»¸öÄѵãÊÇץȡÈÝÆ÷¶«Î÷ÏòµÄÁ÷Á¿Í¨ÐÅ£¬ÎÒÃÇͨ¹ý¡°Ñó´Ð¡±ÔÚnode½Úµã²É¼¯ÈÝÆ÷µÄ¶«Î÷ÏòËIJãͨÐÅÁ÷Á¿×öÁËһЩ°²È«¼ì²â£¬Ö÷»ú¼ì²âµÄÄѵãÊÇÐèÒª¿ØÖÆ×ÊÔ´ÏûºÄ±ÜÃâÓ°ÏìÒµÎñ£¬ÔÚÊý¾Ý²É¼¯µÄ·á¸»¶ÈºÍIDS»¹ÊÇÓÐһЩ²î¾à¡£
³ý´ËÖ®Íâ·þÎñÍø¸ñÒ²´øÀ´ÁËһЩеÄÄÚÍøÁ÷Á¿²É¼¯·½Ê½£¬ÒÔistio·þÎñÍø¸ñΪÀýÏêϸ˵Ã÷Ï¡£ÏÂͼÊÇistioÌṩÁËÒ»¸öbookinfoʾÀý£¬productpage
¡¢reviews¡¢ratings¡¢detailsÊDz»Í¬µÄ΢·þÎñ¡£

ÎÒÃǰÑproductpage·ÃÎÊreviewsµÄ¶«Î÷ÏòÁ÷Á¿¾µÏñÒ»·Ýµ½²âÊÔÈÝÆ÷Nginx£¬ÕâÀïÐèÒªÅäÖÃÒ»¸öVirtualService£¬VirtualServiceÔÚistioÖиºÔðÁ÷Á¿Â·ÓÉת·¢£¬ÔÚVirtualServiceÅäÖÃÖмÓÒÔϼ¸ÐдúÂëʵÏÖÁ÷Á¿¾µÏñ¡£

¾µÏñµ½µÄÊý¾ÝÈçÏ£º

¸úÔʼÊý¾ÝÏà±È£¬³ýÁËHTTPÐÒéÍ·ÖеÄhostºÍx-forwarded-forÖµ²»Í¬£¬ÆäËû¶¼Ò»Ñù£¬host×Ö¶ÎÔÚÔÊý¾ÝÉϼÓÁËÒ»¸ö¡°-shadow¡±ºó׺¡£²»¹ýÔÚistioµÄ¹Ù·½ÎĵµÖУ¬VirturalServiceµ±Ç°Ö§³Ö¶Ô
http,tls,tcp ÈýÖÖÀàÐ͵ÄÁ÷Á¿½øÐзÓÉÅäÖ㬽öhttpÁ÷Á¿ÓÐmirrorÁ÷Á¿¾µÏñµÄÅäÖÃÑ¡Ïî¡£

дÔÚ×îºó
ÔÆÔÉú¼¼Êõ´¦ÔÚÒ»¸ö¿ìËÙ·¢Õ¹µÄ½×¶Î£¬ÔÆÔÉú°²È«½¨ÉèҲûÓбê×¼´ð°¸£¬»¹ÐèÒªÔÚ·¢Õ¹Öв»¶Ïʵ¼ùºÍÃþË÷¡£×îºó»¶Ó´ó¼Ò¹Ø×¢ÌÚѶ°²È«Ó¦¼±ÏìÓ¦ÖÐÐĹ«Öںţ¬ÎÒÃǶ¨ÆÚ·ÖÏí°²È«¼¼ÊõÎÄÕ£¬º¸ÇDDoS·À»¤¡¢ÔÆÔÉú°²È«¡¢DevSecOps¡¢Á÷Á¿°²È«¡¢Ç°ÑØÑо¿¡¢ºìÀ¶¶Ô¿¹µÈ¶à¸ö·½Ãæ¡£ |