¾ÅÓÎÀϸç

¾ÅÓÎÀϸç

¾ÅÓÎÀÏ¸ç¿Æ¼¼

  • »ù´¡ÉèÊ©Çå¾²

    »ù´¡ÉèÊ©Çå¾²
  • Êý¾ÝÇå¾²

    Êý¾ÝÇå¾²
  • ÔÆÅÌËãÇå¾²

    ÔÆÅÌËãÇå¾²
  • ¹¤Òµ»¥ÁªÍøÇå¾²

    ¹¤Òµ»¥ÁªÍøÇå¾²
  • ÎïÁªÍøÇå¾²

    ÎïÁªÍøÇå¾²
  • ÐÅÏ¢ÊÖÒÕÓ¦ÓÃÁ¢Òì

    ÐÅÏ¢ÊÖÒÕÓ¦ÓÃÁ¢Òì
  • ËùÓвúÆ·

    ËùÓвúÆ·
  • ËùÓнâ¾ö¼Æ»®

    ËùÓнâ¾ö¼Æ»®

»ù´¡ÉèÊ©Çå¾²


  • Õþ¸®

    Õþ¸®
  • ÔËÓªÉÌ

    ÔËÓªÉÌ
  • ½ðÈÚ

    ½ðÈÚ
  • ÄÜÔ´

    ÄÜÔ´
  • ½»Í¨

    ½»Í¨
  • ÆóÒµ

    ÆóÒµ
  • ¿Æ½ÌÎÄÎÀ

    ¿Æ½ÌÎÄÎÀ

  • ¾ÅÓÎÀϸçÔÆ ¾ÅÓÎÀϸçÔÆ
  • ¾ÅÓÎÀϸçÍþвÇ鱨ÖÐÐÄNTI ¾ÅÓÎÀϸçÍþвÇ鱨ÖÐÐÄNTI
  • TechWorldÊÖÒÕ¼ÎÄ껪 TechWorldÊÖÒÕ¼ÎÄ껪
  • ±±¾©¾ÅÓÎÀÏ¸ç¹«Òæ»ù½ð»á ±±¾©¾ÅÓÎÀÏ¸ç¹«Òæ»ù½ð»á
  • ÊÖÒÕ²©¿Í ÊÖÒÕ²©¿Í
  • Àֳɰ¸Àý Àֳɰ¸Àý

ÏàÖúͬ°éÉó²é¸ü¶à >

ÏàÖúͬ°é¶¯Ì¬

³ÉΪÏàÖúͬ°é

  • ¾ÅÓÎÀϸçÔÆ ¾ÅÓÎÀϸçÔÆ
  • ¾ÅÓÎÀϸçÍþвÇ鱨ÖÐÐÄNTI ¾ÅÓÎÀϸçÍþвÇ鱨ÖÐÐÄNTI
  • TechWorldÊÖÒÕ¼ÎÄ껪 TechWorldÊÖÒÕ¼ÎÄ껪
  • ±±¾©¾ÅÓÎÀÏ¸ç¹«Òæ»ù½ð»á ±±¾©¾ÅÓÎÀÏ¸ç¹«Òæ»ù½ð»á
  • ÊÖÒÕ²©¿Í ÊÖÒÕ²©¿Í
  • Àֳɰ¸Àý Àֳɰ¸Àý

ÊÖÒÕÖ§³ÖÉó²é¸ü¶à >

²úÆ·Ö§³Ö

  • ¾ÅÓÎÀϸçÔÆ ¾ÅÓÎÀϸçÔÆ
  • ¾ÅÓÎÀϸçÍþвÇ鱨ÖÐÐÄNTI ¾ÅÓÎÀϸçÍþвÇ鱨ÖÐÐÄNTI
  • TechWorldÊÖÒÕ¼ÎÄ껪 TechWorldÊÖÒÕ¼ÎÄ껪
  • ±±¾©¾ÅÓÎÀÏ¸ç¹«Òæ»ù½ð»á ±±¾©¾ÅÓÎÀÏ¸ç¹«Òæ»ù½ð»á
  • ÊÖÒÕ²©¿Í ÊÖÒÕ²©¿Í
  • Àֳɰ¸Àý Àֳɰ¸Àý

·µ»ØÁбí

¹ØÓÚÔÆÔ­ÉúÓ¦Óà £¬ÕâЩÇ徲Σº¦ÏàʶһÏÂ

2021-08-05

 

ÕªÒª£ºÔÆÔ­ÉúÓ¦ÓÃÊÂʵºÍ¹Å°åÓ¦ÓÃÓкβî±ð £¬Ç徲Σº¦ÉÏÓкÎת±ä£¿±¾ÎĽ«´Ó¹Å°åÓ¦ÓÃΣº¦¡¢Ó¦Óüܹ¹Àå¸ï´øÀ´µÄΣº¦¡¢ÔÆÅÌËãģʽ´øÀ´µÄΣº¦Èý¸öά¶È¾ÙÐÐÏÈÈÝ ¡£

 

Ò».  ¸ÅÊö

Ëæ×ÅÔÆÅÌËãÊÖÒÕµÄÒ»Ö±Éú³¤ £¬ÉÏÔÆÒѾ­²»ÔÙÊÇÒ»ÖÖÑ¡Ôñ £¬¶øÊÇÒ»ÖÖ¹²Ê¶ £¬ÊÇÆóÒµÊý×Ö»¯×ªÐ͵ÄÐëÒªÌõ¼þ ¡£ÔÚÏìӦʵ¼ùÀú³ÌÖÐ £¬¹Å°åÓ¦Óñ£´æÉý¼¶»ºÂý¡¢¼Ü¹¹Ó·Öס¢ÎÞ·¨µ¯ÐÔÀ©Õ¹¼°¿ìËÙµü´úµÈÎÊÌâ £¬ÓÚÊǽüÄêÀ´ÔÆÔ­ÉúµÄ¿´·¨Ó¦Ô˶øÉú £¬ÒÀ¸½×ÅÔÆÔ­Éúµ¯ÐÔ¡¢Ñ¸ËÙ¡¢×ÊÔ´³ØºÍ·þÎñ»¯µÈÌØÕ÷ £¬½â¾öÁËÓªÒµÔÚ¿ª·¢¡¢¼¯³É¡¢·Ö·¢ºÍÔËÐеÈÕû¸öÉúÃüÖÜÆÚÖÐÓöµ½µÄÎÊÌâ ¡£

 

ÔÆÔ­ÉúÇéÐÎÖÐ £¬Ó¦ÓÃÓɹŰåµÄµ¥Ìå¼Ü¹¹×ªÏò΢·þÎñ¼Ü¹¹ £¬ÔÆÅÌËãģʽҲÏìÓ¦µÄ´Ó»ù´¡ÉèÊ©¼´·þÎñ£¨Infrastructure as a Service £¬IaaS£©×ªÏòΪÈÝÆ÷¼´·þÎñ£¨Container as a Service £¬CaaS£©ºÍº¯Êý¼´·þÎñ£¨Function as a Service £¬FaaS£© ¡£Ó¦Óüܹ¹ºÍÔÆÅÌËãģʽµÄÀå¸ïÊÇ·ñ»áµ¼Ö½øÒ»²½µÄΣº¦ £¬ÕâЩΣº¦½ÏÖ®¹Å°åÓ¦ÓÃΣº¦ÓÖÓÐÄÄÐ©Çø±ð£¿ÔÚ½²ÊöÔÆÔ­ÉúÓ¦ÓÃÏêϸΣº¦Ç° £¬Ê×ÏÈö¾ÙÒÔÏÂÈý¸ö¿´·¨ £¬ÕâЩ¿´·¨ÓÐÖúÓÚ¸÷È˸üºÃµØÃ÷È·±¾ÎÄËù½²ÊöµÄÄÚÈÝ ¡£

 

¿´·¨Ò» ÔÆÔ­ÉúÓ¦ÓüÌÐøÁ˹ŰåÓ¦ÓõÄΣº¦ºÍAPIµÄΣº¦

ÔÆÔ­ÉúÓ¦ÓÃÔ´ÓڹŰåÓ¦Óà £¬Òò¶øÔÆÔ­ÉúÓ¦ÓÃΣº¦Ò²¾Í¼ÌÐøÁ˹ŰåÓ¦ÓõÄΣº¦ ¡£±ðµÄ £¬ÓÉÓÚÔÆÔ­ÉúÓ¦Óüܹ¹µÄת±ä½ø¶øµ¼ÖÂÓ¦ÓÃAPI½»»¥µÄÔö¶à £¬¿ÉÒÔËµÔÆÔ­ÉúÓ¦ÓÃÖд󲿷ֽ»»¥Ä£Ê½ÒÑ´ÓWebÇëÇó/ÏìӦתÏòÖÖÖÖAPIÇëÇó/ÏìÓ¦  £¬ÀýÈçRESTful/HTTP¡¢gRPCµÈ £¬Òò¶øAPIΣº¦Ò²½øÒ»²½ÌáÉý ¡£

¿´·¨¶þ Ó¦Óüܹ¹Àå¸ï½«»á´øÀ´ÐµÄΣº¦

