¹È¸èÊý¾ÝÖÐÐÄ°üÀ¨ÁË ÉúÎïʶ±ð¡¢½ðÊô¸ÐӦ̽²â¡¢¼à¿Ø¡¢Í¨ÐÐÕÏ°ºÍ¼¤¹âÈëÇÖ¸ÐӦϵͳ µÈ¶à²ãÎïÀí°²È«±£»¤£¬²¢×öÁËÑϸñµÄÏÞÖÆ·ÃÎÊ¡£
ÒòΪ¹È¸èµÄijЩ·þÎñÍйÜÔÚµÚÈý·½Êý¾ÝÖÐÐÄ£¬ÎªÁËÈ·±£¾ø¶ÔµÄ°²È«¿ØÖÆ£¬±ØÐ벿Êð´ËÀà¸ß¶È°²È«´ëÊ©¡£
Ó²¼þÉè¼Æ²¿Êð ?
¹È¸èÊý¾ÝÖÐÐÄÍøÂçÓÉÊýǧ̨·þÎñÆ÷×é³É£¬ÕâЩ·þÎñÆ÷µÄÖ÷°åºÍÍøÂçÉ豸¶¼Óɹȸè×ÔÐж¨ÖÆÉè¼Æ£¬Ïà¹ØÉ豸×é¼þºÍ¹©Ó¦É̶¼±ØÐë¾¹ýÑϸñµÄ°²È«¼ì²âºÍ±³¾°Éó²é¡£
ͬʱ¹È¸èÒ²×Ô¼ºÉè¼ÆÁË°²È«Ð¾Æ¬£¬ÕâЩоƬ±»¹ã·ºÓ¦ÓÃÓÚ·þÎñÆ÷ºÍÏà¹ØÍâÉè»·¾³£¬ÎªÓ²¼þ¼¶±ðµÄ°²È«Ê¶±ðºÍÈÏÖ¤ÌṩÁËÓÐЧµÄ°²È«ÊֶΡ£
°²È«Òýµ¼ºÍ·þÎñÆ÷ʶ±ð»úÖÆ ?
ΪÁËÈ·±£ÕýÈ·µÄ·þÎñÆô¶¯£¬¹È¸è·þÎñÆ÷ʹÓÃÁËһϵÁеÄÆô¶¯Òýµ¼¼¼Êõ£¬°üÀ¨ÔÚ BIOS¡¢bootloader¡¢kernel ºÍϵͳ¾µÏñµÈµ×²ã×é¼þÖÐʹÓüÓÃÜÇ©Ãû£¬ÕâЩǩÃûÔÚÿ´ÎÆô¶¯ºÍ¸üÐÂʱ¶¼ÄܽøÐа²È«ÑéÖ¤¡£
Õû¸ö¹ý³ÌÖÐÉæ¼°µÄ×é¼þ¶¼Óɹȸ蹹½¨¡¢¿ØÖƺͼӹ̡£
Ëæ×ÅÓ²¼þµÄ¸üл»´ú£¬¹È¸èÒ²ÔÚ²»¶ÏŬÁ¦½øÐа²È«¸Ä½ø£¬±ÈÈç×ÔÐÐÉè¼ÆÁË¿ÉËø¹Ì¼þоƬ¡¢°²È«Î¢¿ØÖÆÆ÷ºÍ°²È«Ð¾Æ¬£¬²¢°´ÕÕ²»Í¬·þÎñÆ÷µÄÉè¼Æ°æ±¾£¬ÔÚ¸÷ÀàоƬÖÐÄÚÖÃÁË¿ÉÐŵݲȫÆô¶¯»úÖÆ¡£
ÔÚÈí¼þÒýµ¼ºÍÓ²¼þÆô¶¯¹ý³ÌÖУ¬Êý¾ÝÖÐÐĵÄÿ̨·þÎñÆ÷¶¼ÓÐ×Ô¼º¶ÀÌصıêʶÉí·Ý£¬ÕâЩ±êʶҲ±»ÓÃÓÚ»úÆ÷µ×²ã¹ÜÀíµÄ API µ÷ÓÃÑéÖ¤¡£
ÁíÍ⣬¹È¸èÒ²¿ª·¢ÁË×Ô¶¯¸üмì²âϵͳ£¬ÒÔ±£Ö¤¸÷ÀàÈíÓ²¼þµÄ¼°Ê±¸üС¢Ê¶±ðºÍÕï¶Ï£¬±ØҪʱ¿ÉÒÔ×Ô¶¯¸ôÀëÄÇЩ³öÏÖ¹ÊÕϵķþÎñÆ÷¡£
´Ë½ÚÖУ¬½«¶ÔһЩ»ù±¾µÄÈíÓ²¼þ·þÎñ°²È«½øÐнéÉÜ£¬Êýǧ̨·þÎñÆ÷½«¶ÔÕâЩ·þÎñÓ¦ÓÃÇëÇó½øÐÐËÅ·þºÍ±¸·Ý£¬ÕâЩ·þÎñ°üÀ¨ Gmail µÄ SMTP ·þÎñ¡¢·Ö²¼Ê½Êý¾Ý´æ´¢·þÎñ¡¢YouTube ÊÓƵתÂë·þÎñ¡¢¿Í»§¶Ë APP ɳÏäÔËÐзþÎñµÈ³£¹æÓû§ÇëÇó¡£
ËùÓÐÔËÐÐÓÚ»ù´¡ÉèÊ©¼Ü¹¹µÄ·þÎñÇëÇó¶¼ÓÉÒ»¸ö½Ð Borg µÄ¼¯ÈºÒµÎñ¹ÜÀí·þÎñ½øÐпØÖÆ¡£
·þÎñ±êʶ¡¢ÍêÕûÐÔÓë¸ôÀë ?
ÔÚÄÚ²¿·þÎñµÄÓ¦ÓòãͨÐÅÖ®¼ä£¬¹È¸èʹÓÃÁ˼ÓÃÜÈÏÖ¤ÊÚȨ·½Ê½£¬Îª¹ÜÀíºÍ·þÎñÌṩÁ˸ßÇ¿¶ÈµÄ·ÃÎÊ¿ØÖÆ¡£
ËäÈ»¹È¸è²»ÍêÈ«ÒÀÀµÄÚ²¿ÍøÂç»®·ÖºÍ·À»ðǽ×÷ΪÖ÷Òª°²È«»úÖÆ£¬µ«ÎªÁË·ÀÖ¹ IP ÆÛƵȽøÒ»²½¹¥»÷£¬¹È¸èÔÚÍøÂçÈë¿ÚºÍ³ö¿ÚµÄ¸÷ÖÖ²»Í¬µãλʹÓÃÁ˹ýÂ˲ßÂÔ£¬ÕâÖÖ·½·¨Ò²×î´ó»¯µØÌá¸ßÁËÍøÂçÐÔÄܺͿÉÓÃÐÔ¡£
ÿһ¸öÔËÐзþÎñ¶¼ÓÐ×ÔÉíÏà¹ØµÄ·þÎñÕË»§±êʶ£¬µ±´´½¨·þÎñ»ò½ÓÊÕ RPC ÇëÇóʱ£¬¾ÍÄÜÌṩÏàÓ¦µÄ¼ÓÃÜÑé֤ƾ¾Ý¡£ÕâЩ±êʶͬÑù±»ÓÃÓÚ·þÎñ¼äͨÐÅ£¬ÒÔ¼°¶ÔÌض¨¿Í»§¶ËµÄÊý¾ÝºÍ·½·¨·ÃÎÊÏÞÖÆ¡£
¹È¸èµÄÔ´´úÂë±»´æ´¢ÔÚÒ»¸öÖÐÐÄ¿âÄÚ£¬ÔÚÕâÀï¿ÉÒÔÕë¶Ôµ±Ç°ºÍÒÔÍùµÄ´úÂë½øÐÐÉó¼Æ¡£¹È¸è»ù´¡ÉèÊ©¿ÉÒÔÕë¶ÔÌض¨·þÎñÅäÖÃÏàÓ¦µÄ°²È«ÉóºË¡¢ÑéÖ¤ºÍÔ´´úÂë¼ì²â³ÌÐò¡£
ÔÚ´úÂëÉó²é·½Ã棬ÐèÒª³ý±àдÕßÖ®ÍâµÄÖÁÉÙÒ»Ãû¹¤³Ìʦ½øÐÐÉó²éºÍÅú×¼£¬ÁíÍ⣬ÔÚÉó²é³öÏÖÎÊÌâÖ®ºó£¬ÐèÒª¾ÏµÍ³¹ÜÀíÔ±Åú×¼²ÅÄܸü¸ÄºÍÖ´ÐдúÂë¡£
ÕâЩǿÖÆÒªÇóÏÞÖÆÁËÄÚ²¿ÈËÔ±»ò¹¥»÷Õ߶ÔÔ´´úÂë×÷³ö¶ñÒâ¸ü¸Ä£¬Í¬Ê±Ò²Îª·þÎñ´úÂëÌṩÁË¿É×·ËݵÄÈ¡Ö¤Á÷³Ì¡£
³ý´ËÖ®Í⣬ΪÁ˱£»¤Í¬Ò»Ì¨·þÎñÆ÷ÉÏÔËÐеÄÆäËü·þÎñ£¬¹È¸è»¹ÉèÖÃÁËһϵÁеÄɳÏäºÍ¸ôÀë¼¼Êõ¡£ÕâЩ¼¼Êõ°üÀ¨Í¨ÓõÄÓû§¸ôÀë¡¢»ùÓÚÓïÑÔºÍÄں˵ÄɳÏäÒÔ¼°Ó²¼þÐéÄ⻯µÈ¡£
×ÜÌåÀ´Ëµ£¬ÎªÁËÓ¦¶Ô´æÔÚ·çÏÕµÄÇëÇó·þÎñ£¬ÈçÓû§ÇëÇóµÄ¸´ÔÓÎļþ¸ñʽת»»£¬»ò APP ¶Ë¼°¹È¸èÔËËãÒýÇæÕâÀà²úÆ·ÃæÁÙµÄÓû§Ö´ÐдúÂëµÈ£¬¹È¸èʹÓÃÁ˶à²ã¸ôÀë¼¼Êõ¡£
ÁíÍ⣬ΪÁ˱£Ö¤ÍøÂç±ß½çµÄ°²È«¿É°´£¬¹È¸è»¹Ê¹ÓÃÁËһЩÌØÊâÃô¸ÐµÄ·þÎñ£¬È缯ȺҵÎñ·þÎñºÍ¹Ø¼ü¹ÜÀí·þÎñµÈ£¬ÕâЩ·þÎñ¶¼ÔËÐÐÔÚרÃŵķþÎñÆ÷Ö®ÉÏ¡£
·þÎñ¼ä·ÃÎʹÜÀí ?
ËùÓÐÔËÐзþÎñ¿ÉÒÔʹÓùȸè»ù´¡ÉèÊ©ÌṩµÄ·ÃÎʹÜÀí¹¦ÄÜÀ´Ö¸¶¨ÄÄЩ·þÎñ¿ÉÒÔÓëÆä½øÐÐͨÐÅ¡£
ÀýÈ磬ij¸ö·þÎñ¿ÉÒÔÉèÖÃÖ»ÌṩһЩÌض¨°×Ãûµ¥·þÎñµÄ API ÇëÇóµ÷Ó㬸÷þÎñ¿ÉÒÔ±»ÅäÖÃΪ½öÔÊÐí°×Ãûµ¥ÕÊ»§Éí·Ý£¬Ö®ºó£¬ÕâÖÖ·ÃÎÊÏÞÖÆ»úÖƽ«»á±»¹È¸è»ù´¡ÉèÊ©×Ô¶¯Ö´ÐС£
¾ÍÏñ¹È¸è¹¤³Ìʦ¶Ô·þÎñµÄ·ÃÎÊͬÑùÐèÒªÉí·Ý±êʶÑéÖ¤Ò»Ñù£¬ÕâЩ·þÎñ¿ÉÒÔÉèÖÃΪÔÊÐí»ò¾Ü¾ø·ÃÎÊ¡£ËùÓбêʶÀàÐÍÐÅÏ¢£¨»úÆ÷¡¢·þÎñ»òÔ±¹¤£©¶¼´æ´¢Óڹȸè»ù´¡ÉèÊ©µÄÈ«¾ÖÓòÖС£
ÔÚÄÚ²¿Éí·Ý±êʶÈÏÖ¤ÖУ¬¹È¸èÌṩÁ˶àÑùµÄ±êʶ¹ÜÀíϵͳ£¬°üÀ¨ÉóÅúÁ÷³Ì¡¢¼Ç¼ºÍ֪ͨµÈ¡£
ÀýÈ磬ÕâЩ±êʶ¿ÉÒÔͨ¹ýij¸öϵͳָÅɸø·ÃÎÊ¿ØÖÆ×飬ÒÔ·½±ã²»Í¬¹¤³Ìʦ½øÐзþÎñµÄ¸ü¸ÄºÍÅú×¼¡£±êʶ¹ÜÀíϵͳ¿ÉÒÔ¶Ô³ÉǧÉÏÍòµÄÔËÐзþÎñ½øÐа²È«·ÃÎʹÜÀí¡£
³ýÁË×Ô¶¯µÄ API ¼¶±ð·ÃÎÊ¿ØÖÆ»úÖÆÍ⣬¹È¸è»¹ÉèÖÃÁË·ÃÎÊ¿ØÖÆÁÐ±í£¨ACLs) ºÍÊý¾Ý¿âµÄ¶ÁÈ¡·þÎñ£¬ÒÔ·½±ãÖ´ÐбØҪʱ×Ô¶¨ÒåºÍϸÁ£¶ÈµÄ·ÃÎÊ¿ØÖƲÙ×÷¡£
·þÎñ¼äͨÐżÓÃÜÉè¼Æ ?
³ýÁËÇ°ÊöµÄ PRC ÈÏÖ¤ÊÚȨ¹¦ÄÜÖ®Í⣬¹È¸è»¹ÌṩÁËÍøÂçÄÚ PRC Êý¾ÝµÄ¼ÓÃܱ£ÃÜÐÔºÍÍêÕûÐÔ¹¦ÄÜ£¬ÎªÁË¶Ô HTTP µÈÆäËüÓ¦ÓòãÐÒé½øÐа²È«±£»¤£¬ÕâЩ¼ÓÃܹ¦Äܱ»¹È¸è·â×°ÔÚÁËÄÚ²¿µÄ PRC »úÖÆÖС£
±¾ÖÊÉÏÀ´Ëµ£¬ÕâÌṩÁËÓ¦Óòã¸ôÀ룬ͬʱÏû³ýÁËÈκÎÍøÂç·¾¶µÄ°²È«ÒÀÀµÒòËØ¡£¼´Ê¹ÍøÂç±»ÇÔÌý»òÉ豸±»ÈëÇÖ£¬¼ÓÃܵķþÎñͨÐÅÒ²Äܱ£Ö¤ÐÅÏ¢°²È«¿É¿¿¡£
¿ÉÒÔÕë¶ÔÿһÖÖ PRC µ÷Óã¬Îª·þÎñÉèÖò»Í¬µÄ¼ÓÃܱ£»¤¼¶±ð£¬
ÀýÈ磬¶ÔÓÚÊý¾ÝÖÐÐÄÄÚ²¿µÄµÍ¼ÛÖµÊý¾Ý½»»»Ö»ÉèÖÃÍêÕûÐÔ±£»¤¼¶±ð£»¶øÕë¶Ô¸´ÔÓµÄÍøÂç¹¥»÷ºÍÄÚ²¿ÍøÂçÇÔÌýÐÐΪ£¬½«»á×Ô¶¯¿ªÆôËùÓÐ RPC Á÷Á¿¼ÓÃܹ¦ÄÜ£¬ÎÞÐè¶îÍâµÄ²Ù×÷ÅäÖá£
ͬʱ£¬¹È¸èÅäÖò¿ÊðÁËÓ²¼þ¼ÓÃܼÓËÙÆ÷£¬¿ÉÒÔΪÊý¾ÝÖÐÐÄÄÚ²¿ËùÓÐ PRC Á÷Á¿½øÐмÓÃÜ¡£
ÖÕ¶ËÓû§Êý¾Ý·ÃÎʹÜÀí ?
µäÐ͵Ĺȸè·þÎñΪÖÕ¶ËÓû§´øÀ´Á˺ܶà±ãÀû£¬ÀýÈç Gmail£¬ÔÚÓû§Ê¹ÓÃÀàËƳÌÐòµÄ¹ý³ÌÖУ¬½«»áºÍ¹È¸è»ù´¡ÉèÊ©½øÐн»»¥£¬Èç Gmail ·þÎñÖе÷ÓÃͨѶ¼·þÎñ API ·ÃÎÊÖÕ¶ËÓû§µØÖ·±¡¡£
½áºÏÇ°ÊöÕ½ڣ¬Í¨Ñ¶Â¼·þÎñ¿ÉÒÔÉèÖÃ³É Gmail ·þÎñÖÐÖ»ÔÊÐíÌض¨ RPC µÄÇëÇó¡£È»¶ø£¬ÕâÈÔÈ»ÊÇÒ»¸ö·Ç³£¹ã·ºµÄȨÏÞ¿ØÖƼ¯¡£µ«ÔÚȨÏÞÐí¿É·¶Î§ÄÚ£¬Gmail ·þÎñ½«¶ÔÈκÎʱ¼äµÄÈκÎÓû§×÷³öÇëÇó»ØÓ¦¡£
ÓÉÓÚ Gmail ·þÎñ½«»á´ú±íÖÕ¶ËÓû§Ö´ÐжÔͨѶ¼µÄ RPC ÇëÇ󣬶ø´Ëʱ£¬×÷Ϊ RPC ÇëÇóµÄÒ»²¿·Ö£¬¹È¸è»ù´¡ÉèÊ©½«»áΪ Gmail ·þÎñÌṩһ¸ö¡°ÖÕ¶ËÓû§Ðí¿Éƾ¾Ý¡±£¬¸Ãƾ¾ÝÊÇÌض¨ÖÕ¶ËÓû§µÄÉí·ÝÖ¤Ã÷£¬ÕâҲΪÌض¨ÖÕ¶ËÓû§Í¨Ñ¶Â¼·þÎñµÄÊý¾Ý»ØӦʵÏÖÁË°²È«±£ÕÏ¡£
ΪÁËÏòÖÕ¶ËÓû§·¢²¼¡°È¨ÏÞÐí¿Éƾ¾Ý¡±£¬¹È¸èÔËÐÐÓÐÒ»¸öÖÐÑëÓû§Éí·Ý·þÎñϵͳ¡£ÖÕ¶ËÓû§µÇ¼ºó£¬½«»áͨ¹ý¸ÃÉí·Ý·þÎñ½øÐжàÖÖ·½Ê½ÑéÖ¤£¬ÈçÓû§ÃÜÂë¡¢cookie ÐÅÏ¢¡¢OAuth ÁîÅÆ µÈ£¬Ö®ºó£¬Èκδӿͻ§¶Ë·¢Æ𵽹ȸèÄÚ²¿µÄºóÐøÇëÇóÒ²½«ÐèÒªÉí·ÝÐÅÏ¢ÑéÖ¤¡£
µ±·þÎñ½ÓÊÕµ½ÖÕ¶ËÓû§ÃÜÂëÐÅÏ¢ºó£¬½«°ÑÆä´«µÝµ½ÖÐÑëÉí·Ý·þÎñϵͳ½øÐÐÑéÖ¤£¬Èç¹ûÑéÖ¤ÕýÈ·£¬Éí·Ý·þÎñϵͳ½«·µ»ØÒ»¸ö¶ÌÆÚÓÐЧµÄ¡°È¨ÏÞÐí¿Éƾ¾Ý¡±£¬ÓÃÓÚÓû§µÄ RPC Ïà¹ØÇëÇó¡£
½áºÏÇ°ÃæµÄÀý×Ó£¬Gmail ·þÎñÈç¹û»ñµÃÁË¡°È¨ÏÞÐí¿Éƾ¾Ý¡±ºó£¬½«°Ñ¸Ãƾ¾Ý½«´«µÝ¸øͨѶ¼·þÎñ½øÐÐÑéÖ¤¡£Ö®ºó£¬×÷Ϊ RPC µ÷ÓõÄÒ»²¿·Ö£¬¸Ãƾ¾Ý½«ÊÊÓÃÓÚÈκοͻ§¶ËÇëÇó¡£
¾²Ì¬¼ÓÃÜ ?
¹È¸è»ù´¡ÉèÊ©ÖÐÔËÐÐÓкܶà´æ´¢·þÎñ£¬Èç·Ö²¼Ê½Êý¾Ý¿â£¨BigTable£©¡¢Spanner ÒÔ¼°¼¯ÖÐÃÜÔ¿¹ÜÀíϵͳ¡£´ó¶àÊýÓ¦ÓóÌÐò¶¼½«Í¨¹ýÕâЩ´æ´¢·þÎñ¶ÔÎïÀí´æ´¢É豸½øÐÐÖ±½Ó·ÃÎÊ¡£
´æ´¢Êý¾ÝÔÚдÈëÎïÀí´æ´¢É豸֮ǰ£¬¿ÉÒÔÅäÖÃʹÓü¯ÖÐÃÜÔ¿¹ÜÀíϵͳ·Ö·¢µÄÃÜÔ¿½øÐмÓÃÜ¡£¶ø¼¯ÖÐÃÜÔ¿¹ÜÀíϵͳ֧³Ö×Ô¶¯ÃÜÔ¿ÂÖ»»£¬²¢ÌṩÁËÈ«ÃæµÄÈÕÖ¾Éó¼Æ¡¢Ìض¨Óû§Éí·ÝÍêÕûÐÔУÑéµÈ¹¦ÄÜ¡£
Spanner Êǹȸ蹫˾Ñз¢µÄ¡¢¿ÉÀ©Õ¹µÄ¡¢¶à°æ±¾¡¢È«Çò·Ö²¼Ê½¡¢Í¬²½¸´ÖÆÊý¾Ý¿â¡£ËüÊǵÚÒ»¸ö°ÑÊý¾Ý·Ö²¼ÔÚÈ«Çò·¶Î§ÄÚµÄϵͳ£¬²¢ÇÒÖ§³ÖÍⲿһÖÂÐԵķֲ¼Ê½ÊÂÎñ¡£
ÔÚÓ¦ÓòãÖ´ÐмÓÃÜÔÊÐí»ù´¡ÉèÊ©¸ôÀëµôһЩÈç¶ñÒâ´ÅÅ̹̼þµÄµ×²ã´æ´¢Ç±ÔÚÍþв£¬ÕâÒ²ÊÇÁíÒ»ÖÖ¼ÓÃܱ£»¤²ãµÄ¶îÍâʵÏÖ¡£¹È¸èµÄÿһ¿é»úеӲÅ̺͹Ì̬ӲÅ̶¼Ö§³ÖÓ²¼þ¼ÓÃܺÍ״̬¸ú×Ù¡£
Èç¹ûij¸ö¼ÓÃÜ´æ´¢É豸±»¸ü»»»ò·ÏÆú£¬±ØÐë¾¹ý¶à²½ÖèµÄ´ÅÅÌÇåÀíºÍÁ½´Î¶ÀÁ¢ÑéÖ¤£¬²»¾¹ý´ËÇå³ý¹ý³ÌµÄÉ豸Ҳ½«±»Ö´ÐÐÎïÀíÆÆ»µ¡£
Êý¾Ýɾ³ý
¹È¸èµÄÊý¾Ýɾ³ý²»ÊÇÖ´ÐÐÍêÈ«Êý¾ÝÇå³ý£¬¶øÊÇÕë¶ÔijЩÌض¨Êý¾ÝµÄ¡°¼Æ»®ÐÔɾ³ý¡±£¬ÕâÑù×öµÄºÃ´¦ÊÇ£¬¿ÉÒÔ»Ö¸´ÄÇЩ¿Í»§¶Ë»òÔËά²Ù×÷ÎÞÒâɾ³ýµÄÊý¾Ý¡£
Èç¹ûÊý¾Ý±»±ê¼ÇΪ¡°¼Æ»®ÐÔɾ³ý¡±ºó£¬½«°´ÕÕÌض¨·þÎñ²ßÂÔɾ³ý¡£µ±Ä³¸öÖÕ¶ËÓû§Ö´ÐÐÁËÕË»§É¾³ýÖ®ºó£¬¹È¸èµÄ»ù´¡ÉèÊ©½«Í¨ÖªÏà¹ØÊý¾ÝÇå³ý·þÎñ¶Ô±»É¾ÕË»§µÄÊý¾Ý½øÐÐÇå³ý¡£É¾³ýÁ˹ȸèÕ˺ź͹ȸèÓÊÏäÖ®ºó£¬¹È¸èϵͳ½«É¾³ýµô¸ÃÕË»§Ïà¹ØµÄËùÓÐÊý¾Ý£¬²»ÄÜÔÙ¼ÌÐøÒÔ¸ÃÕË»§Ê¹ÓùȸèÌṩµÄ¸÷Ïî·þÎñ¡£
´Ë½ÚÖУ¬½«ÃèÊö¹È¸è°²È«Í¨ÐźÍÏà¹Ø·þÎñÉè¼Æ¡£ÈçÇ°ËùÊö£¬¹È¸è»ù´¡ÉèÊ©ÓÉ´óÁ¿ÎïÀíÉ豸×é³É£¬ÕâЩÉ豸¹²Í¬¹¹³ÉÁ˲»Í¬µÄ LAN ºÍ WAN¡£ÎªÁË·ÀÖ¹ÖîÈç DoS Ö®ÀàµÄ¹¥»÷£¬¹È¸è»ù´¡ÉèʩʹÓÃÁËÒ»¶Î˽ÓÐ IP ¿Õ¼ä¡£
¹È¸èÇ°¶Ë·þÎñ ?
¹È¸è»ù´¡ÉèÊ©ÄÚ²¿µÄ·þÎñÐèҪͨ¹ý¹È¸èÇ°¶Ë·þÎñ£¨GFE£©×¢²áÖ®ºó£¬²ÅÄÜÔËÐÐÓÚÍⲿ»¥ÁªÍøÉÏ¡£GFE È·±£ËùÓÐ TLS Á¬½Ó±ØÐëʹÓÃÕýÈ·µÄÖ¤ÊéºÍ°²È«²ßÂÔ£¬Í¬Ê±»¹ÄÜÆðµ½·ÀÓù DoS ¹¥»÷µÄ×÷Óá£GFE ¶ÔÇëÇóµÄת·¢Ê¹ÓÃÁËÇ°ÊöµÄ RPC °²È«ÐÒé¡£
ʵ¼ÊÉÏ£¬ÈκÎͨ¹ý GFE ×¢²áÔËÐÐÓÚ»¥ÁªÍøµÄÄÚ²¿·þÎñ¶¼ÊÇÃô½ÝµÄ·´ÏòÇ°¶Ë´úÀí·þÎñ£¬¸ÃÇ°¶Ë²»½öÄÜÌṩ·þÎñµÄ DNS ¹«¹² IP£¬»¹ÄÜÆðµ½ DoS ·ÀÓùºÍ TLS ±£»¤×÷Óá£GFE ÏñÆäËüÔËÐÐÓڹȸè»ù´¡ÉèÊ©µÄ·þÎñÒ»Ñù£¬¿ÉÒÔÓ¦¶Ô´óÁ¿µÄ·¢ÆðÇëÇó¡£
DoS ¹¥»÷·ÀÓù ?
´Ó¹æÄ£ÌåÁ¿ÉÏÀ´Ëµ£¬¹È¸è»ù´¡ÉèÊ©¿ÉÒÔ»¯½â»ò³ÐÊÜ´óÁ¿ DoS ¹¥»÷£¬¹È¸è¾ß±¸¶à²ã¼¶ÁªµÄ DoS ·À»¤ÊֶΣ¬ÒÔ×èÖ¹ºÍ»º½âÈÎºÎ¶Ô GFE ×¢²á·þÎñµÄ DoS ¹¥»÷¡£Íⲿ¹Ç¸ÉÍøÏò¹È¸èÊý¾ÝÖÐÐÄ·¢ÆðµÄÁ¬½ÓÇëÇ󣬽«Í¨¹ý¶à²ãÈíÓ²¼þµÄ¸ºÔØƽºâ´«µ¼¡£
ÕâЩ¸ºÔØƽºâ´«µ¼Æ÷½«ÊµÊ±Ïò¹È¸è»ù´¡ÉèÊ©ÄÚ²¿µÄÖÐÑë DoS ¼à²âϵͳ·´À¡´«ÈëÁ÷Á¿µÄ״̬ÐÅÏ¢£¬µ± DoS ¼à²âϵͳ̽²âµ½ DoS ¹¥»÷Ö®ºó£¬½«»áµÚһʱ¼äÈøºÔØƽºâ´«µ¼Æ÷¶ªÆú»ò½ÚÁ÷¿ÉÒɹ¥»÷Á÷Á¿¡£
ÔÚ¸üÏÂÒ»²ã£¬GFE ʵÀý»¹»áʵʱÏò¹È¸èÖÐÑë DoS ¼à²âϵͳ·´À¡Ëù½ÓÊÕµ½µÄÇëÇóÐÅÏ¢£¬ÕâЩÐÅÏ¢°üÀ¨ÁËÍøÂç²ã¸ºÔØƽºâ´«µ¼Æ÷²»¾ß±¸µÄÓ¦ÓòãÐÅÏ¢¡£Èç¹û¼à²âµ½ÒÉËƹ¥»÷£¬ÖÐÑë DoS ¼à²âϵͳͬÑù»áÈà GFE ʵÀý¶ªÆú»ò½ÚÁ÷¿ÉÒɹ¥»÷Á÷Á¿¡£
Óû§ÈÏÖ¤ ?
ÔÚ DoS ·ÀÓùÖ®ºó£¬½ÓÏÂÀ´¾ÍÊǹȸèµÄÖÐÑëÉí·Ý·þÎñϵͳ£¬¸Ã·þÎñ´ÓÖÕ¶ËÓû§µÄµÇ¼ҳÃ濪ʼ£¬³ýÁËÒªÇóËùÐèµÄÓû§ÃûÃÜÂëÖ®Í⣬ϵͳÄÚ²¿»¹»á¶Ô×î½üµÇ¼µØµãºÍµÇ¼É豸½øÐÐÖÇÄÜУÑé¡£
ÔÚÈÏÖ¤²½ÖèÍê³ÉÖ®ºó£¬Éí·Ý·þÎñϵͳ½«»áÏòÓû§·Ö·¢Ò»¸öÈç cookie »ò OAuth ÁîÅƵÄƾ¾Ý£¬ÒÔ½øÐкóÐøÇëÇóµ÷Óá£
µ±È»£¬ÔڵǼʱ£¬Óû§»¹¿ÉÒÔ²ÉÓÃÈç OTP ¶¯Ì¬¿ÚÁî¡¢·ÀµöÓ㰲ȫÃÜÔ¿µÈË«ÒòËØÈÏÖ¤´ëÊ©¡£
ÁíÍ⣬¹È¸è»¹Ó밲ȫÃÜÂëÁªÃË£¨FIDO£©¹²Í¬Ð¶¨ÁË U2F Óû§Ë«ÒòËØÈÏÖ¤±ê×¼£¬ÖÆ×÷ÁË YubiKey ÍâÁ¬ÃÜÔ¿µÇ¼ USB ÊÊÅäÆ÷£¬Óû§¿ÉÒÔͨ¹ý¹ºÂò¸ÃÊÊÅäÆ÷ʵÏÖ¸ü°²È«µÄµÇ¼¡£
°²È«Èí¼þ¿ª·¢ ?
³ýÁËÇ°ÊöµÄ°²È«¿ØÖÆϵͳ֮Í⣬¹È¸è»¹ÌṩÁË·ÀÖ¹¿ª·¢ÈËÔ±ÒýÈëijЩ°²È«È±ÏݵĿª·¢¿â¡£
ÀýÈ磬ÔÚ Web APP ·½Ã棬¹È¸èÉèÖÃÓÐÅųý XSS ©¶´µÄ¿ª·¢¿âºÍ¿ò¼Ü¡£ÁíÍ⣬¹È¸è»¹ÅäÖÃÓдóÁ¿×Ô¶¯»¯°²È«È±Ïݼì²â¹¤¾ß£¬Èç Fuzzer¡¢¾²Ì¬´úÂë·ÖÎö¹¤¾ß¡¢ÍøÒ³°²È«É¨ÃèÆ÷µÈ¡£
×îºó£¬¹È¸è»¹»á´Ó¿ìËÙ¼òµ¥µÄȱÏÝʶ±ðµ½Éî¶ÈµÄ·çÏÕ·¢ÏÖ£¬¶Ô¿ª·¢´úÂë½øÐÐÈ«·½Î»µÄÊÖ¹¤°²È«Éó²é¡£ÕâЩÊÖ¹¤Éó²éÓÉ°üÀ¨ Web °²È«¡¢¼ÓÃܺͲÙ×÷ϵͳ°²È«µÈ¸÷·½Ãæר¼Ò×é³ÉµÄÍŶÓʵʩ¡£
³ý´ËÖ®Í⣬¹È¸è»¹Í¨¹ýʵʩµÄ©¶´½±Àø¼Æ»®£¬À´·¢ÏÖÓ¦ÓóÌÐòºÍ»ù´¡ÉèÊ©´æÔڵĩ¶´£¬µ½Ä¿Ç°ÎªÖ¹£¬¹È¸èÒѾΪ´Ë¼Æ»®Ö§¸¶ÁËÊý°ÙÍòÃÀÔªµÄ©¶´Éͽð¡£
ÁíÍ⣬¹È¸è»¹Í¶ÈëÁË´óÁ¿ÖÇÁ¦ºÍ¾«Á¦£¬ÖÂÁ¦ÓÚÑ°ÕÒÆä»ù´¡ÉèÊ©ÖÐÔÚÓúÍÉÏÓβúÆ·µÄ 0-day ©¶´¡£
ÀýÈ磬Óɹȸ蹤³Ìʦ·¢ÏÖµÄÐÄÔà³öѪ©¶´¾ÍÊÇ×îºÃµÄµäÐÍ£¬¶øÇҹȸ谲ȫÍŶÓÒ»Ö±ÊÇ CVE ©¶´¿âµÄ×î¶àÌá½»Õߣ¬²¢ÇÒÊÇ Linux KVM hypervisor ÐéÄ⻯¼¼Êõ©¶´µÄ·¢ÏÖºÍÐÞ¸´Õß¡£
Ô±¹¤É豸ºÍƾ¾Ý°²È«±£»¤ ?
ΪÁ˱£»¤Ô±¹¤É豸ºÍƾ¾ÝÃâÊÜÈëÇÖ¡¢ÇÔÈ¡ºÍÆäËü·Ç·¨ÄÚ²¿»î¶¯£¬¹È¸èÔÚÕâ·½ÃæͶÈëÁË´óÁ¿×ʽðºÍ´ú¼Û£¬ÕâÒ²ÊǹȸèÈ·±£×ÔÉí»ù´¡ÉèÊ©°²È«ÔËÐеĹؼü×é³É²¿·Ö¡£
Ò»Ö±ÒÔÀ´£¬Õë¶Ô¹È¸èÔ±¹¤µÄ¸ß¶Ë¸´ÔÓµöÓã¹¥»÷×ÜÊdzÖÐø²»¶Ï£¬ÎªÁË·ÀÖ¹ÕâÖÖ¹¥»÷£¬ÎÒÃÇÇ¿ÖÆÔ±¹¤°Ñ´æÔÚµöÓã·çÏÕµÄ OTP ¿ÚÁîÈÏÖ¤·½Ê½¸ü»»³ÉÁË U2F µÄ USB ÊÊÅäÆ÷°²È«ÃÜÔ¿¡£
ÁíÍ⣬¹È¸èͶÈëÁË´óÁ¿×ʽ𿪷¢ÁËÔ±¹¤¿Í»§¶Ë°²È«²Ù×÷¼à¿Øϵͳ£¬Í¬Ê±£¬»¹ÅäÖÃÁËÕë¶ÔÔ±¹¤¿Í»§¶ËµÄ°²×°³ÌÐò¡¢ÏÂÔسÌÐò¡¢ä¯ÀÀÆ÷À©Õ¹ºÍ·ÃÎÊÄÚÈݵݲȫɨÃèϵͳ¡£
½øÈ빫˾ÄÚ²¿¾ÖÓòÍø£¬²¢²»Òâζ×Å¿ÉÒÔ»ñÈ¡µ½¹È¸èµÄ·ÃÎÊ¿ØÖÆȨÏÞ¡£¹È¸èʹÓÃÁËÓ¦Óü¶±ðµÄ·ÃÎÊ¿ØÖƹÜÀí£¬Ö»ÔÊÐíÄÇЩÀ´×ÔÌض¨¹ÜÀíÉ豸¡¢ÍøÂç»òµØÀíλÖõÄÏÞ¶¨Óû§²ÅÄÜ·ÃÎÊÄÚ²¿¿ØÖƳÌÐò¡£
ÄÚ²¿·çÏÕÏû¿Ø ?
¹È¸èÑϸñÏÞÖƾ߱¸¹ÜÀíȨÏÞµÄÔ±¹¤ÊýÁ¿£¬²¢¶ÔÆäÍøÂçÐÐΪ½øÐÐÁË»ý¼«¼à¹Ü¡£ÁíÍ⣬¶ÔÓÚһЩÌØÊâÈÎÎñ£¬¾¡Á¿²»ÐèҪȨÏÞÐí¿É£¬¶øʹÓÃ×Ô¶¯»¯µÄ°²È«¿É¿Ø·½Ê½Íê³É£¬ÒÔÏû³ýȨÏÞÐí¿ÉÐèÇóµÄ·ºÀÄ¡£
Õâ¾ÍÒªÇóijЩ»î¶¯ÐèÐÐΪ˫·½Åú×¼£¬Í¬Ê±½«ÒýÈëÏÞÖÆÐÔ API ÒÔÅųýÐÅϢй¶·çÏÕ¡£
¹È¸èÔ±¹¤¶ÔÖÕ¶ËÓû§ÐÅÏ¢µÄ»ñÈ¡£¬»á±»µ×²ã¼Ü¹¹ÐÅÏ¢¹³×Ó£¨hook£©¼Ç¼£¬¹È¸è°²È«ÍŶӻá¶ÔËùÓзÃÎÊÀàÐͽøÐÐʵʱ¼à¿Ø£¬²¢¶ÔÆäÖеÄÒì³£¿ÉÒÉʼþ¿ªÕ¹µ÷²é¡£
ÈëÇÖ¼ì²â ?
¹È¸èÓµÓгÉÊìµÄÊý¾Ý´¦Àí¹ÜµÀ£¬¿ÉÒԺܺõؼ¯³É»ùÓÚÖ÷»ú¡¢»ùÓÚÍøÂçºÍ»ùÓÚ·þÎñµÄÈëÇÖ¼ì²âÐźš£ÄÚÖÃÔÚÕâЩ¹ÜµÀÄڵݲȫ¹æÔòºÍ̽²â»úÖƻἰʱÏòÔËά°²È«ÈËÔ±·¢³öʼþ¾¯¸æ£¬¹È¸èµÄʼþÏìÓ¦ÍŶÓҲʵÐÐÈ«Ììºò´ýÃü¡£
ͬʱ£¬¹È¸èÄÚ²¿ÔËάÍŶÓÒ²¶¨ÆÚʵʩºì·½Á·Ï°£¬ÒÔ²»¶ÏºâÁ¿ºÍÌá¸ß¼ì²âÏìÓ¦»úÖƵÄÓÐЧÐÔ¡£
ÔÚ´Ë£¬ÎÒÃǽ«ÒԹȸèÔËËãÒýÇæ (GCE) ·þÎñΪÀý£¬¼òµ¥ÃèÊö¹È¸èÔƴ洢ƽ̨£¨GCP£©µÄ°²È«Éè¼ÆºÍ¸Ä½ø¡£
Google Compute Engine£¬GCE ÊǹȸèÆìÏ嵀 IaaS(»ù´¡ÉèÊ©¼´·þÎñ) µÄÒ»¸ö»ù´¡¼Ü¹¹·þÎñ²úÆ·£¬¿ÉÒÔÈÃÄãÓà Google µÄ·þÎñÆ÷À´ÔËÐÐ Linux µÄÐéÄâ»ú£¬µÃµ½¸üÇ¿´óµÄÊý¾ÝÔËËãÄÜÁ¦¡£¹È¸èÔÚ I/O ´ó»áÉϱíʾ£¬Compute Engine ·þÎñ±È¶ÔÊֵIJúÆ·¸ü¾ßÐԼ۱ȣ¬Ã¿Ò»ÃÀÔªËù¹ºÂòµÄ¼ÆËãÄÜÁ¦Òª¸ß³ö¶ÔÊÖ 50%¡£¹È¸è Compute Engine ·þÎñµÄ±³ºóÊÇÓÉ´óÁ¿µÄ Linux ÐéÄâ»ú×é³É£¬´ËÍâÓÃÓڸ÷þÎñµÄ´¦ÀíÆ÷¹²¼Æ 771886 ºË¡£
GCE ·þÎñ¿ÉÒÔʹ¿Í»§Ôڹȸè»ù´¡ÉèÊ©ÉÏÔËÐйȸè Linux ÐéÄâ»ú£¬À´µÃµ½Ç¿´óµÄÊý¾ÝÔËËãÄÜÁ¦¡£GCE ·þÎñµÄʵÏÖÓɶà¸öÂß¼²¿¼þ×é³É£¬ÓÈÆäÊǹÜÀí¿ØÖÆÃæ°åºÍÐéÄâ»ú±¾Éí¡£
ÆäÖУ¬¹ÜÀí¿ØÖÆÃæ°å¸ºÔðÓëÍⲿ API µÄÁ¬½Ó£¬Í¬Ê±¶ÔÐéÄâ»ú´´½¨Ç¨ÒƵȽøÐÐÈÎÎñ±àÅÅ£¬ÓÉÓÚÉæ¼°ÔËÐжàÖÖ·þÎñ£¬¹ÜÀí¿ØÖÆÃæ°åÄÚÖÃÁË°²È«Æô¶¯»úÖÆ¡£
ÓÉÓÚ GCE ¿ØÖÆƽÃæͨ¹ý GFE ÏÔʾ³ö API ½Ó¿Ú£¬ËùÒÔËü¾ßÓÐºÍ GFE ʵÀýÒ»ÑùµÄ DoS ·À»¤ºÍ SSL/TLS Á¬½Ó±£»¤¹¦ÄÜ£¬Óë´Ëͬʱ£¬¿Í»§ÔÚÔËÐÐÐéÄâ»úʱ£¬¿ÉÒÔÑ¡ÔñʹÓÃÄÚÖÃÓÚ GFE ÖеĹȸèÔÆ·þÎñ¸ºÔØƽºâÆ÷£¬ËüÄÜ»º½â¶àÖÖÀàÐ굀 DoS ¹¥»÷¡£Óû§ÈÏÖ¤µÄ GCE ¿ØÖÆÃæ°å API ͨ¹ý¹È¸è¼¯ÖÐÉí·ÝÈÏÖ¤·þÎñÌṩ°²È«±£»¤£¬Èç½Ù³Ö¼ì²â¡£ÊÚȨÔòʹÓÃÖÐÑëÔÆ IAM ·þÎñÍê³É¡£
Éí·Ý¼°·ÃÎʹÜÀí£¨IAM£©£ºIAM ÔÊÐíÓû§°´ÕÕÒѶ¨µÄ IAM ½ÇÉ«·ÖÀà¹æÔò¶Ô Google ÔÆ×ÊÔ´µÄȨÏÞ½øÐзÖÅ䣬ÈÃÆäËûÓû§Äܹ»°´È¨ÏÞ£¬ÒÔËùÓÐÕß / ±à¼Õß / ²é¿´ÕßµÄÉí·Ý£¬·ÃÎÊÒ»¸öÏîÄ¿ÖеÄËùÓÐ×ÊÔ´¡£
¿ØÖÆÃæ°åÖ®¼äµÄÍøÂçÁ÷Á¿£¬ÒÔ¼°´Ó GFE µ½ÆäËü·þÎñÖ®¼äµÄÁ÷Á¿¶¼¾¹ý×Ô¶¯ÈÏÖ¤ºÍ¼ÓÃÜ£¬¿ÉÒÔ°²È«µØ´ÓÒ»¸öÊý¾ÝÖÐÐĵ½´ïÁíÒ»¸öÊý¾ÝÖÐÐÄ¡£Ã¿¸öÐéÄâ»ú£¨VM£©ÓëÏà¹ØµÄÐéÄâ»ú¹ÜÀíÆ÷£¨VMM£©·þÎñʵÀýͬʱÔËÐС£
¹È¸è»ù´¡ÉèʩΪÐéÄâ»úÌṩÁËÁ½¸öÈÏÖ¤Éí·Ý£¬Ò»¸öÓÃÓÚ VMM ·þÎñʵÀý×ÔÉíµ÷Óã¬ÁíÒ»¸öÓÃÓÚ VMM ¶Ô¿Í»§ VM Éí·ÝµÄ´ú±í£¬ÕâÒ²Ôö¼ÓÁËÀ´×Ô VMM µÄµ÷ÓÃÐÅÈΡ£
GCE µÄÓÀ¾Ã´ÅÅ̲ÉÓþ²Ì¬Êý¾Ý¼ÓÃÜ£¬Ê¹ÓùȸèÖÐÑëÃÜÔ¿¹ÜÀíϵͳ·Ö·¢µÄÃÜÔ¿½øÐа²È«±£»¤£¬²¢ÔÊÐíÃÜÔ¿×Ô¶¯ÂÖ»»ºÍϵͳÉó¼Æ¡£ÁíÍ⣬ÐéÄâ»ú¸ôÀë¼¼ÊõÊÇ»ùÓÚÓ²¼þÐéÄ⻯µÄ¿ªÔ´ KVM ¶ÑÕ»£¬ÎªÁË×î´ó»¯µÄ°²È«·À»¤£¬¹È¸è»¹¶Ô KVM µÄºËÐÄ´úÂë½øÐÐÁËÈç Fuzzing¡¢¾²Ì¬·ÖÎö¡¢ÊÖ¹¤ºË²éµÈһϵÁа²È«²âÊÔ£¬ËùÒÔ£¬ÈçÇ°ËùÊö£¬¹È¸è×î½üÌá½»ºÍÅû¶Á˶à¸ö KVM ©¶´¡£
×îºó£¬¹È¸èµÄÔËά°²È«¿ØÖÆÒ²ÊÇÈ·±£Êý¾Ý·ÃÎÊ×ñÑ°²È«²ßÂԵĹؼü²¿·Ö¡£×÷Ϊ¹È¸èÔÆƽ̨µÄÒ»²¿·Ö£¬GCE ¿Í»§µÄÊý¾ÝʹÓÃÐÐΪͬÑù×ñÑ GCP µÄʹÓòßÂÔ£¬¹È¸è²»»á·ÃÎÊ»òʹÓÿͻ§Êý¾Ý£¬µ«±ØÒªµÄΪ¿Í»§Ìṩ·þÎñµÄÇé¿ö³ýÍâ¡££¨±¾ÎÄת×Ô Freebuf.com)
Ó¢ÎÄÔÎÄ£º
https://cloud.google.com/security/security-design/resources/google_infrastructure_whitepaper_fa.pdf
ÁìȡרÊô 10ÔªÎÞÃż÷ȯ
˽Ïí×îР¼¼Êõ¸É»õ