IPsecÀ» È£½ºÆ® °£ ¿¬°áÀ» ÅëÇÏ¿© µ¥½ºÅ©Å¾À̳ª ¿öÅ©½ºÅ×À̼ǵéÀ» ¿¬°áÇϵµ·Ï ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ÀÌ·¯ÇÑ À¯ÇüÀÇ ¿¬°áÀº °¢ È£½ºÆ®°¡ ¿¬°áµÈ ³×Æ®¿öÅ©¸¦ »ç¿ëÇÏ¿© ¾ç È£½ºÆ® »çÀÌ¿¡ º¸¾È ÅͳÎÀ» »ý¼ºÇÕ´Ï´Ù. È£½ºÆ® °£ ¿¬°á¿¡ ÇÊ¿äÇÑ ¿ä°ÇÀº °¢ È£½ºÆ®¿¡ IPsec¸¸ ¼³Á¤ÇÏ¸é µË´Ï´Ù. È£½ºÆ®¿¡¼ IPsec ¿¬°áÀ» »ý¼ºÇϱâ À§Çؼ´Â °øÁß ³×Æ®¿öÅ© (¿¹, ÀÎÅͳÝ)¿Í Red Hat Enterprise Linux¿¡ ¿¬°áÇÒ Àü¿ë¼±¸¸ ÀÖÀ¸¸é µË´Ï´Ù.
¿¬°áÀ» »ý¼ºÇϴ ù¹øÂ° ´Ü°è´Â °¢ ¿öÅ©½ºÅ×À̼ÇÀÇ ½Ã½ºÅÛ Á¤º¸¿Í ³×Æ®¿öÅ© Á¤º¸¸¦ ¸ðÀ¸´Â °ÍÀÔ´Ï´Ù. È£½ºÆ® °£ ¿¬°áÀ» À§Çؼ´Â ´ÙÀ½°ú °°Àº Á¤º¸¸¦ ¼öÁýÇÏ¼Å¾ß ÇÕ´Ï´Ù:
¾ç È£½ºÆ®ÀÇ IP ÁÖ¼Ò
IPsec ¿¬°áÀ» ½Äº°ÇÏ°í ´Ù¸¥ ÀåÄ¡³ª ¿¬°á (¿¹, ipsec0)·ÎºÎÅÍ ÀÌ IPsec ¿¬°áÀ» ±¸ºÐÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â °íÀ¯ À̸§
°íÁ¤ ¾ÏȣŰ ¶Ç´Â racoon°¡ ÀÚµ¿À¸·Î »ý¼ºÇÑ ¾ÏȣŰ
¿¬°áÀ» ÃʱâÈÇÏ°í ¼¼¼Ç Áß ¾Ïȣ۸¦ ±³È¯Çϴµ¥ »ç¿ëµÇ´Â ¹Ì¸® °øÀ¯µÈ ÀÎÁõŰ
¿¹¸¦ µé¾î ¿öÅ©½ºÅ×ÀÌ¼Ç A¿Í ¿öÅ©½ºÅ×ÀÌ¼Ç B°¡ IPsec ÅͳÎÀ» ÅëÇÏ¿© ¿¬°áÇϰíÀÚ ÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù. foobarbaz ¸¦ ÀÌ¹Ì °øÀ¯µÈ Ű·Î »ç¿ëÇÏ¿© ¿¬°áÇϰíÀÚ ÇÏ¸ç ¾ç »ç¿ëÀÚ°¡ racoon µ¥¸óÀÌ ÀÚµ¿À¸·Î ÀÎÁõ۸¦ »ý¼ºÇÏ¿© °¢ È£½ºÆ® °£¿¡ °øÀ¯ÇÏ´Â °Í¿¡ µ¿ÀÇÇÏ¿© ÀÌ ¿¬°áÀ» ipsec0À¸·Î À̸§ ºÙ¿´´Ù°í °¡Á¤ÇÕ´Ï´Ù.
´ÙÀ½Àº ¿öÅ©½ºÅ×ÀÌ¼Ç B¿Í È£½ºÆ® °£ IPsec ¿¬°áÇϱâ À§ÇØ »ç¿ëµÈ ¿öÅ©½ºÅ×ÀÌ¼Ç AÀÇ ifcfg ÆÄÀÏÀÔ´Ï´Ù (ÀÌ ¿¹½Ã¿¡¼ ÀÌ ¿¬°áÀ» ½Äº°Çϱâ À§ÇØ »ç¿ëµÈ À̸§Àº ipsec0À̹ǷΠ°á°úÀûÀ¸·Î ÆÄÀÏ À̸§Àº /etc/sysconfig/network-scripts/ifcfg-ipsec0ÀÌ µË´Ï´Ù):
DST=X.X.X.X TYPE=IPSEC ONBOOT=yes IKE_METHOD=PSK |
¿öÅ©½ºÅ×ÀÌ¼Ç A´Â X.X.X.X ºÎºÐÀ» ¿öÅ©½ºÅ×ÀÌ¼Ç BÀÇ IP ÁÖ¼Ò·Î ´ëüÇϰí, ¿öÅ©½ºÅ×ÀÌ¼Ç B´Â X.X.X.X¸¦ ¿öÅ©½ºÅ×ÀÌ¼Ç AÀÇ IP ÁÖ¼Ò·Î ´ëüÇÕ´Ï´Ù. ÀÌ ¿¬°áÀº ºÎÆÃ½Ã ½ÃÀ۵ǵµ·Ï (ONBOOT=yes) ¼³Á¤µÇ¾úÀ¸¸ç ÀÌ¹Ì °øÀ¯µÈ Ű ÀÎÁõ ¹æ½Ä (IKE_METHOD=PSK)À» »ç¿ëÇÕ´Ï´Ù.
´ÙÀ½Àº °øÀ¯ Ű ÆÄÀÏ (/etc/sysconfig/network-scripts/keys-ipsec0)ÀÇ ³»¿ëÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀº ¾ç ¿öÅ©½ºÅ×À̼ÇÀÌ »ó´ë¹æÀ» ÀÎÁõÇϴµ¥ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀÇ ³»¿ëÀº ¾ç ÄÄÇ»ÅÍ¿¡¼ µ¿ÀÏÇØ¾ß ÇÏ¸ç ·çÆ® »ç¿ëÀÚ¸¸ÀÌ ÀÌ ÆÄÀÏÀ» Àаųª ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
IKE_PSK=foobarbaz |
![]() | Áß¿ä | |
---|---|---|
keys-ipsec0 ÆÄÀÏÀ» ·çÆ® »ç¿ëÀÚ¸¸ ÀÐ°í ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇϽ÷Á¸é, ÆÄÀÏÀ» ¸¸µå½Å ÈÄ ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ:
|
¾ðÁ¦µçÁö ÀÎÁõ۸¦ º¯°æÇϽ÷Á¸é ¾ç ¿öÅ©½ºÅ×À̼ǿ¡¼ keys-ipsec0 ÆÄÀÏÀ» ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù. ¾ç ۰¡ µ¿ÀÏÇØ¾ß¸¸ Á¦´ë·Î ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½Àº ¿ø°Ý È£½ºÆ®·Î 1 ´Ü°è ¿¬°áÇϴµ¥ »ç¿ëµÇ´Â ¼³Á¤ ÆÄÀÏÀÇ ¿¹ÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀÇ À̸§Àº X.X.X.X.confÀÔ´Ï´Ù (¿©±â¼ X.X.X.X´Â ¿ø°Ý IPsec ¶ó¿ìÅÍÀÇ IP ÁÖ¼Ò·Î ´ëüÇϽʽÿÀ). ÀÌ ÆÄÀÏÀº IPsec ÅͳÎÀÌ È°¼ºÈµÇ¸é ÀÚµ¿À¸·Î »ý¼ºµÇ±â ¶§¹®¿¡ Á÷Á¢ ¼öÁ¤ÇÏ½Ã¸é ¾ÈµË´Ï´Ù.
; remote X.X.X.X { exchange_mode aggressive, main; my_identifier address; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 2 ; } } |
IPsec ¿¬°áÀÌ Ãʱâȵɶ§ »ý¼ºµÈ ±âº» ´Ü°è 1 ¼³Á¤ ÆÄÀÏ¿¡´Â Red Hat Enterprise Linux°¡ IPsec¸¦ ±¸ÇöÇϴµ¥ »ç¿ëÇÏ´Â ´ÙÀ½°ú °°Àº ¹®±¸°¡ Æ÷ÇԵ˴ϴÙ:
ÀÌ ÁÙÀº ÀÌ ¼³Á¤ ÆÄÀÏ¿¡¼ ´ÙÀ½ ºÎºÐÀ» IP ÁÖ¼Ò°¡ X.X.X.XÀÎ ¿ø°Ý ÄÄÇ»ÅÍ¿¡¸¸ Àû¿ëÇϵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù.
À ÁÙÀº Red Hat Enterprise LinuxÀÇ ±âº» IPsec ¼³Á¤À¸·Î¼ ¿©·¯ È£½ºÆ® °£¿¡ IPsec ¿¬°áÀ» ¼³Á¤ÇÏ´Â µ¿½Ã¿¡ ¿¬°á ÀÛ¾÷ ºÎÇϸ¦ ³·ÃçÁÖ´Â Àû±ØÀû (aggressive) ÀÎÁõ ¸ðµå¸¦ »ç¿ëÇÕ´Ï´Ù.
ÄÄÇ»ÅÍ ÀÎÁõ½Ã »ç¿ëÇÒ ½Äº° ¹æ½ÄÀ» Á¤ÀÇÇÕ´Ï´Ù. Red Hat Enterprise Linux´Â IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ¿© ÄÄÇ»Å͸¦ ½Äº°ÇÕ´Ï´Ù.
ÀÎÁõ½Ã »ç¿ëÇÒ ¾ÏÈ£È ¹æ½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù. 3DES (Triple Data Encryption Standard)°¡ ±âº»À¸·Î »ç¿ëµË´Ï´Ù.
ÄÄÇ»ÅÍ °£¿¡ 1 ´Ü°è Çù»ó ´Ü°è¿¡¼ »ç¿ëÇÒ ÇØ½Ã ¾Ë°í¸®ÁòÀ» ÁöÁ¤ÇÕ´Ï´Ù. ±âº»°ªÀ¸·Î SHA (Secure Hash Algorithm) ¹öÀü 1ÀÌ »ç¿ëµË´Ï´Ù.
ÄÄÇ»ÅÍ °£ Çù»ó½Ã »ç¿ëÇÒ ÀÎÁõ ¹æ½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù. Red Hat Enterprise Linux´Â ÀÎÁõÀ» À§ÇØ ±âÁ¸ °øÀ¯ Ű(pre-shared keys)¸¦ ±âº»À¸·Î »ç¿ëÇÕ´Ï´Ù.
µ¿ÀûÀ¸·Î »ý¼ºµÈ ¼¼¼Ç۸¦ ºÐ¹èÇϴµ¥ »ç¿ëÇÒ Diffie-Hellman ±×·ì ¹øÈ£¸¦ ÁöÁ¤ÇÕ´Ï´Ù. 1024 ºñÆ® ±×·ìÀÌ ±âº»°ªÀÔ´Ï´Ù.
¸ðµç IPsec ÄÄÇ»ÅÍ¿¡¼ /etc/racoon/racoon.conf ÆÄÀÏÀº include "/etc/racoon/X.X.X.X.conf" ¹®ÀåÀ» Á¦¿ÜÇÑ ¸ðµç ´Ù¸¥ ºÎºÐÀÌ ¶È°°¾Æ¾ß ÇÕ´Ï´Ù. ÀÌ ¹®Àå (¹× ÀÌ ¹®ÀåÀÌ ¾ð±ÞÇÏ´Â ÆÄÀÏ)Àº IPsec ÅͳÎÀÌ È°¼ºÈµÈ °æ¿ì¿¡¸¸ ³ªÅ¸³³´Ï´Ù. ¿öÅ©½ºÅ×ÀÌ¼Ç A¿¡¼ include ¹®Àå¿¡ ¾ð±ÞµÈ X.X.X.X´Â ¿öÅ©½ºÅ×ÀÌ¼Ç BÀÇ IP ÁÖ¼ÒÀÌ¸ç ¿öÅ©½ºÅ×ÀÌ¼Ç B¿¡¼´Â ±× ¹Ý´ëÀÔ´Ï´Ù. ´ÙÀ½Àº IPsec ¿¬°áÀÌ È°¼ºÈµÇ¾úÀ»¶§ ÀüÇüÀûÀÎ racoon.conf ÆÄÀÏÀ» º¸¿©ÁÝ´Ï´Ù.
# Racoon IKE daemon configuration file. # See 'man racoon.conf' for a description of the format and entries. path include "/etc/racoon"; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; sainfo anonymous { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; } include "/etc/racoon/X.X.X.X.conf" |
ÀÌ ±âº» racoon.conf ÆÄÀÏ¿¡´Â IPsec ¼³Á¤, ±âÁ¸ °øÀ¯ Ű ÆÄÀÏ ¹× ÀÎÁõ¼ÀÇ ÁöÁ¤µÈ °æ·Î°¡ Æ÷ÇԵ˴ϴÙ. sainfo anonymous Ç׸ñÀº IPsec ÄÄÇ»ÅÍ °£ 2 ´Ü°è SA — IPsec ¿¬°á ¼Ó¼º (»ç¿ëµÈ ¾ÏÈ£È ¾Ë°í¸®Áò Æ÷ÇÔ) ¹× Ű ±³È¯ ¹æ½ÄÀ» ¼³¸íÇÕ´Ï´Ù. ´ÙÀ½Àº 2 ´Ü°è Ç׸ñÀ» Á¤ÀÇÇÏ´Â ¸ñ·ÏÀÔ´Ï´Ù:
IPsec ÀÎÁõ¼¸¸ ÀÏÄ¡ÇÑ´Ù¸é SA°¡ ¾î´À ÄÄÇ»ÅͿ͵µ À͸íÀ¸·Î ¿¬°áÀ» ÃʱâÈÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
Diffie-Hellman Ű ±³È¯ ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ÇÁ·ÎÅäÄÝÀº IPsec ¿¬°á 2 ´Ü°è¿¡¼ IPsec ½Ã½ºÅÛÀÌ »óÈ£ Àӽà ¼¼¼Ç۸¦ ºÐ¹èÇÏ´Â ¹æ½ÄÀ» °áÁ¤ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î Red Hat Enterprise Linux´Â Diffie-Hellman ¾ÏȣŰ ±³È¯ ±×·ìÀÇ ±×·ì 2 (modp1024)¸¦ »ç¿ëÇÏ¿© IPsecÀ» ±¸ÇöÇÕ´Ï´Ù. ±×·ì 2´Â 1024 ºñÆ® ¹æ½ÄÀ» »ç¿ëÇϱ⠶§¹®¿¡ ħÀÔÀÚ°¡ ºñ¹Ð۸¦ ¾Ë¾Æ³½ °æ¿ì¿¡µµ ÀÌÀü IPsec Àü¼Û ³»¿ëÀ» ¾ÏÈ£ ÇØµ¶ ºÒ°¡´ÉÇÕ´Ï´Ù.
ÀÌ º¯¼ö´Â SAÀÇ ¼ö¸íÀ» ½Ã°£À̳ª µ¥ÀÌÅÍ ¹ÙÀÌÆ® ¼ö ´ÜÀ§·Î ÁöÁ¤ÇÕ´Ï´Ù. Red Hat Enterprise Linux¿¡¼ IPsec ±¸Çö½Ã ¼ö¸íÀº Çѽð£ÀÌ ±âº»ÀÔ´Ï´Ù.
2 ´Ü°è¿¡¼ »ç¿ëÇÒ ¾ÏÈ£È ¹æ½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù. Red Hat Enterprise Linux´Â 3DES, 448-bit Blowfish, ¹× Rijndael(AES:Advanced Encryption Standard¿¡ »ç¿ëµÈ ¾ÏÈ£¹æ½Ä)À» Áö¿øÇÕ´Ï´Ù.
ÀÎÁõ¿¡ »ç¿ëÇÒ ÇØ½Ã ¾Ë°í¸®ÁòÀ» ¿°ÅÇÕ´Ï´Ù. Áö¿ø °¡´ÉÇÑ ¸ðµå´Â sha1¿Í md5 ÇØ½Ã ¸Þ½ÃÁö ÀÎÁõ ÄÚµå (HMAC) ÀÔ´Ï´Ù.
IPCOMP (IP Payload Compression)À» À§ÇØ Deflate ¾ÐÃà ¾Ë°í¸®ÁòÀ» »ç¿ëÇϵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ¾Ë°í¸®ÁòÀ» »ç¿ëÇϸé IP µ¥ÀÌÅͱ׷¥À» º¸´Ù ºü¸£°Ô ¾ÐÃà Àü¼ÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¬°áÀ» ½ÃÀÛÇÏ·Á¸é ¿öÅ©½ºÅ×À̼ÇÀ» ÀçºÎÆÃÇϰųª °¢ È£½ºÆ®¿¡¼ ·çÆ®·Î ·Î±×ÀÎÇϽŠÈÄ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ½Ã¸é µË´Ï´Ù:
/sbin/ifup ipsec0 |
IPsec ¿¬°áÀ» °Ë»çÇϽ÷Á¸é tcpdump À¯Æ¿¸®Æ¼¸¦ ½ÇÇàÇÏ¿© È£½ºÆ® °£ (³×Æ®¿öÅ© °£)¿¡ Àü¼ÛµÇ´Â ³×Æ®¿öÅ© ÆÐŶÀÌ IPsecÀ» »ç¿ëÇÏ¿© ¾ÏȣȵǾú´ÂÁö È®ÀÎÇϽñ⠹ٶø´Ï´Ù. ÆÐŶÀº AH Çì´õ¸¦ Æ÷ÇÔÇØ¾ß Çϸç ESP ÆÐŶÀ¸·Î º¸¿©Á®¾ß ÇÏ´Ï´Ù. ESP´Â ÆÐŶÀÌ ¾ÏȣȵǾú´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¿¹¸¦ µé¸é:
17:13:20.617872 pinky.example.com > ijin.example.com: \ AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF) |