ÓÉÓÚÓ¦Óüܹ¹Àå¸ï £¬ÔÆÔ­ÉúÓ¦ÓÃ×ñÕÕÃæÏò΢·þÎñ»¯µÄÉè¼Æ·½·¨ £¬´Ó¶øµ¼Ö¹¦Ð§×é¼þ»¯¡¢·þÎñÊýÄ¿¼¤Ôö¡¢ÉèÖÃÖØ´óµÈÎÊÌâ £¬½ø¶øÎªÔÆÔ­ÉúÓ¦ÓúÍÓªÒµ´øÀ´ÁËеÄΣº¦ ¡£

¿´·¨Èý ÅÌËãģʽÀå¸ï½«»á´øÀ´ÐµÄΣº¦

Ëæ×ÅÔÆÅÌËãµÄÒ»Ö±Éú³¤ £¬ÆóÒµÔÚÓ¦ÓõÄ΢·þÎñ»¯ºó £¬»á½øÒ»²½¾Û½¹ÓÚÓªÒµ×ÔÉí £¬²¢½«¹¦Ð§º¯Êý»¯ £¬Òò¶ø·ºÆðÁËÎÞ·þÎñÆ÷ÅÌË㣨Serverless Computing£©ÕâÀàеÄÔÆÅÌËãģʽ £¬½ø¶øÒýÈëÁËServerlessÓ¦ÓúÍServerlessƽ̨µÄÐÂΣº¦ ¡£

 

×ÛÉÏËùÊö £¬¿ÉÒÔ¿´³öÔÆÔ­ÉúÓ¦ÓôøÀ´µÄΣº¦ÊǽûֹСêïµÄ ¡£±¾ÎĽ«´Ó¹Å°åÓ¦ÓÃΣº¦¡¢Ó¦Óüܹ¹Àå¸ï´øÀ´µÄÐÂΣº¦¡¢ÔÆÅÌËãģʽÀå¸ï´øÀ´µÄÐÂΣº¦Èý¸öά¶È»®·Ö¾ÙÐÐÏÈÈÝ £¬Ï£Íû¿ÉÒÔÒý·¢¸÷È˸ü¶àµÄ˼Ë÷ ¡£

 

¶þ. ¹Å°åÓ¦ÓÃÃæÁÙµÄΣº¦

ÔÆÔ­ÉúÓ¦ÓÃΣº¦¿ÉÒԲο¼¹Å°åÓ¦ÓÃΣº¦ ¡£¹Å°åÓ¦ÓÃΣº¦ÒÔWebÓ¦ÓÃΣº¦ÎªÖ÷ £¬Ö÷Òª°üÀ¨×¢Èë¡¢Ãô¸ÐÊý¾Ýй¶¡¢¿çÕ¾¾ç±¾¡¢Ê¹Óú¬ÓÐÒÑÖªÎó²îµÄ×é¼þ¡¢È±·¦µÄÈÕÖ¾¼Í¼ºÍ¼à¿ØµÈΣº¦ ¡£

 

±ðµÄ £¬ÔÆÔ­ÉúÇéÐÎÖÐ £¬Ó¦ÓõÄAPI½»»¥Ä£Ê½Öð½¥ÓÉ“ÈË»ú½»»¥”ת±äΪ“»ú»ú½»»¥” £¬ËäÈ»API´ó×Ú·ºÆðÊÇÔÆÔ­ÉúÇéÐεÄÒ»´óÌØµã £¬µ«ÊµÖÊÉÏÀ´Ëµ £¬APIΣº¦²¢ÎÞеÄת±ä £¬Òò¶øÆäΣº¦¿ÉÒԲο¼ÏÖÓеÄAPIΣº¦ £¬Ö÷Òª°üÀ¨Çå¾²ÐÔ¹ýʧÉèÖá¢×¢Èë¡¢×ʲúÖÎÀí²»µ±¡¢×ÊԴȱʧºÍËÙÂÊÏÞÖÆµÈΣº¦ ¡£

 

ÓйعŰåÓ¦ÓÃΣº¦ºÍAPIΣº¦µÄ¸ü¶àϸ½Ú¿ÉÒÔ»®·Ö²Î¿¼OWASP×éÖ¯ÔÚ2017ºÍ2019ÄêÐû²¼µÄÓ¦ÓÃÊ®´óΣº¦±¨¸æ[1]ºÍAPIÊ®´óΣº¦±¨¸æ[2] ¡£

 

Èý.  Ó¦Óüܹ¹Àå¸ï´øÀ´µÄÐÂΣº¦

3.1 ÔÆÔ­ÉúÓ¦ÓôøÀ´µÄÐÂΣº¦

ÔÆÔ­ÉúÓ¦ÓÃÃæÁÙµÄÐÂΣº¦Ö÷ÒªÌåÏÖÔÚ£ºÐÂÓ¦Óüܹ¹µÄ·ºÆð ¡£ÐÂÓ¦Óüܹ¹×ñÕÕ΢·þÎñ»¯µÄÉè¼ÆÄ£Ê½ £¬Í¨¹ýÓ¦ÓõÄ΢·þÎñ»¯ £¬ÎÒÃÇÄܹ»¹¹½¨ÈÝ´íÐԺá¢Ò×ÓÚÖÎÀíµÄËÉñîºÏϵͳ £¬Óë´Ëͬʱ £¬ÐÂÓ¦Óüܹ¹µÄ·ºÆðÒ²»áÒýÈëеÄΣº¦ £¬ÎªÁ˽ÏΪÍêÕûµØ¶ÔΣº¦¾ÙÐÐÆÊÎö £¬±¾ÎĽ«ÒÔÐÅϢϵͳÇ徲Ʒ¼¶ÈýÒªËØ £¬¼´ÉñÃØÐÔ£¨Confidentiality£©¡¢ÍêÕûÐÔ£¨Integrity£©¡¢¿ÉÓÃÐÔ£¨Availability£©×÷Ϊµ¼ÏòÏÈÈÝÓ¦Óüܹ¹×ª±ä´øÀ´µÄÐÂΣº¦ ¡£

 

ÉñÃØÐÔÊÜËðµÄΣº¦

µä·¶µÄÈçÐÅϢй¶Σº¦ £¬¹¥»÷Õß¿Éͨ¹ýʹÓÃ×ʲúųÈõÐÔºÍÐá̽¡¢±©Á¦ÆÆ½âµÈ¹¥»÷·½·¨ÇÔÈ¡Óû§Òþ˽Êý¾Ý £¬´Ó¶øÔì³ÉÐÅϢй¶Σº¦ ¡£

ÍêÕûÐÔÊÜËðµÄΣº¦

µä·¶µÄÈçδÊÚȨ»á¼ûΣº¦ £¬¹¥»÷Õß¿Éͨ¹ýʹÓÃ×ʲúųÈõÐÔºÍÖÐÐÄÈ˹¥»÷µÈÐÐÎªÈÆ¹ýϵͳµÄÈÏÖ¤ÊÚȨ»úÖÆ £¬Ö´ÐÐԽȨ²Ù×÷ £¬´Ó¶øÔì³ÉδÊÚȨ»á¼ûµÄΣº¦ ¡£

¿ÉÓÃÐÔÊÜËðµÄΣº¦

µä·¶µÄÈçϵͳ±»¾Ü¾ø·þÎñµÄΣº¦ £¬Ò»·½Ãæ £¬¹¥»÷Õß¿Éͨ¹ý»ûÐα¨ÎÄ¡¢SYN·ººéµÈ¹¥»÷·½·¨ÎªÄ¿µÄϵͳÌṩ·ÇÕý³£·þÎñ £¬ÁíÒ»·½Ãæ £¬ÏµÍ³Çó¹ýÓÚ¹©µÄ³¡¾°Ò²»áµ¼ÖÂϵͳÔâÊܾܾø·þÎñΣº¦ ¡£

±¾Ð¡½Ú½ÓÏÂÀ´µÄÄÚÈÝ £¬½«ÒÔÐÅϢй¶¡¢Î´ÊÚȨ»á¼û¡¢¾Ü¾ø·þÎñΪÀý £¬»®·ÖÏÈÈÝÉÏÊöÈýÀàΣº¦ ¡£

 

3.1.1   Êý¾Ýй¶µÄΣº¦ 

ÔÆÔ­ÉúÇéÐÎÖÐ £¬ËäÈ»Ôì³ÉÓ¦ÓÃÊý¾Ýй¶Σº¦µÄÔµ¹ÊÔ­ÓÉÓÐÐí¶à £¬µ«¶¼Àë²»¿ªÒÔϼ¸¸öÒòËØ£º

Ó¦ÓÃÎó²î£ºÍ¨¹ý×ʲúÎó²î¶ÔÓ¦ÓÃÊý¾Ý¾ÙÐÐÇÔÈ¡ ¡£

ÃÜÔ¿²»¹æ·¶ÖÎÀí£ºÍ¨¹ý²»¹æ·¶µÄÃÜÔ¿ÖÎÀí¶ÔÓ¦ÓÃÊý¾Ý¾ÙÐÐÇÔÈ¡ ¡£

