¡¡¡¡Ä¬ÈÏÇé¿öÏ£¬ FreeBSD ÌṩÁË OPIE (One-time Passwords In Everything) Ö§³Ö£¬ ËüĬÈÏʹÓà MD5 É¢ÁС£
¡¡¡¡ÏÂÃæ½«½éÉÜÈýÖÖ²»Í¬µÄ¿ÚÁî¡£ µÚÒ»ÖÖÊÇÄú³£ÓÃµÄ UNIX® ·ç¸ñ»ò Kerberos ¿ÚÁ ÎÒÃÇÔÚºóÃæµÄÕ½ÚÖн«³ÆÆäΪ ¡°UNIX ¿ÚÁ¡£ µÚ¶þÖÖÊÇʹÓà OPIE µÄ opiekey(1) ³ÌÐòÉú³É£¬ ²¢Îª opiepasswd(1) ÒÔ¼°µÇ¼ÌáʾËù½ÓÊܵÄÒ»´ÎÐÔ¿ÚÁÎÒÃÇ³ÆÆäΪ ¡°Ò»´ÎÐÔ¿ÚÁ¡£ ×îºóÒ»Àà¿ÚÁîÊÇÄúÊäÈë¸ø opiekey ³ÌÐò (ÓÐЩʱºòÊÇ opiepasswd ³ÌÐò) ÓÃÒÔ²úÉúÒ»´ÎÐÔ¿ÚÁîµÄÃØÃÜ¿ÚÁÎÒÃÇ³ÆÆäΪ ¡°ÃØÃÜ¿ÚÁ »òͨË׵ؼò³ÆÎª ¡°¿ÚÁ¡£
¡¡¡¡ÃØÃÜ¿ÚÁîºÍÄúµÄ UNIX ¿ÚÁîºÁÎÞ¹ØÏµ£¬ ¾¡¹Ü¿ÉÒÔÉèÖÃΪÏàͬµÄ£¬ µ«²»ÍƼöÕâô×ö¡£ OPIE ÃØÃÜ¿ÚÁî²¢²»Ïñ¾ÉʽµÄ UNIX ¿ÚÁîÄÇÑùÖ»ÄÜÏÞÓÚ8λÒÔÄÚ[1]¡£ ÄúÏëÒªÓö೤µÄ¿ÚÁî¶¼¿ÉÒÔ¡£ ÓÐÁù¡¢Æß¸ö´ÊµÄ¶Ì¾äÊǺܳ£¼ûµÄÑ¡Ôñ¡£ ÔÚ¾ø´ó¶àÊýʱºò£¬ OPIE ϵͳºÍ UNIX ¿ÚÁîϵͳÍêÈ«Ï໥¶ÀÁ¢µØ¹¤×÷¡£
¡¡¡¡³ýÁË¿ÚÁîÖ®Í⣬ ¶ÔÓÚ OPIE »¹ÓÐÁ½×éÖÁ¹ØÖØÒªµÄÊý¾Ý¡£ ÆäÒ»±»³Æ×÷ ¡°ÖÖ×Ó¡± »ò ¡°key¡±£¬ Ëü°üÀ¨Á½¸ö×Ö·ûºÍÎå¸öÊý×Ö¡£ ÁíÒ»¸ö±»³Æ×÷ ¡°µü´úÂÖÊý¡±£¬ ÕâÊÇÒ»¸ö 1 µ½ 100 Ö®¼äµÄÊý×Ö¡£ OPIE ͨ¹ý½«ÖÖ×Ó¼Óµ½ÃØÃÜ¿ÚÁîºóÃæ£¬ ²¢Ö´Ðеü´úÂÖÊýÄÇô¶à´ÎµÄ MD4/MD5 É¢ÁÐÔËËãÀ´µÃµ½½á¹û£¬ ²¢½«½á¹û±íʾΪ 6 ¸ö¶ÌµÄÓ¢Îĵ¥´Ê¡£ Õâ 6 ¸öÓ¢Îĵ¥´Ê¾ÍÊÇÄúµÄÒ»´ÎÐÔ¿ÚÁî¡£ Ñé֤ϵͳ (Ö÷ÒªÊÇ PAM) »á¼Ç¼ÉÏ´ÎʹÓõÄÒ»´ÎÐÔ¿ÚÁ Èç¹ûÓû§ÌṩµÄ¿ÚÁîµÄÉ¢ÁÐÖµÓëÉÏ´ÎÒ»Ö£¬ Ôò¿ÉÒÔͨ¹ýÉí·ÝÑéÖ¤¡£ ÓÉÓÚʹÓÃÁ˵¥ÏòµÄÉ¢Áк¯Êý£¬ Òò´Ë¼´Ê¹½Ø»ñÁËÉÏ´ÎʹÓõĿÚÁ ҲûÓа취»Ö¸´³öÏ´ν«ÒªÊ¹ÓõĿÚÁ ÿ´Î³É¹¦µÇ¼¶¼½«µ¼Öµü´úÂÖÊýµÝ¼õ£¬ ÕâÑùÓû§ºÍµÇ¼³ÌÐò½«±£³Öͬ²½¡£ ÿµ±µü´úÂÖÊý¼õÉÙµ½ 1 ʱ£¬ ¶¼±ØÐëÖØÐ³õʼ»¯ OPIE¡£
¡¡¡¡½ÓÏÂÀ´½«ÌÖÂÛºÍÿ¸öϵͳÓйصÄÈý¸ö³ÌÐò¡£ opiekey ³ÌÐòÄܹ»½ÓÊÕ´øµü´ú¼ÆÊý£¬ ÖÖ×ÓºÍÃØÃÜ¿ÚÁ ²¢Éú³ÉÒ»¸öÒ»´ÎÐÔ¿ÚÁ »òÒ»ÕŰüº¬Á¬ÐøµÄÒ»×éÒ»´ÎÐÔ¿ÚÁîµÄ±í¸ñ¡£ opiepasswd ³ÌÐòÓÃÓÚ³õʼ»¯ OPIE£¬ ²¢Ð޸ĿÚÁî¡¢ µü´ú´ÎÊý¡¢ÖÖ×ÓºÍÒ»´ÎÐÔ¿ÚÁî¡£ ºÍ opieinfo ³ÌÐò¿ÉÒÔÓÃÓÚ¼ì²éÏàÓ¦µÄÑéÖ¤Êý¾ÝÎļþ (/etc/opiekeys) ²¢ÏÔʾִÐÐÃüÁîµÄÓû§µ±Ç°µÄµü´úÂÖÊýºÍÖÖ×Ó¡£
¡¡¡¡ÎÒÃǽ«½éÉÜËÄÖÖ²»Í¬µÄ²Ù×÷¡£ ÔÚ°²È«µÄÁ¬½ÓÉÏͨ¹ý opiepasswd À´µÚÒ»´ÎÉèÖÃÒ»´ÎÐÔ¿ÚÁ »òÐ޸ĿÚÁî¼°ÖÖ×Ó¡£ µÚ¶þÀà²Ù×÷ÊÇÔÚ²»°²È«µÄÁ¬½ÓÉÏʹÓà opiepasswd ¸¨ÒÔÔÚ°²È«Á¬½ÓÉÏÖ´ÐÐµÄ opiekey À´Íê³ÉͬÑùµÄ¹¤×÷¡£ µÚÈýÀà²Ù×÷ÊÇÔÚ²»°²È«µÄÁ¬½ÓÉÏʹÓà opiekey À´µÇ¼¡£ ×îºóÒ»Àà²Ù×÷ÊDzÉÓà opiekey À´Éú³É´óÅúµÄÃÜÂ룬 ÒÔ±ã³ÏÂÀ´»ò´òÓ¡³öÀ´£¬ÔÚûÓа²È«Á¬½ÓµÄµØ·½Ê¹Óá£
¡¡¡¡µÚÒ»´Î³õʼ»¯ OPIE ʱ£¬ ¿ÉÒÔʹÓà opiepasswd ÃüÁ
% opiepasswd -c [grimreaper] ~ $ opiepasswd -f -c Adding unfurl: Only use this method from the console; NEVER from remote. If you are using telnet, xterm, or a dial-in, type ^C now or exit with no password. Then run opiepasswd without the -c parameter. Using MD5 to compute responses. Enter new secret pass phrase: Again new secret pass phrase: ID unfurl OTP key is 499 to4268 MOS MALL GOAT ARM AVID COED
¡¡¡¡ÔÚ Enter new secret pass phrase: »ò Enter secret password: Ìáʾ֮ºó£¬ Ó¦ÊäÈëÒ»¸öÃÜÂë»ò¿ÚÁî×Ö¡£ ÇëÁôÒ⣬ Õâ²¢²»ÊÇÄúÓÃÓڵǼµÄ¿ÚÁ ËüÓÃÓÚÉú³ÉÒ»´ÎÐԵĵǼÃÜÔ¿¡£ ¡°ID¡± ÕâÒ»Ðиø³öÁËËùÐèµÄ²ÎÊý£º ÄúµÄµÇ¼Ãû£¬ µü´úÂÖÊý£¬ ÒÔ¼°ÖÖ×Ó¡£ µÇ¼ϵͳʱ£¬ ËüÄܹ»¼ÇסÕâЩ²ÎÊý²¢³ÊÏÖ¸øÄú£¬ Òò´ËÎÞÐè¼ÇÒäËüÃÇ¡£ ×îºóÒ»Ðиø³öÁËÓëÄúµÄÃØÃÜ¿ÚÁî¶ÔÓ¦µÄ¡¢ÓÃÓڵǼµÄÒ»¸öÒ»´ÎÐÔ¿ÚÁ Èç¹ûÄúÁ¢¼´ÖØÐµÇ¼£¬ ÔòËü½«ÊÇÄúÐèҪʹÓõÄÄǸö¿ÚÁî¡£
¡¡¡¡Èç¹ûÄúÐèҪͨ¹ýÒ»¸ö²»°²È«µÄÁ¬½ÓÀ´³õʼ»¯£¬ ÔòÓ¦Ê×ÏÈÔÚ°²È«Á¬½ÓÉÏÖ´ÐйýÒ»´Î opiekey£» Äú¿ÉÄÜÏ£ÍûÔÚ¿ÉÐŵĻúÆ÷µÄ shell Ìáʾ·ûÏÂÍê³É¡£ ´ËÍ⻹ÐèÒªÖ¸¶¨Ò»¸öµü´úÂÖÊý (100 Ò²ÐíÊÇÒ»¸ö½ÏºÃµÄÑ¡Ôñ) Ò²¿ÉÒÔÑ¡ÔñÒ»¸ö×Ô¼ºµÄÖÖ×Ó£¬ »òÈüÆËã»úËæ»úÉú³ÉÒ»¸ö¡£ ÔÚ²»°²È«µÄÁ¬½ÓÉÏ (µ±È»ÊÇÁ¬µ½ÄúÏ£Íû³õʼ»¯µÄ»úÆ÷ÉÏ)£¬Ê¹Óà opiepasswd ÃüÁ
% opiepasswd Updating unfurl: You need the response from an OTP generator. Old secret pass phrase: otp-md5 498 to4268 ext Response: GAME GAG WELT OUT DOWN CHAT New secret pass phrase: otp-md5 499 to4269 Response: LINE PAP MILK NELL BUOY TROY ID mark OTP key is 499 gr4269 LINE PAP MILK NELL BUOY TROY
¡¡¡¡ÎªÁ˽ÓÊÜĬÈϵÄÖÖ×Ó£¬ °´Ï Return £¨»Ø³µ£©¡£ ÔÚÊäÈë·ÃÎÊ¿ÚÁî֮ǰ£¬ µ½Ò»¸öÓа²È«Á¬½ÓµÄ»úÆ÷ÉÏ£¬ ²¢¸øËüͬÑùµÄ²ÎÊý£º
% opiekey 498 to4268 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT
¡¡¡¡ÏÖÔڻص½²»°²È«µÄÁ¬½Ó£¬ ²¢½«Éú³ÉµÄÒ»´ÎÐÔ¿ÚÁîÕ³Ìùµ½ÏàÓ¦µÄÓ¦ÓóÌÐòÖС£
¡¡¡¡Ò»µ©³õʼ»¯¹ý OPIE£¬ µ±ÄúµÇ¼ʱ½«¿´µ½ÀàËÆÕâÑùµÄÌáʾ£º
% telnet example.com Trying 10.0.0.1... Connected to example.com Escape character is '^]'. FreeBSD/i386 (example.com) (ttypa) login: <username> otp-md5 498 gr4269 ext Password:
¡¡¡¡ÁíÍ⣬ OPIE ÌáʾÓÐÒ»¸öºÜÓÐÓõÄÌØÐÔ (ÕâÀïûÓбíÏÖ³öÀ´)£º Èç¹ûÄúÔÚ¿ÚÁîÌáʾ´¦°´Ï Return (»Ø³µ) ϵͳ½«»ØÏÔ¸Õ¼üÈëµÄ¿ÚÁ Äú¿ÉÒÔ½å´Ë¿´µ½×Ô¼ºËù¼üÈëµÄÄÚÈÝ¡£ Èç¹ûÊÔͼÊÖ¹¤¼üÈëÒ»¸öÒ»´ÎÐÔÃÜÂ룬 Õâ»á·Ç³£ÓÐÓá£
¡¡¡¡´ËʱÄúÐèÒªÉú³ÉÒ»¸öÒ»´ÎÐÔÃÜÂëÀ´»Ø´ðÕâÒ»Ìáʾ¡£ ÕâÏ×÷±ØÐëÔÚÒ»¸ö¿ÉÐŵÄϵͳÉÏÖ´ÐÐ opiekey À´Íê³É¡£ (Ò²¿ÉÒÔÕÒµ½ DOS¡¢ Windows® ÒÔ¼° Mac OS® µÈ²Ù×÷ϵͳÉÏÔËÐеİ汾)¡£ Õâ¸ö³ÌÐòÐèÒª½«µü´úÂÖÊýºÍÖÖ×ÓÌṩ¸øËü¡£ Äú¿ÉÒԴӵǼÌáʾÄÇÀï¸´ÖÆºÍÕ³ÌùËüÃÇ¡£
¡¡¡¡ÔÚ¿ÉÐŵÄϵͳÉÏ£º
% opiekey 498 to4268 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT
¡¡¡¡ÏÖÔھͿÉÒÔÓøոջñµÃµÄÒ»´ÎÐÔ¿ÚÁîµÇ¼ÁË¡£
¡¡¡¡ÓÐʱ£¬»áÐèÒªµ½²»ÄÜ·ÃÎÊ¿ÉÐŵĻúÆ÷»ò°²È«Á¬½ÓµÄµØ·½¡£ ÕâÖÖÇéÐÎÏ£¬ ¿ÉÒÔʹÓà opiekey ÃüÁîÀ´Ò»´ÎÉú³ÉÐí¶àÒ»´ÎÐÔ¿ÚÁî¡£ ÀýÈ磺
% opiekey -n 5 30 zz99999 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: <secret password> 26: JOAN BORE FOSS DES NAY QUIT 27: LATE BIAS SLAY FOLK MUCH TRIG 28: SALT TIN ANTI LOON NEAL USE 29: RIO ODIN GO BYE FURY TIC 30: GREW JIVE SAN GIRD BOIL PHI
¡¡¡¡-n 5
°´Ë³ÐòÇëÇó 5 ¸ö¿ÚÁ 30
ÔòÖ¸¶¨ÁË×îºóÒ»¸öµü´úÂÖÊýÓ¦¸ÃÊǶàÉÙ¡£
×¢ÒâÕâЩ¿ÚÁ°´ÓëʹÓÃ˳ÐòÏà·´µÄ˳ÐòÀ´ÏÔʾ¡£ Èç¹ûÄú±È½Ïƫִ£¬ ¿ÉÒÔÊÖ¹¤Ð´ÏÂÕâЩ½á¹û£»
Ò»°ãÀ´Ëµ°ÑËüÕ³Ìùµ½ lpr ¾Í¿ÉÒÔÁË¡£
×¢Ò⣬ÿһÐж¼ÏÔʾµü´úÂÖÊý¼°Æä¶ÔÓ¦µÄÒ»´ÎÐÔµÄÃÜÂ룻 һЩÈ˽¨ÒéÓÃÍêÒ»¸ö¾Í»®µôÒ»¸ö¡£
¡¡¡¡OPIE ¿ÉÒÔ¶Ô UNIX ¿ÚÁîµÄʹÓýøÐлùÓÚ IP µÄµÇ¼ÏÞÖÆ¡£ ¶ÔÓ¦µÄÎļþÊÇ /etc/opieaccess£¬ Õâ¸öÎļþĬÈÏÇé¿öϾÍÊÇ´æÔڵġ£ Çë²ÎÔÄ opieaccess(5) ÒÔÁË½â¹ØÓÚÕâ¸öÎļþ½øÒ»²½µÄÇé¿ö£¬ ÒÔ¼°°²È«·½ÃæÐèÒª½øÐеÄһЩ¿¼ÂÇ¡£
¡¡¡¡ÏÂÃæÊÇÒ»¸öʾ·¶µÄ opieaccess Îļþ£º
permit 192.168.0.0 255.255.0.0
¡¡¡¡ÕâÐÐÔÊÐíÖ¸¶¨ IP µØÖ·µÄÓû§ (ÔÙ´ÎÇ¿µ÷ÕâÖÖµØÖ·ÈÝÒ×±»Î±Ôì) ÔÚÈκÎʱºòʹÓà UNIX ¿ÚÁîµÇ¼¡£
¡¡¡¡Èç¹û opieaccess ÖÐûÓÐÆ¥ÅäµÄ¹æÔò£¬ Ôò½«Ä¬ÈϾܾøÈÎºÎ·Ç OPIE µÇ¼¡£
[1] |
ÔÚ FreeBSD Öбê×¼µÄµÇ¼¿ÚÁî×²»Äܳ¬¹ý 128 ¸ö×Ö·û¡£ |
±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.