Ó¦ÓüäͨѶδ¾­¼ÓÃÜ£ºÍ¨¹ýÓ¦ÓüäͨѶδ¾­¼ÓÃܵÄȱÏݶԴ«ÊäÖÐÊý¾Ý¾ÙÐÐÇÔÈ¡ £¬½ø¶øÉý¼¶µ½¶ÔÓ¦ÓÃÊý¾ÝµÄÇÔÈ¡ ¡£

 

3.1.1.1 Ó¦ÓÃÎó²î´øÀ´µÄΣº¦

Ó¦ÓÃÖд洢µÄÊý¾Ý¶àÊÇ»ùÓÚAPI¾ÙÐлá¼û £¬ÈôÓ¦ÓÃÖÐijAPIº¬ÓÐδÊÚȨ»á¼ûÎó²î £¬ÀýÈçRedisδÊÚȨ»á¼ûÎó²î £¬¹¥»÷Õß±ã¿ÉʹÓôËÎó²îÈÆ¹ýRedisÈÏÖ¤»úÖÆ £¬»á¼ûµ½ÄÚ²¿Êý¾Ý £¬½ø¶øµ¼ÖÂÁËÃô¸ÐÐÅϢй¶µÄΣº¦ ¡£

 

¹Å°åµ¥ÌåÓ¦Óüܹ¹Ï £¬ÓÉÓÚAPI»á¼û¹æÄ£ÎªÓû§µ½Ó¦Óà £¬¹¥»÷ÕßÖ»ÄÜ¿´µ½Íⲿ½øÈëÖÁÓ¦ÓõÄÁ÷Á¿ £¬ÎÞ·¨¿´µ½Ó¦ÓÃÄÚ²¿µÄÁ÷Á¿ £¬ÒÔÊÇÕë¶Ô¶ñÒâʹÓÃAPIÎó²î¾ÙÐÐÊý¾ÝÇÔÈ¡Ôì³ÉµÄËðʧ¹æÄ£Í¨³£ÊÇÓÐÏÞµÄ ¡£

 

·´¹Û΢·þÎñ»¯Ó¦Óüܹ¹ £¬µ±µ¥ÌåÓ¦Óñ»²ð·ÖΪÈô¸É¸ö·þÎñºó £¬ÕâЩ·þÎñ»áƾ֤ӪҵÇéÐξÙÐÐÏ໥»á¼û £¬API»á¼û¹æÄ£±äΪ·þÎñµ½·þÎñ£¨Service to Service£© £¬Èôij·þÎñÒòAPIÎó²îµ¼Ö¹¥»÷ÕßÓÐÀû¿Éͼ £¬ÄÇô¹¥»÷Õß½«»á¿´µ½Ó¦ÓÃÄÚ²¿µÄÁ÷Á¿ £¬ÕâÎÞÒÉΪ¹¥»÷ÕßÌṩÁ˸ü¶àµÄ¹¥»÷ÇþµÀ £¬Òò¶øÕë¶ÔÊý¾Ýй¶µÄΣº¦Ë®Æ½¶øÑÔ £¬Î¢·þÎñ¼Ü¹¹Ïà±È¹Å°åµ¥ÌåÓ¦Óüܹ¹´øÀ´µÄΣº¦¸ü´ó ¡£±ðµÄ £¬Ëæ×Å·þÎñÊýÄ¿µÖ´ïÒ»¶¨¹æÄ£ £¬APIÊýÄ¿½«Ò»Ö±µÝÔö £¬½ø¶øÀ©´óÁ˹¥»÷Ãæ £¬Ôö´óÁËÊý¾Ýй¶µÄΣº¦ ¡£

 

3.1.1.2 ÃÜÔ¿²»¹æ·¶ÖÎÀí´øÀ´µÄΣº¦

ÔÚÓ¦ÓõĿª·¢Àú³ÌÖÐ £¬¿ª·¢Õß³£ÊèÓÚ¶ÔÃÜÔ¿µÄÖÎÀí´Ó¶øµ¼ÖÂÊý¾Ýй¶µÄΣº¦ £¬ÀýÈ翪·¢Õß½«ÃÜÔ¿ÐÅÏ¢¡¢Êý¾Ý¿âÅþÁ¬ÃÜÂëµÈÃô¸ÐÐÅÏ¢Ó²±àÂëÔÚÓ¦ÓóÌÐòÖÐ £¬´Ó¶øÔö´óÁËÖîÈçÓ¦ÓóÌÐòÈÕ־й¶¡¢Ó¦ÓóÌÐò»á¼ûÃÜԿй¶µÄΣº¦ ¡£

 

¹Å°åµ¥ÌåÓ¦Óüܹ¹ÖÐ £¬¿ª·¢Õß³£½«ÉèÖÃÁ¬Í¬Ó¦ÓÃÒ»Æð´ò°ü £¬µ±ÐèÒªÐÞ¸ÄÉèÖÃʱ £¬Ö»ÐèµÇ¼ÖÁ·þÎñ¶Ë¾ÙÐÐÏìÓ¦ÐÞ¸Ä £¬ÔÙ¶ÔÓ¦ÓþÙÐÐÖØÆô±ã¿ÉʵÏÖ £¬ÕâÖÖµ¥¸ö¼¯ÖÐʽÉèÖÃÎļþµÄ´æ´¢·½·¨´ÓÃÜÔ¿ÖÎÀíΣº¦µÄ½Ç¶ÈÉϽ²ÊÇÏà¶Ô¿É¿ØµÄ ¡£

 

΢·þÎñÓ¦Óüܹ¹ÖÐ £¬Ó¦ÓõÄÉèÖÃÊýÄ¿Óë·þÎñÊýÄ¿µÄÖð½¥Ôö¶àÊdzÉÕý±ÈµÄ £¬ÀýÈç΢·þÎñÓ¦ÓÃÖлᱣ´æÖÖÖÖ·þÎñ¡¢ÖÖÖÖÊý¾Ý¿â»á¼û¡¢ÖÖÖÖÇéÐαäÁ¿µÄÉèÖà £¬ÇÒ¸÷ÉèÖÃÖ§³Ö¶¯Ì¬µ÷½â ¡£Í¬Ê± £¬Î¢·þÎñÓ¦Óüܹ¹¶Ô·þÎñµÄÉèÖÃÖÎÀíÒ²Ìá³öÁ˸ü¸ßµÄÒªÇó £¬ÀýÈç´úÂëÓëÉèÖÿÉÊèÉ¢¡¢ÉèÖÃÖ§³ÖÂþÑÜʽ¡¢ÉèÖøüеÄʵʱÐÔ¡¢ÉèÖÿÉͳһ¾ÙÐÐÖÎÀíµÈ £¬Òò¶øÎ¢·þÎñϵÄÉèÖÃÖÎÀíÔ½·¢ÖØ´ó £¬¶ÔÔËάְԱµÄÒªÇó¸ü¸ß £¬ÃÜÔ¿ÖÎÀíµÄÄѶÈÒ²ÔÚÒ»Ö±ÌáÉý £¬×îÖÕ»áÔì³É¸ü´óµÄÊý¾Ýй¶Σº¦ ¡£

 

3.1.1.3 Ó¦ÓÃͨѶδ¾­¼ÓÃÜ´øÀ´µÄΣº¦

ÈôÊÇÓ¦ÓýÓÄÉHTTPЭÒé¾ÙÐÐÊý¾Ý´«Êä £¬ÄÇôHTTPÒ³ÃæµÄËùÓÐÐÅÏ¢½«¶¼ÒÔ´¿Îı¾ÐÎʽ¾ÙÐд«Êä £¬²¢ÇÒĬÈϲ»ÌṩÈκμÓÃܲ½·¥ ¡£Òò¶øÔÚÊý¾Ý´«ÊäÀú³ÌÖÐÒ×±»¹¥»÷Õß¼àÌý¡¢½Ø»ñºÍ¸Ä¶¯ £¬µä·¶µÄ¹¥»÷Á÷³ÌΪ¹¥»÷Õßͨ¹ýFiddler¡¢WiresharkµÈ×¥°ü¹¤¾ß¾ÙÐÐÁ÷Á¿¼àÌý £¬½Ø»ñ´«ÊäµÄÃô¸ÐÐÅÏ¢£¨ÀýÈçÊý¾Ý¿âÃÜÂë¡¢µÇ¼ÃÜÂëµÈ£© £¬×îºó¹¥»÷Õ߯¾Ö¤×ÔÉíÒâͼ¶ÔÃô¸ÐÊý¾Ý¾ÙÐи͝²¢·¢ËÍÖÁ·þÎñ¶Ë £¬½ø¶øµ¼ÖÂÊý¾Ýй¶µÄΣº¦ ¡£

 

¹Å°åµ¥ÌåÓ¦Óüܹ¹ÖÐ £¬ÓÉÓÚÍøÂçÍØÆËÏà¶Ô¼òÆÓ £¬ÇÒÓ¦ÓÃͨѶ¶à»ùÓÚHTTP/HTTPS £¬Òò¶øÔì³ÉµÄÊý¾Ýй¶Σº¦¶àÊÇÓÉÓÚ½ÓÄÉÁËHTTPЭÒé ¡£Î¢·þÎñÓ¦Óüܹ¹ÖÐ £¬ÍøÂçÍØÆËÏà¶ÔÖØ´ó £¬Òò×ñÕÕÂþÑÜʽµÄÌØµã £¬Ó¦ÓüäµÄͨѶ²»µ«½ÓÄÉHTTP/HTTPSЭÒé £¬»¹½ÓÄÉgRPCµÈЭÒé £¬ÓÉÓÚgRPCЭÒéĬÈϲ»¼ÓÃÜ £¬Òò¶ø½«»áµ¼Ö¹¥»÷ÃæµÄÔö¶à £¬ÎªÊý¾Ýй¶´øÀ´Á˸ü¶àµÄΣº¦ ¡£

 

3.1.2  Î´ÊÚȨ»á¼ûµÄΣº¦

ÔÆÔ­ÉúÇéÐÎÖÐ £¬Ó¦ÓÃδÊÚȨ»á¼ûµÄΣº¦¶àÊÇÓÉÓÚÓ¦ÓÃ×ÔÉíÎó²î»ò»á¼ûȨÏÞ¹ýʧµØÉèÖõ¼Ö ¡£

 

3.1.2.1 Ó¦ÓÃÎó²î´øÀ´µÄΣº¦

Ó¦ÓÃÎó²îÊÇÔì³ÉδÊÚȨ»á¼ûµÄÒ»´óÒòËØ ¡£Î´ÊÚȨ»á¼ûÎó²îºÜÊÇÖ®¶à £¬½ÏΪ³£ÓõÄÈçRedis¡¢MongoDB¡¢Jenkins¡¢Docker¡¢Zookeeper¡¢HadoopµÈÓ¦Óö¼ÔøÆØ¹â¹ýÏà¹ØÎó²î £¬ÀýÈçDockerÆØ³öµÄDocker Remote APIδÊÚȨ»á¼ûÎó²î £¬¹¥»÷Õß¿Éͨ¹ýDocker Client»òHTTPÇëÇóÖ±½Ó»á¼ûDocker Remote API £¬½ø¶ø¶ÔÈÝÆ÷¾ÙÐÐн¨¡¢É¾³ý¡¢ÔÝÍ£µÈΣÏÕ²Ù×÷ £¬ÉõÖÁÊÇ»ñÈ¡ËÞÖ÷»úshellȨÏÞ ¡£ÔÙÈçMongoDBδÊÚȨ»á¼ûÎó²î £¬¸ÃÎó²îÔì³ÉµÄ»ù´¡Ôµ¹ÊÔ­ÓÉÔÚÓÚMongoDBÔÚÆô¶¯Ê±½«ÈÏÖ¤ÐÅϢĬÈÏÉèÖÃΪ¿Õ¿ÚÁî £¬´Ó¶øµ¼ÖµÇÈÎÃü»§¿Éͨ¹ýĬÈ϶˿ÚÎÞÐèÃÜÂë¶ÔÊý¾Ý¿â¾ÙÐÐí§Òâ²Ù×÷²¢ÇÒ¿ÉÒÔÔ¶³Ì»á¼ûÊý¾Ý¿â ¡£

 

´ÓÎó²î³ÉÒòµÄÆðµãÀ´¿´ £¬ÈÏÖ¤¼°ÊÚȨ»úÖÆµÄ±¡ÈõÊÇÆäÖ÷ÒªÔµ¹ÊÔ­ÓÉ £¬ÔÚµ¥ÌåÓ¦Óüܹ¹Ï £¬Ó¦ÓÃ×÷Ϊһ¸öÕûÌå¶ÔÓû§¾ÙÐÐÈÏÖ¤ÊÚȨ £¬ÇÒÓ¦ÓõĻá¼ûȪԴÏà¶Ô¼òµ¥ £¬»ù±¾Îªä¯ÀÀÆ÷ £¬Òò¶øÎ£º¦ÊÇÏà¶Ô¿É¿ØµÄ £¬Î¢·þÎñÓ¦Óüܹ¹Ï £¬Æä°üÀ¨µÄËùÓзþÎñ¾ùÐè¶Ô¸÷×ԵĻá¼û¾ÙÐÐÊÚȨ £¬´Ó¶øÃ÷È·Ä¿½ñÓû§µÄ»á¼û¿ØÖÆÈ¨ÏÞ £¬±ðµÄ £¬·þÎñµÄ»á¼ûȪԴ³ýÁËÓû§Í⻹°üÀ¨ÄÚ²¿µÄÆäËû·þÎñ £¬Òò¶øÔÚ΢·þÎñ¼Ü¹¹Ï £¬Ó¦ÓõÄÈÏÖ¤ÊÚȨ»úÖÆ¸üÎªÖØ´ó £¬ÎªÔÆÔ­ÉúÓ¦ÓôøÀ´Á˸ü¶àµÄ¹¥»÷Ãæ ¡£

 

3.1.2.2 »á¼ûȨÏÞ¹ýʧÉèÖôøÀ´µÄΣº¦

ÓÉÓÚÔËάְԱ¶ÔÓû§µÄ»á¼ûȨÏÞ¾ÙÐÐÁ˹ýʧÉèÖà £¬½ø¶ø»áÔö´ó±»¹¥»÷ÕßʹÓõÄΣº¦ ¡£ÀýÈç £¬ÔËάְԱ¶ÔWebÓ¦Óûá¼ûȨÏÞ¾ÙÐÐÏìÓ¦ÉèÖà £¬Õë¶ÔͨË×Óû§ £¬ÔËάְԱӦֻ¸¶ÓëÆäÖ»¶Á²Ù×÷ £¬ÈôÔËάְԱ¾ÙÐÐÁ˹ýʧµÄÉèÖà £¬ÀýÈçΪͨË×Óû§ÉèÖÃÁËд²Ù×÷ £¬ÄÇô¹¥»÷Õß±ã»áʹÓôËȱÏÝÈÆ¹ýÈÏÖ¤»áÊ¶È¤ÖÆ¶ÔÓ¦ÓÃÌᳫδÊÚȨ»á¼û¹¥»÷ ¡£

 

¹Å°åÓ¦Óüܹ¹ÖÐ £¬Ó¦ÓÃÓÉÓÚÉè¼ÆÏà¶Ô¼òµ¥ £¬Æä»á¼ûȨÏÞÒ²Ïà¶Ô¼òµ¥ £¬ÏÕÐ©Ö»Éæ¼°Óû§¶ÔÓ¦ÓõĻá¼ûȨÏÞÕâÒ»²ãÃæ £¬Òò´Ë¶ÔÓ¦µÄ»á¼ûȨÏÞÉèÖÃÒ²Ïà¶Ô¼òÆÓ ¡£ÓÉÓÚ»á¼ûȨÏÞÉèÖüòÆÓµÄÌØµã £¬Óû§Éí·Ýƾ֤µÈÃô¸ÐÐÅÏ¢³£´æ´¢ÔÚÓ¦ÓõķþÎñ¶Ë £¬Ò»µ©¹¥»÷ÕßʹÓÃÉèÖõÄȱÏݶÔÓ¦ÓÃÌᳫδÊÚȨ»á¼ûÈëÇÖ £¬¾ÍÓпÉÄÜÄõ½ËùÓÐÉúÑÄÔÚºó¶ËµÄÊý¾Ý £¬´Ó¶øÔì³ÉÖØ´óΣº¦ ¡£

 

΢·þÎñÓ¦Óüܹ¹Ï £¬ÓÉÓÚ»á¼ûȨÏÞ»¹ÐèÉæ¼°·þÎñ¶Ô·þÎñÕâÒ»²ãÃæ £¬Òò´Ë½«»áµ¼ÖÂȨÏÞÓ³Éä¹ØÏµ±äµÃÔ½·¢ÖØ´ó £¬ÏìÓ¦µÄȨÏÞÉèÖÃÄѶÈÒ²ÔÚͬ²½ÔöÌí £¬ÀýÈçÒ»¸öÖØ´óÓ¦Óñ»²ð·ÖΪ100¸ö·þÎñ £¬ÔËάְԱÐèÒªÑÏÃܵضÔÿ¸ö·þÎñ¸¶ÓëÆäÓ¦ÓеÄȨÏÞ £¬ÈôÊÇÒòÊèºöµ¼ÖÂΪij¸ö·þÎñÉèÖÃÁ˹ýʧµÄȨÏÞ £¬¹¥»÷Õß¾ÍÓпÉÄÜʹÓôËȱÏݶԷþÎñÕö¿ª¹¥»÷ £¬Èô¸Ã·þÎñÖаüÀ¨Îó²î £¬½ø¶ø¿ÉÄܻᵼÖ¼òµ¥Îó²îÀ©Õ¹ÖÁÕû¸öÓ¦ÓõÄΣº¦ ¡£ÒÔÊÇÔõÑù¶ÔÔÆÔ­ÉúÓ¦ÓõĻá¼ûȨÏÞ¾ÙÐиßЧÂÊÖÎÀí³ÉΪÁËÒ»¸ö½ÏÄѵÄÎÊÌâ £¬ÕâÒ²Êǵ¼ÖÂÆäΣº¦µÄÒªº¦ÒòËØ ¡£

 

3.1.3 ±»¾Ü¾ø·þÎñµÄΣº¦

±»¾Ü¾ø·þÎñÊÇÓ¦ÓóÌÐòµÄÃæÁٵij£¼ûΣº¦ ¡£Ôì³É¾Ü¾ø·þÎñµÄÖ÷ÒªÔµ¹ÊÔ­ÓɰüÀ¨Á½·½Ãæ £¬Ò»·½ÃæÊÇÓÉÓÚÓ¦ÓÃ×ÔÉíÎó²îËùÖ £¬ÀýÈçReDoSÎó²î¡¢Nginx¾Ü¾ø·þÎñÎó²îµÈ £¬ÁíÒ»·½ÃæÊÇÓÉÓÚ»á¼ûÐèÇóÓë×ÊÔ´ÄÜÁ¦²»Æ¥ÅäËùÖ £¬ÀýÈçijµçÉÌÆ½Ì¨µÄ¹ºÖÃAPIÓÉÓÚ´¦Öóͷ£ÇëÇóÄÜÁ¦ÓÐÏÞ £¬Òò¶øÎÞ·¨ÃæÁÙÍ»ÈçÆäÀ´µÄ´ó×Ú¹ºÖÃÇëÇó £¬µ¼ÖÂÁËÆ½Ì¨×ÊÔ´£¨CPU¡¢ÄÚ´æ¡¢ÍøÂ磩µÄºÄ¾¡ÉõÖÁÍ߽⠡£ÕâÖÖ³¡¾°ÍùÍù²»´øÓжñÒâÍýÏë £¬¶ø´øÓжñÒâÍýÏëµÄÔòÖ÷ÒªÒÔACK¡¢SYNC·ººé¹¥»÷¼°CC£¨Challenge Collapsar£©µÈ¹¥»÷ΪÖ÷ £¬Æä×îÖÕÄ¿µÄÒ²ÊÇÓ¦ÓÃ×ÊÔ´µÄºÄ¾¡ ¡£

 

3.1.3.1Ó¦ÓÃÎó²î´øÀ´µÄΣº¦

Ó¦ÓÃÎó²î¿ÉÒÔµ¼ÖÂÓ¦Óñ»¾Ü¾ø·þÎñ £¬ÄÇôÏêϸÊÇÔõÑùµ¼ÖµÄÄØ£¿ÒÔReDoS£¨Regular expression Denial of Service£©Îó²îΪÀý £¬ReDoSΪÕýÔò±í´ïʽ¾Ü¾ø·þÎñ £¬¹¥»÷Õß¶Ô¸ÃÎó²îµÄʹÓÃͨ³£ÊÇÕâÑùµÄÒ»¸ö³¡¾° £¬Ó¦ÓóÌÐòΪÓû§ÌṩÁËÕýÔò±í´ïʽµÄÊäÈëÀàÐÍÓÖûÓжÔÏêϸµÄÊäÈë¾ÙÐÐÓÐÓÃÑéÖ¤ £¬ÄÇô¹¥»÷Õß±ã¿Éͨ¹ý½á¹¹ÆÊÎöЧÂʼ«µÍµÄÕýÔò±í´ïʽ×÷ΪÊäÈë½ø¶øÔÚ¶Ìʱ¼äÄÚÒý·¢100%µÄCPUÕ¼ÓÃÂÊ £¬×îÖÕµ¼ÖÂ×ÊÔ´ºÄ¾¡ £¬ÉõÖÁÓ¦ÓóÌÐòÍß½âµÄΣº¦ ¡£

 

3.1.3.2»á¼ûÐèÇóÓë×ÊÔ´ÄÜÁ¦²»Æ¥Åä´øÀ´µÄΣº¦

´Ë´¦ÒÔCC¹¥»÷¾ÙÀý £¬Æä¹¥»÷Ô­Àíͨ³£Êǹ¥»÷Õßͨ¹ý¿ØÖƽ©Ê¬ÍøÂç¡¢È⼦»òÊðÀí·þÎñÆ÷Ò»Ö±µØÏòÄ¿µÄÖ÷»ú·¢ËÍ´ó×ÚÕýµ±ÇëÇó £¬´Ó¶øÊ¹Õý³£Óû§µÄÇëÇó´¦Öóͷ£±äµÃÒì³£»ºÂý ¡£

 

¹Å°åWeb³¡¾°ÖÐ £¬¹¥»÷ÕßʹÓÃÊðÀí·þÎñÆ÷ÏòÊܺ¦ÕßÌᳫ´ó×ÚHTTP GETÇëÇó £¬¸ÃÇëÇóÖ÷Ҫͨ¹ý¶¯Ì¬Ò³ÃæÏòÊý¾Ý¿â·¢ËÍ»á¼û²Ù×÷ £¬Í¨¹ý´ó×ÚµÄÅþÁ¬ £¬Êý¾Ý¿â¸ºÔؼ«¸ß £¬Áè¼ÝÆäÕý³£´¦Öóͷ£ÄÜÁ¦ £¬´Ó¶øÎÞ·¨ÏìÓ¦Õý³£ÇëÇó £¬²¢×îÖÕµ¼Ö·þÎñÆ÷å´»ú ¡£

 

ÔÚ΢·þÎñÓ¦Óüܹ¹Ï £¬ÓÉÓÚAPIÊýÄ¿»áËæ×Å·þÎñÊýÄ¿µÄµÝÔö¶øµÝÔö £¬Òò¶ø¿ÉÄܽ«»áµ¼Ö¼òµ¥ÇëÇóÌìÉúÊýÒÔÍò¼ÆµÄÖØ´óÖÐÐIJãºÍºó¶Ë·þÎñŲÓà £¬½ø¶ø¸üÈÝÒ×ÒýÆð±»¾Ü¾ø·þÎñµÄΣº¦ £¬ÀýÈçÈô΢·þÎñÓ¦ÓõÄAPIÉè¼ÆÎ´Ë¼Á¿Ì«¶àÒòµ¥¸öAPIŲÓÃÒýÆðµÄºÄʱÎÊÌâ £¬ÄÇôµ±Íⲿ»á¼ûÁ¿Í»Ôöʱ £¬½«»áµ¼Ö»á¼ûÐèÇóÓë×ÊÔ´ÄÜÁ¦²»Æ¥ÅäµÄÎÊÌâ £¬Ê¹·þÎñ¶ËÎÞ·¨¶ÔÇëÇó×÷³öʵʱµÄÏìÓ¦ £¬Ôì³ÉÒ³Ãæ¿¨ËÀµÄÕ÷Ïó £¬½ø¶ø»áÒýÆðϵͳÍß½âµÄΣº¦ ¡£

 

3.2 ÔÆÔ­ÉúÓªÒµ´øÀ´µÄÐÂΣº¦

ÔÆÔ­ÉúÓ¦ÓÃӪҵΣº¦ºÍÔÆÔ­ÉúÓ¦ÓÃΣº¦ÓкÎÇø±ð£¿ÔÆÔ­ÉúÓ¦ÓÃΣº¦Ö÷ÒªÊÇWebÓ¦ÓÃΣº¦ £¬¼´ÍøÂç²ãÃæµÄΣº¦ £¬¶øÔÆÔ­ÉúÓ¦ÓÃӪҵΣº¦ÎÞÏÔ×ŵÄÍøÂç¹¥»÷ÌØÕ÷ £¬¶àÊÇʹÓÃӪҵϵͳµÄÎó²î»ò¹æÔò¶ÔӪҵϵͳ¾ÙÐй¥»÷À´Ä²Àû £¬´Ó¶øÔì³ÉÒ»¶¨µÄËðʧ ¡£

 

±ðµÄ £¬Óë¹Å°åÓ¦Óüܹ¹ÖеÄӪҵΣº¦²î±ð £¬Î¢·þÎñÓ¦Óüܹ¹ÖÐ £¬Èô·þÎñ¼äµÄÇå¾²²½·¥²»ÍêÉÆ £¬ÀýÈçÓû§ÊÚȨ²»Êʵ±¡¢ÇëÇóȪԴУÑé²»ÑÏ¿áµÈ £¬½«»áµ¼ÖÂÕë¶Ô΢·þÎñÓªÒµ²ãÃæµÄ¹¥»÷±äµÃÔ½·¢ÈÝÒ× £¬ÀýÈçÕë¶ÔÒ»¸öµçÉÌÓ¦Óà £¬¹¥»÷Õß¿ÉÒÔ¶ÔÌØ¶¨µÄ·þÎñ¾ÙÐй¥»÷ £¬ÀýÈçͨ¹ýAPI´«Èë²»·¨Êý¾Ý £¬»òÕßÖ±½ÓÐ޸ķþÎñµÄÊý¾Ý¿âϵͳµÈ ¡£¹¥»÷Õß¿ÉÒÔÈÆ¹ýÑéÖ¤Âë·þÎñ £¬Ö±½ÓŲÓö©µ¥ÖÎÀí·þÎñÀ´¾ÙÐÐÞ¶ÑòëµÈ¶ñÒâ²Ù×÷ ¡£¹¥»÷ÕßÉõÖÁ¿ÉÒÔͨ¹ýÖ±½ÓÐ޸Ķ©µ¥ÖÎÀíºÍÖ§¸¶Ëù¶ÔÓ¦µÄ·þÎñϵͳ £¬ÈƹýÖ§¸¶µÄ°ì·¨ £¬Ö±½ÓÀֳɹºÖÃÉÌÆ·µÈ ¡£

 

×ÛÉÏ £¬Ó¦ÓÃ΢·þÎñ»¯µÄÉè¼ÆÄ£Ê½´øÀ´µÄӪҵΣº¦¿É°üÀ¨Á½·½Ãæ £¬Ò»·½ÃæÊÇδÊÚȨ»á¼ûΣº¦ £¬µä·¶³¡¾°Îª¹¥»÷Õßͨ¹ýȨÏÞÈÆ¹ý¶ÔӪҵϵͳµÄÒªº¦²ÎÊý¾ÙÐÐÐ޸ĴӶøÔì³ÉÓªÒµËðʧ £¬ÁíÒ»·½ÃæÔòÊÇAPIÀÄÓõÄΣº¦ £¬µä·¶µÄÊǶÔӪҵϵͳµÄÞ¶Ñòë²Ù×÷ ¡£

 

3.2.1 Î´ÊÚȨ»á¼ûµÄΣº¦

ÔÚÔÆÔ­ÉúÓªÒµÇéÐÎÖÐ £¬Ôì³ÉδÊÚȨ»á¼ûΣº¦µÄÔµ¹ÊÔ­ÓÉ £¬¿ÉÒÔ´óÖ·ÖΪӪҵ²ÎÊýÒì³£ºÍÓªÒµÂß¼­Òì³£Á½·½Ãæ £¬ÎªÁ˸üΪÇåÎúµÄ˵Ã÷ÉÏÊöÒì³£ÔõÑùµ¼ÖÂδÊÚȨ»á¼ûµÄΣº¦ £¬ÕâÀïÒÔÒ»¸ö΢·þÎñ¼Ü¹¹µÄµçÉÌϵͳ¾ÙÀý˵Ã÷ ¡£Èçͼ1Ëùʾ£º

IMG_256

ͼ 1ijµçÉÌϽµµÍ÷³Ìͼ

 

3.2.1.1ÓªÒµ²ÎÊýÒì³£´øÀ´µÄΣº¦

APIŲÓÃÀú³ÌÖÐÍùÍù»áת´ïÏà¹ØµÄ²ÎÊý ¡£²ÎÊýµÄȡֵƾ֤Ӫҵ³¡¾°µÄ²î±ð»áÓвî±ðµÄȡֵ¹æÄ£ ¡£ÀýÈçÉÌÆ·ÊýÄ¿±ØÐèΪ·Ç¸ºÕûÊý £¬¼ÛÇ®±ØÐè´óÓÚ0µÈ ¡£ÈôAPI¶ÔÏìÓ¦²ÎÊýµÄ¼à²â»úÖÆ²»ÍêÉÆ £¬ÄÇô¹¥»÷Õß±ã¿Éͨ¹ýÊäÈëÒì³£²ÎÊýµ¼ÖÂӪҵϵͳÊܵ½Ëðʧ ¡£ÀýÈçÔÚͼ1ËùʾµÄµçÉÌϵͳÖÐ £¬ÈôÉÌÆ·¼ÛǮֻÔÚÉÌÆ·ÏÈÈÝ·þÎñÖоÙÐÐУÑé £¬¶øÎ´ÔÚ¶©µ¥ÖÎÀíºÍÖ§¸¶·þÎñÖоÙÐÐУÑé £¬ÄÇô¹¥»÷ÕßÔò¿ÉÒÔͨ¹ýÖ±½ÓŲÓö©µ¥ÖÎÀíºÍÖ§¸¶·þÎñµÄAPI½«¶©µ¥¼ÛÇ®ÐÞ¸ÄΪ0Ôª»òÕ߸ºÖµ £¬´Ó¶ø¸øÓªÒµÏµÍ³Ôì³ÉËðʧ ¡£

 

3.2.1.2ÓªÒµÂß¼­Òì³£´øÀ´µÄΣº¦

Ïà±ÈÓÚǰһÀàÒì³£ £¬´ËÀàÒì³£Ò»Ñùƽ³£½ÏΪÒþ²Ø ¡£¹¥»÷Õß½ÓÄÉijЩҪÁìʹAPIŲÓõÄÂß¼­Ë³Ðò·ºÆðÒì³£ £¬°üÀ¨Òªº¦Å²Óð취ȱʧ¡¢µ¹ÖõÈ ¡£ÀýÈçÔÚͼ1ËùʾµÄµçÉÌϵͳÖÐ £¬¹¥»÷Õß¿ÉÒÔʹÓÃÎó²îÈÆ¹ýÖ§¸¶µÄ°ì·¨Ö±½ÓÌá½»¶©µ¥ ¡£ÕâÑù¾Í»á·ºÆðÓªÒµÂß¼­Òªº¦°ì·¨È±Ê§µÄÇéÐÎ £¬½ø¶ø»áΪӪҵϵͳ´øÀ´Ëðʧ £¬ÀýÈçÑéÖ¤ÂëÈÆ¹ýÒì³£¾ÍÊôÓÚÓªÒµÂß¼­Òì³£µÄÒ»ÖÖ ¡£

 

3.2.2 APIÀÄÓõÄΣº¦

Õë¶Ô´ËÀàΣº¦ £¬Í¨³£Ö¸µÄÊǹ¥»÷Õß¶ÔӪҵϵͳµÄÞ¶Ñòë²Ù×÷ £¬Î£º¦³ÉÒòÔòÊÇÓÉÓÚӪҵƵÂÊÒì³£ËùÖ £¬ÕâÀïÒÔµçÉÌϵͳ¾ÙÀý˵Ã÷ ¡£

 

ӪҵƵÂÊÒì³£Ö÷ÒªÖ¸Õë¶ÔÒ»¸ö»òÒ»×éAPIµÄƵÈÔŲÓà ¡£ÓªÒµÏµÍ³ÍùÍùͨ¹ýͼÐÎÑéÖ¤ÂëµÄ·½·¨À´×èÖ¹»úеÈËË¢µ¥µÄ²Ù×÷ ¡£ÀýÈçÔÚͼ1ËùʾµÄµçÉÌϵͳÖÐ £¬¹¥»÷Õß¿ÉÒÔÈÆ¹ýÑéÖ¤ÂëËù¶ÔÓ¦µÄ·þÎñ £¬Ö±½Ó¶Ô¶©µ¥¾ÙÐвÙ×÷ £¬½ø¶øÊµÏÖ»úеˢµ¥ £¬¶ÔµçÉ̾ÙÐÐÞ¶Ñòë ¡£

 

ËÄ. ÔÆÅÌËãģʽÀå¸ï´øÀ´µÄÐÂΣº¦

×÷ΪһÖÖеÄÔÆÅÌËãģʽ £¬Serverless¾ß±¸Ðí¶àÌØÕ÷ £¬µä·¶µÄÖ÷ÒªÓÐÊäÈëÔ´µÄ²»È·¶¨ÐÔ¡¢·þÎñÆ÷ÍйÜÔÆ·þÎñÉÌ¡¢¹©Ó¦ÉÌËø¶¨µÈ £¬ÕâÐ©ÌØÕ÷¿ÉÄÜ»á¸øServerless´øÀ´ÐµÄΣº¦ ¡£

 

±ðµÄ £¬ÓÉÓÚServerless×îÖÕ·ºÆðµÄÕվɶà¸öº¯Êý×é³ÉµÄÓ¦Óà £¬ÇÒ±»ServerlessÌṩµÄ·þÎñ¶ËÔËÐÐ £¬Òò´ËServerlessΣº¦»¹Ó¦°üÀ¨ServerlessÓ¦ÓõÄΣº¦¼°Serverlessƽ̨µÄΣº¦ ¡£

 

×îºóServerlessÒò¹ºÖᢰ²Åű¾Ç®µÍ¡¢º¯Êý»á¼ûÓòÃûÏà¶Ô¿ÉÐŵȽ«»áʹServerlessÃæÁÙ±»ÀÄÓõÄΣº¦ ¡£

 

4.1 ServerlessÌØÕ÷´øÀ´µÄΣº¦

4.1.1  ÊäÈëÔ´²»È·¶¨´øÀ´µÄΣº¦

Serverlessº¯ÊýÊÇÓÉһϵÁÐÊÂÎñ´¥·¢µÄ £¬ÈçÔÆ´æ´¢ÊÂÎñ£¨S3¡¢BlobsºÍÆäËûÔÆ´æ´¢£©¡¢Á÷Êý¾Ý´¦Öóͷ££¨È磺AWS Kinesis£©¡¢Í¨Öª£¨È磺SMS¡¢µç×ÓÓʼþ¡¢IoT£©µÈ £¬¼øÓÚ´ËÌØÕ÷ £¬ÎÒÃDz»Ó¦¸Ã°ÑÀ´×ÔAPIŲÓõÄÊäÈë×÷ΪΨһ¹¥»÷Ãæ ¡£±ðµÄ £¬ÎÒÃDz»ÔÙ¿ØÖÆÔ´µ½×ÊÔ´¼äµÄÕâÌõÏß £¬ÈôÊǺ¯Êý±»Óʼþ»òÊý¾Ý¿â´¥·¢ £¬½«ÎÞ´¦¿ÉÉèÖ÷À»ðǽ»òÈÎºÎÆäËû¿ØÖƲ½·¥À´ÑéÖ¤ÊÂÎñÔ´[4] ¡£¿É¼ûÊäÈëÔ´µÄ²»È·¶¨ÐÔ½«¿ÉÄܵ¼ÖÂÒ»¶¨µÄΣº¦ ¡£

 

ÔڹŰåÓ¦ÓóÌÐò¿ª·¢ÖÐ £¬¿ª·¢Õ߯¾Ö¤×ÔÉíʵ¼ùÂÄÀú £¬ÔÚÊýÄ¿ÓÐÏ޵ĿÉÄÜÐÔÖпÉÅжϳö¶ñÒâÊäÈëȪԴ £¬µ«ServerlessģʽϺ¯ÊýŲÓÃÊÇÓÉÊÂÎñÔ´´¥·¢ £¬ÊäÈëȪԴµÄ²»È·¶¨ÐÔÏÞÖÆÁË¿ª·¢ÕßµÄÅжÏ ¡£ÀýÈçµ±º¯Êý¶©ÔÄÒ»¸öÊÂÎñÔ´ºó £¬¸Ãº¯ÊýÔÚ¸ÃÀàÐ͵ÄÊÂÎñ±¬·¢Ê±±»´¥·¢ £¬ÕâЩÊÂÎñ¿ÉÄÜȪԴÓÚFaaSƽ̨ £¬Ò²¿ÉÄÜȪԴÓÚδ֪µÄÊÂÎñÔ´ £¬¹ØÓÚȪԴδ֪µÄÊÂÎñÔ´¿ÉÒÔ±»±êעΪ²»ÊÜÐÅÍÐ ¡£ÔÚÏÖʵӦÓó¡¾°ÖÐ £¬ÈôÊÇ¿ª·¢ÕßûÓÐÓÅÒìµÄϰ¹ß¶ÔÊÂÎñÔ´¾ÙÐзÖÀà £¬Ôò»á¾­³£µ¼Ö½«²»ÊÜÐÅÍеÄÊÂÎñ´íÒÔΪÊÇFaaSƽ̨ÊÂÎñ £¬½ø¶ø½«ÆäÊÓΪÊÜÐÅÍеÄÊäÈëÀ´´¦Öóͷ£ £¬×îÖÕ´øÀ´ÁËΣº¦ ¡£ 

 

ÏêϸµØ £¬ÊäÈëȪԴµÄ²»È·¶¨ÐÔ»áΪServerlessÓ¦ÓôøÀ´×¢ÈëµÄΣº¦ £¬Óë¹Å°åÓ¦ÓÃÏàͬµÄÊÇ £¬×¢Èë¹¥»÷Àú³ÌÓë²¢ÎÞÌ«´óÇø±ð £¬²î±ðµÄÊǹ¥»÷ÏòÁ¿µÄת±ä £¬¹Å°åÓ¦ÓÃÖÐÓÃÓÚ×¢Èë¹¥»÷µÄÏòÁ¿Í¨³£Ö¸¹¥»÷Õß¿ÉÒÔ¿ØÖÆ»òʹÓÃÓ¦ÓÃÊäÈëµÄÈκÎλÖà £¬µ«ServerlessÓ¦ÓÃÓÉÓÚÊäÈëµÄ²»È·¶¨ÐÔÒò¶ø´øÀ´Á˸ü´óµÄ¹¥»÷Ãæ ¡£

 

4.1.2 ·þÎñÍйÜÔÆ·þÎñ³§ÉÌ´øÀ´µÄΣº¦

¹Å°åÓ¦ÓÃÖÐ £¬ÀýÈçWebÓ¦Óó£°²ÅÅÔÚÍâµØ/Ô¶³Ì·þÎñÆ÷ÉÏ £¬¹ØÓÚ·þÎñ¶ËµÄ²Ù×÷ϵͳÎó²îÐÞ²¹¡¢ÍøÂçÍØÆËµÄÇå¾²¡¢Ó¦ÓÃÔÚ·þÎñ¶ËµÄ»á¼ûÈÕÖ¾¼°¼à¿ØµÈ¾ùÐèÒªÌØ¶¨µÄÔËάְԱÐÐÖ¹Öà £¬¶øServerlessµÄ·þÎñÆ÷ÍйÜÔÆ·þÎñÉ̵ÄÌØµã½«µ¼Ö¿ª·¢ÕßÎÞ·¨¸ÐÖªµ½·þÎñÆ÷µÄ±£´æ £¬ÏÖʵÉÏ¿ª·¢ÕßÒ²ÎÞÐë¶Ô·þÎñÆ÷¾ÙÐвÙ×÷ £¬Ö»Ðè¹Ø×¢Ó¦ÓÃ×Ô¼ºµÄÇå¾²¼´¿É £¬·þÎñÆ÷µÄÇå¾²Ôò½»ÓÉÔÆ³§ÉÌÖÎÀíServerlessµÄÕâÒ»ÌØÕ÷ÏÖʵÉϽµµÍÁËÇ徲Σº¦ ¡£

 

4.1.3  ¹©Ó¦ÉÌËø¶¨´øÀ´µÄΣº¦

“¹©Ó¦ÉÌËø¶¨”ÊÇÖ¸Óû§ÒÀÀµÌض¨¹©Ó¦ÉÌÌṩµÄ²úÆ·¼°·þÎñ £¬²¢ÇÒÔÚ²»±¬·¢ÊµÖÊÐÔת»»±¾Ç®»òÔËÓªÓ°ÏìµÄÇéÐÎÏÂÎÞ·¨Ê¹ÓÃÆäËû¹©Ó¦É̵ÄÔÆ·þÎñ £¬ÔÚServerlessÖÐ £¬“¹©Ó¦ÉÌËø¶¨”ÊÇÏÖÔÚ±£´æµÄÒ»´óÎÊÌâ £¬ÀýÈçÓû§Ñ¡ÔñAWS×÷ΪӦÓõÄÔËÐÐÇéÐÎ £¬ÓÉÓÚһЩԵ¹ÊÔ­ÓÉ £¬¸ÃÓ¦ÓÃÐèǨáãÖÁMicrosoft Azureƽ̨ £¬µ«“¹©Ó¦ÉÌËø¶¨”µÄÎÊÌâµ¼ÖÂÎÞ·¨ÈÝÒ׵Ľ«Ö®Ç°ÔËÐеÄÓ¦Óü°Ê¹ÓõÄÏìÓ¦×ÊÔ´ÈçS3´æ´¢Í°µÈƽ»¬Ç¨áãÖÁMicrosoft Azureƽ̨ÖÐ £¬½ø¶øµ¼ÖÂÆóÒµÃæÁÙÓ¦ÓÃת»»±¾Ç®µÄΣº¦ ¡£

 

4.2 ServerlessÓ¦ÓÃΣº¦

ServerlessÓ¦ÓÃÊôÓÚÔÆÔ­ÉúÓ¦Óà £¬ÆäÓ¦ÓÃ×Ô¼ºÓë¹Å°åÓ¦Óûù±¾ÊÇÏàͬµÄ £¬Î¨Ò»Çø±ðÊÇÓ¦ÓôúÂë±àдÐèÒª²ÎÕÕÔÆ³§ÉÌÌṩµÄÌØÓдúÂëÄ£°æ £¬¶ø¹Å°åÓ¦ÓÃͨ³£Ã»ÓÐÕâ¸öÏÞÖÆ ¡£

 

ServerlessÓ¦ÓÃÊôÓÚÔÆÔ­ÉúÓ¦Óà £¬ÔÆÔ­ÉúÓ¦ÓÃÓÖÔ´ÓڹŰåÓ¦Óà £¬Òò¶ø¹Å°åÓ¦ÓÃÃæÁÙµÄΣº¦ÏÕЩ¿ÉÒÔÖÜÈ«ÁýÕÖServerlessÓ¦ÓÃΣº¦ £¬¹ØÓÚΣº¦ÆÊÎö²¿·Ö¿ÉÒԲο¼Ö®Ç°¹Å°åÓ¦ÓÃΣº¦µÄÄÚÈÝ £¬¸üÏêϸµÄÄÚÈÝ¿ÉÒԲο¼OWASP×éÖ¯ÔÚ2017ÄêÐû²¼µÄServerlessÓ¦ÓÃÊ®´óΣº¦±¨¸æ[4] ¡£

 

4.3 Serverlessƽ̨Σº¦

Serverlessƽ̨Ö÷ÒªÖ¸FaaSƽ̨ £¬ÏÖÔÚÖ÷Á÷µÄFaaSƽ̨·ÖΪÁ½ÖÖÀàÐÍ £¬Ò»ÖÖÊÇÃæÏò¹«ÓÐÔÆÌṩÉ̵ÄFaaSƽ̨ £¬³£¼ûµÄÓÐAWS Lambda¡¢Microsoft Azure Functions¡¢Google Cloud FunctionsµÈ £¬ÁíÒ»·½ÃæÔòÊÇÃæÏò˽ÓÐÔÆµÄFaaSƽ̨ £¬´ËÀàÒÔ¿ªÔ´ÏîÄ¿¾Ó¶à £¬ÇÒ¾ùÖ§³ÖÔÚKubernetesÉϾÙÐа²ÅÅ £¬³£¼ûµÄÓÐApache OpenWhisk[7]¡¢Kubeless[8]¡¢OpenFaaS[9]¡¢Fission[10]µÈ ¡£ÀàËÆÔÚIaaSƽ̨ÉÏÔËÐÐÐé»ú¡¢PaaSƽ̨ÉÏÔËÐвÙ×÷ϵͳºÍÓ¦Óà £¬FaaSƽ̨½ÏÖ®ÉÏÊöƽ̨µÄÖ÷񻂿±ðΪÆäÔËÐеÄÊÇÒ»¸ö¸öServerlessº¯Êý ¡£FaaSƽ̨×ÔÉíÈÏÕæÔÆÇéÐεØÇå¾²ÖÎÀí £¬Ö÷Òª°üÀ¨Êý¾Ý¡¢´æ´¢¡¢ÍøÂç¡¢ÅÌËã¡¢²Ù×÷ϵͳµÈ ¡£

 

4.4 Serverless±»ÀÄÓõÄΣº¦

Serverless±»ÀÄÓÃÏêϸÊÇÖ¸¹¥»÷Õßͨ¹ý¶ñÒâ¹¹½¨Serverlessº¯Êý²¢Ê¹ÓÃÆä³äµ±Õû¸ö¹¥»÷ÖеÄÒ»»· £¬ÕâÖÖ·½·¨¿ÉÔÚÒ»¶¨Ë®Æ½ÉϹæ±ÜÇå¾²×°±¸µÄ¼ì²â ¡£µ¼ÖÂServerless±»ÀÄÓõÄÔµ¹ÊÔ­ÓÉÖ÷Òª°üÀ¨ÒÔϼ¸µã£º

1. ÔƳ§ÉÌÌṩServerlessº¯ÊýµÄÃâ·ÑÊÔÓÃ

½üЩÄê £¬¸÷´óÔÆ³§ÉÌΪÁËÓû§ÌåÑé £¬¾ù¶ÔÓû§ÌṩÃâ·ÑµÄServerlessÌײÍ £¬°üÀ¨Ã¿ÔÂÃâ·ÑµÄº¯ÊýŲÓöî¶È £¬ÕâÖÖ·½·¨ËäÈ»ÎüÒýÁ˸ü¶àµÄÓû§È¥Ê¹ÓÃServerlessº¯Êý, µ«Ò²Ê¹µÃ¹¥»÷ÕߵĹ¥»÷±¾Ç®´ó·ù½µµÍ ¡£

 

2. Óû§°²ÅÅServerlessº¯ÊýµÄ±¾Ç®µÍ

ÓÉÓÚServerless·þÎñ¶ËÍйÜÔÆ³§É̵ĻúÖÆ £¬¹ÊÓû§Ö»ÐèʵÏÖº¯ÊýµÄ½¹µãÂß¼­ £¬¶øÎÞÐëÌåÌùº¯ÊýÊÇÔõÑù±»°²Åż°Ö´ÐеÄ £¬Ê¹ÓÃÕâÐ©ÌØµã £¬¹¥»÷Õß¿ÉÒÔ±àд¶ÔÆäÓÐÀûµÄServerlessº¯Êý²¢ÄÜʡȥ°²Åŵı¾Ç® ¡£

 

3. Serverlessº¯Êý»á¼ûÓòÃû¿ÉÐÅ

µ±Óû§°²ÅÅÍêServerlessº¯Êýºó £¬ÐèҪͨ¹ý´¥·¢Æ÷È¥´¥·¢º¯ÊýµÄÖ´ÐÐ £¬Í¨³£Óû§Ê¹ÓÃÔÆ³§ÉÌÌṩµÄAPIÍø¹Ø×÷Ϊ´¥·¢Æ÷ £¬½¨ÉèAPIÍø¹Ø´¥·¢Æ÷Ö®ºó £¬ÔƳ§ÉÌ»áΪÓû§Ìṩһ¸ö¹«ÍøµÄÓòÃû £¬ÓÃÓÚ»á¼ûÓû§±àдµÄServerlessº¯Êý ¡£ÐèÒª×¢ÖØµÄÊÇ £¬¸Ã¹«ÍøÓòÃûͨ³£ÊÇÔÆ³§ÉÌÓòÃûÏà¹ØµÄ×ÓÓòÃû £¬Òò¶øÊÇÏà¶Ô¿ÉÐŵÄ £¬¼øÓÚ´Ë £¬¹¥»÷Õß¿ÉÒÔʹÓú¯Êý»á¼ûÓòÃûµÄ¿ÉÐÅÈ¥Òþ²ØÆä¹¥»÷×ʲú £¬ÌÓ±ÜÇå¾²×°±¸µÄ¼ì²â ¡£

 

Îå. ×ܽá

±¾ÎÄÏêϸÆÊÎöÁËÔÆÔ­ÉúÓ¦ÓÃÃæÁÙµÄΣº¦ £¬¿ÉÒÔ¿´³ö £¬ÔÆÔ­ÉúÓ¦ÓÃÏà±È¹Å°åÓ¦ÓÃÃæÁÙµÄΣº¦Ö÷ҪΪӦÓüܹ¹Àå¸ï¼°ÐµÄÔÆÅÌËãģʽ´øÀ´µÄΣº¦ £¬¶øÕë¶ÔÓ¦ÓÃ×Ô¼ºµÄΣº¦²¢Î޽ϴóת±ä £¬Òò¶ø¶ÔÔÆÔ­ÉúÓ¦Óüܹ¹ºÍÎÞ·þÎñÆ÷ÅÌËãģʽµÄÉî¶ÈÃ÷È·½«»áÓÐÖúÓÚÏàʶÕû¸öÔÆÔ­ÉúÓ¦ÓÃÇå¾² ¡£

²Î¿¼ÎÄÏ×

[1] https://owasp.org/www-project-top-ten/

[2] https://owasp.org/www-project-api-security/ 

[3] https://netflixtechblog.com/starting-the-avalanche-640e69b14a06 

[4] https://www.owasp.org/index.php/OWASP_Serverless_Top_10_Project 

[5] https://github.com/apache/openwhisk 

[6] https://github.com/kubeless/kubeless 

[7 https://github.com/openfaas/faas 

[8] https://github.com/fission/fission 

?

ÄúµÄÁªÏµ·½·¨

*ÐÕÃû
*µ¥Î»Ãû³Æ
*ÁªÏµ·½·¨
*ÑéÖ¤Âë ¾ÅÓÎÀϸ硤(Öйú)¾ãÀÖ²¿¹Ù·½ÍøÕ¾
Ìá½»µ½ÓÊÏä

¹ºÖÃÈÈÏß

  • ¹ºÖÃ×Éѯ:

    400-818-6868-1

Ìá½»ÏîÄ¿ÐèÇó

½Ó´ý¼ÓÈë¾ÅÓÎÀÏ¸ç¿Æ¼¼ £¬³ÉΪÎÒÃǵÄÏàÖúͬ°é£¡
  • *ÇëÐÎòÄúµÄÐèÇó
  • *×îÖÕ¿Í»§Ãû³Æ
  • *ÏîÄ¿Ãû³Æ
  • Äú¸ÐÐËȤµÄ²úÆ·
  • ÏîĿԤËã
ÄúµÄÁªÏµ·½·¨
  • *ÐÕÃû
  • *ÁªÏµµç»°
  • *ÓÊÏä
  • *Ö°Îñ
  • *¹«Ë¾
  • *¶¼»á
  • *ÐÐÒµ
  • *ÑéÖ¤Âë ¾ÅÓÎÀϸ硤(Öйú)¾ãÀÖ²¿¹Ù·½ÍøÕ¾
  • Ìá½»µ½ÓÊÏä
¾ÅÓÎÀϸ硤(Öйú)¾ãÀÖ²¿¹Ù·½ÍøÕ¾
¾ÅÓÎÀϸ硤(Öйú)¾ãÀÖ²¿¹Ù·½ÍøÕ¾

·þÎñÖ§³Ö

ÖÇÄܿͷþ
ÖÇÄܿͷþ
¹ºÖÃ/ÊÛºóÊÖÒÕÎÊÌâ
Ã˹ܼÒ-ÊÛºó·þÎñϵͳ
Ã˹ܼÒ-ÊÛºó·þÎñϵͳ
ÔÚÏßÌáµ¥|ÖÇÄÜÎÊ´ð|֪ʶ¿â
Ö§³ÖÈÈÏß
Ö§³ÖÈÈÏß
400-818-6868
¾ÅÓÎÀÏ¸ç¿Æ¼¼ÉçÇø
¾ÅÓÎÀÏ¸ç¿Æ¼¼ÉçÇø
×ÊÁÏÏÂÔØ|ÔÚÏßÎÊ´ð|ÊÖÒÕ½»Á÷

? 2025 NSFOCUS ¾ÅÓÎÀÏ¸ç¿Æ¼¼ www.nsfocus.com All Rights Reserved . ¾©¹«Íø°²±¸ 11010802021605ºÅ ¾©ICP±¸14004349ºÅ ¾©ICPÖ¤110355ºÅ

ÍøÕ¾µØÍ¼