IPsecÀº ³×Æ®¿öÅ© °£ ¿¬°áÀ» ÅëÇÏ¿© ¿ø°Ý ³×Æ®¿öÅ©¿¡ Àüü ³×Æ®¿öÅ© (¿¹, LANÀ̳ª WAN)¸¦ ¿¬°áÇϵµ·Ï ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ³×Æ®¿öÅ© °£ ¿¬°áÀ» À§Çؼ´Â ³×Æ®¿öÅ© »ó ÇÑ ½Ã½ºÅÛ¿¡¼ ¿ø°Ý ³×Æ®¿öÅ© »ó ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î º¸³»Áö´Â Á¤º¸¸¦ Åõ¸íÇÏ°Ô Ã³¸®ÇÏ°í ¶ó¿ìÆÃÇÒ ¼ö ÀÖµµ·Ï ¿¬°áµÈ °¢ ³×Æ®¿öÅ©¿¡ IPsec ¶ó¿ìÅ͸¦ ¼³Á¤ÇÏ¼Å¾ß ÇÕ´Ï´Ù. ±×¸² 6-1¿¡¼´Â ³×Æ®¿öÅ© °£ IPsec ÅͳÎÀ» ÅëÇÑ ¿¬°áÀ» º¸¿©ÁÝ´Ï´Ù.
µÍÇ¥¿¡¼´Â ÀÎÅͳÝÀ¸·Î ºÐ¸®µÈ 2 º°°³ÀÇ LANÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ LANÀº ÀÎÅͳÝÀ» ÅëÇØ º¸¾È ÅͳÎÀ» »ç¿ëÇÏ¿© ¿¬°áÀ» ÀÎÁõÇϰí ÃʱâÈÇϴµ¥ IPsec ¶ó¿ìÅ͸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ µÎ LAN »çÀÌ¿¡¼ Àü¼Û ÁßÀÎ ÆÐŶÀ» °¡·Îä¾î ¾ÏÈ£¸¦ ÇØµ¶Çϱâ À§Çؼ´Â brute-force (¾ÏÈ£ ¾Ë°í¸®Áò¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ۸¦ ÀüºÎ Á¶»çÇÏ´Â ¹æ¹ý)À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. IPsec ÆÐŶÀÇ Ã³¸®, ¾ÏÈ£È/¾ÏÈ£ ÇØµ¶ ¹× ¶ó¿ìÆÃ °úÁ¤Àº ÀüÀûÀ¸·Î IPsec ¶ó¿ìÅÍ¿¡ ÀÇÇØ 󸮵ǹǷΠ192.168.1.0/24 IP »ó ÄÄÇ»ÅÍ¿¡¼ 192.168.2.0/24 ÄÄÇ»ÅÍ °£¿¡ ÁÖ°í¹Þ´Â Åë½Å °úÁ¤Àº ±× ÄÄÇ»ÅÍ¿¡¼´Â ÀüÇô ¾Ë ¼ö ¾ø½À´Ï´Ù.
³×Æ®¿öÅ© °£ ¿¬°á¿¡ ÇÊ¿äÇÑ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù:
¿ÜºÎ¿¡¼ Á¢±Ù °¡´ÉÇÑ Àü¿ë IPsec ¶ó¿ìÅÍÀÇ IP ÁÖ¼Ò
IPsec ¶ó¿ìÅÍ¿¡¼ ó¸®ÇÏ´Â LAN/WANÀÇ ³×Æ®¿öÅ© ÁÖ¼Ò ¹üÀ§ (¿¹, 192.168.0.0/24 ¶Ç´Â 10.0.1.0/24)
³×Æ®¿öÅ©·Î ¿¬°áµÈ ½Ã½ºÅÛ¿¡¼ ÀÎÅͳÝÀ¸·Î µ¥ÀÌÅ͸¦ ¶ó¿ìÆÃÇÏ´Â °ÔÀÌÆ®¿þÀÌ ÀåÄ¡ÀÇ IP ÁÖ¼Ò
IPsec ¿¬°áÀ» ½Äº°ÇÏ°í ´Ù¸¥ ÀåÄ¡³ª ¿¬°á (¿¹, ipsec0)·ÎºÎÅÍ ÀÌ IPsec ¿¬°áÀ» ±¸ºÐÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â °íÀ¯ À̸§
°íÁ¤ ¾ÏȣŰ ¶Ç´Â racoon°¡ ÀÚµ¿À¸·Î »ý¼ºÇÑ ¾ÏȣŰ
¿¬°áÀ» ÃʱâÈÇÏ°í ¼¼¼Ç Áß ¾Ïȣ۸¦ ±³È¯ÇÏ´Â ±âÁ¸ °øÀ¯ ÀÎÁõŰ
¿¹¸¦ µé¾î LAN A¿Í LAN B°¡ IPsec ÅͳÎÀ» ÅëÇÏ¿© ¼·Î ¿¬°áÇϰíÀÚ ÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù. LAN AÀÇ ³×Æ®¿öÅ© ÁÖ¼Ò´Â 192.168.1.0/24 ¹üÀ§¿¡ ¼ÓÇϰí LAN BÀÇ ³×Æ®¿öÅ© ÁÖ¼Ò´Â 192.168.2.0/24 ¹üÀ§¸¦ »ç¿ëÇÑ´Ù°í ÇսôÙ. LAN AÀÇ °ÔÀÌÆ®¿þÀÌ IP ÁÖ¼Ò´Â 192.168.1.254 À̸ç LAN BÀÇ °ÔÀÌÆ®À§¿¡ IP ÁÖ¼Ò´Â 192.168.2.254 ÀÔ´Ï´Ù. ÀÌ ¿¹½Ã¿¡¼´Â °ÔÀÌÆ®¿þÀÌ ÀåÄ¡°¡ IPsec ¶ó¿ìÅͷεµ ÀÛµ¿ÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù. °ÔÀÌÆ®¿þÀÌ´Â µÎ °³ÀÇ ³×Æ®¿öÅ© ÀåÄ¡¸¦ »ç¿ëÇÏ´Ï´Ù: eth0´Â ÀÎÅͳݿ¡ Á¢¼ÓÇÏ´Â ¿ÜºÎ¿¡¼ Á¢±Ù °¡´ÉÇÑ Á¤Àû IP ÁÖ¼Ò¿¡ ÇÒ´çµÇ¾úÀ¸¸ç, ¹Ý¸é eth1Àº °¢ ³ëµå °£¿¡ LAN ÆÐŶÀ» ó¸®Çϰí Àü¼ÛÇϸç ÀÎÅͳÝÀ¸·Î ÆÐŶÀ» Àü¼ÛÇϱâ À§ÇØ eth0·Î ¿¬°áÇÏ´Â ¶ó¿ìÆÃ ÁöÁ¡À¸·Î »ç¿ëµË´Ï´Ù.
°¢ ³×Æ®¿öÅ© °£ IPsec ¿¬°áÀº r3dh4tl1nuxÀ» ÀÌ¹Ì °øÀ¯µÈ Ű·Î »ç¿ëÇϸç A¿Í BÀÇ °ü¸®ÀÚ°¡ racoon µ¥¸óÀÌ ÀÚµ¿À¸·Î ÀÎÁõ۸¦ »ý¼ºÇÏ°í °¢ IPsec ¶ó¿ìÅÍ °£¿¡ ÀÎÁõ۸¦ °øÀ¯Çϵµ·Ï µ¿ÀÇÇß´Ù°í °¡Á¤ÇÕ´Ï´Ù. LAN AÀÇ °ü¸®ÀÚ´Â IPsec ¿¬°áÀ» ipsec0À̶ó À̸§ ºÙÀÎ ¹Ý¸é LAN BÀÇ °ü¸®ÀÚ´Â IPsec ¿¬°áÀ» ipsec1À̶ó°í À̸§ ºÙ¿´½À´Ï´Ù.
´ÙÀ½ ¿¹½Ã´Â LAN A¿¡¼ ³×Æ®¿öÅ© °£ IPsec ¿¬°á¿¡ »ç¿ëµÈ ifcfg ÆÄÀÏÀÇ ³»¿ëÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¿¹½Ã¿¡¼ ÀÌ ¿¬°áÀ» ½Äº°Çϱâ À§ÇØ »ç¿ëµÈ °íÀ¯ À̸§Àº ipsec1 ÀÔ´Ï´Ù, µû¶ó¼ °á°úÀûÀ¸·Î ÆÄÀÏ À̸§Àº /etc/sysconfig/network-scripts/ifcfg-ipsec1ÀÌ µË´Ï´Ù.
TYPE=IPSEC ONBOOT=yes IKE_METHOD=PSK SRCGW=192.168.1.254 DSTGW=192.168.2.254 SRCNET=192.168.1.0/24 DSTNET=192.168.2.0/24 DST=X.X.X.X |
ÀÌ ¿¬°áÀº ºÎÆÃ½Ã ½ÃÀ۵ǵµ·Ï (ONBOOT=yes) ¼³Á¤µÇ¾úÀ¸¸ç ÀÌ¹Ì °øÀ¯µÈ Ű ÀÎÁõ ¹æ½Ä (IKE_METHOD=PSK)À» »ç¿ëÇÕ´Ï´Ù. LAN AÀÇ °ü¸®ÀÚ´Â LAN BÀÇ °ÔÀÌÆ®¿þÀÌ(DSTGW=192.168.2.254)ÀÎ ¸ñÀû °ÔÀÌÆ®¿þÀÌ ¹× LAN AÀÇ °ÔÀÌÆ®¿þÀÌ IP ÁÖ¼ÒÀÎ ¼Ò½º °ÔÀÌÆ®¿þÀÌ(SRCGW=192.168.1.254)¸¦ ÀÔ·ÂÇÕ´Ï´Ù. ±× ÈÄ °ü¸®ÀÚ´Â LAN BÀÇ ³×Æ®¿öÅ© ¹üÀ§(DSTNET=192.168.2.0/24) ¹× ¼Ò½º ³×Æ®¿öÅ©(SRCNET=192.168.1.0/24)¸¦ ÀÔ·ÂÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î °ü¸®ÀÚ´Â LAN B¿¡¼ ¿ÜºÎ¿¡¼ Á¢±Ù °¡´ÉÇÑ IP ÁÖ¼ÒÀÎ (X.X.X.X) ¸ñÀû IP ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.
´ÙÀ½Àº /etc/sysconfig/network-scripts/keys-ipsecX ±âÁ¸ °øÀ¯ Ű ÆÄÀÏ (¿©±â¼ X´Â LAN AÀÇ °æ¿ì 0À̸ç LAN B´Â 1 ÀÔ´Ï´Ù)ÀÇ ³»¿ëÀ¸·Î¼ ÀÌ ÆÄÀÏÀº ¾ç ³×Æ®¿öÅ©°¡ »ó´ë¹æÀ» ÀÎÁõÇϴµ¥ »ç¿ëµË´Ï´Ù. ÀÌ ÆÄÀÏÀÇ ³»¿ëÀº µÎ ³×Æ®¿öÅ©¿¡¼ µ¿ÀÏÇØ¾ß ÇÏ¸ç ·çÆ® »ç¿ëÀÚ¸¸ÀÌ ÀÌ ÆÄÀÏÀ» Àаųª ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
IKE_PSK=r3dh4tl1nux |
![]() | Áß¿ä | |
---|---|---|
keys-ipsecX ÆÄÀÏÀ» ·çÆ® »ç¿ëÀÚ¸¸ ÀÐ°í ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇϽ÷Á¸é, ÆÄÀÏÀ» »ý¼º ÈÄ ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ:
|
¾ðÁ¦µçÁö ÀÎÁõ۸¦ º¯°æÇϽ÷Á¸é ¾ç IPsec ¶ó¿ìÅÍ¿¡¼ keys-ipsecX ÆÄÀÏÀ» ¼öÁ¤ÇϽñ⠹ٶø´Ï´Ù. ¾ç ۰¡ °°¾Æ¾ß Á¦´ë·Î ¿¬°áµÈ´Ù´Â »ç½ÇÀ» ÀØÁö ¸¶½Ê½Ã¿À.
´ÙÀ½Àº IPsec ¿¬°á¿¡ »ç¿ëµÈ /etc/racoon/racoon.conf ¼³Á¤ ÆÄÀÏÀÔ´Ï´Ù. ÆÄÀÏ ¸¶Áö¸· ºÎºÐÀÇ include ºÎºÐÀº IPsec ¿¬°áÀÌ È°¼ºÈµÉ ¶§¸¶´Ù ÀÚµ¿À¸·Î »ý¼ºµÇ±â ¶§¹®¿¡ ÇöÀç IPsec ä³Î¿¡ ¿¬°áµÈ °æ¿ì¿¡¸¸ ³ªÅ¸³³´Ï´Ù.
# 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" |
´ÙÀ½Àº ¿ø°Ý ³×Æ®¿öÅ©·Î ¿¬°áÇϴµ¥ »ç¿ëµÇ´Â ¼³Á¤ ÆÄÀÏÀÔ´Ï´Ù. ÆÄÀÏÀÇ À̸§Àº 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 ¿¬°áÀ» ½ÃÀÛÇϽñâ Àü¿¡ Ä¿³Î¿¡¼ IP fowarding ±â´ÉÀ» Ȱ¼ºÈÇÏ¼Å¾ß ÇÕ´Ï´Ù. ½© ÇÁ·ÒÇÁÆ®¿¡¼ ·çÆ®·Î ·Î±×ÀÎÇϽŠÈÄ IP forwarding ±â´ÉÀ» Ȱ¼ºÈÇϽʽÿÀ:
/etc/sysctl.conf ÆÄÀÏÀ» ¿°í net.ipv4.ip_forwardÀÇ °ªÀ» 1·Î ¼³Á¤ÇϽʽÿÀ.
º¯°æ »çÇ×ÀÌ Àû¿ëµÇµµ·Ï ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ:
sysctl -p /etc/sysctl.conf |
Ipsec ¿¬°áÀ» ½ÃÀÛÇϽ÷Á¸é IPsec ¶ó¿ìÅ͸¦ ÀçºÎÆÃÇϽðųª °¢ ¶ó¿ìÅÍ¿¡¼ ·çÆ®·Î ·Î±×ÀÎÇϽŠÈÄ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ½Ã¸é µË´Ï´Ù:
/sbin/ifup ipsec0 |
LAN A¿Í LAN B°¡ ¼·Î Åë½ÅÇÒ ¼ö ÀÖµµ·Ï ¿¬°áÀÌ È°¼ºÈµË´Ï´Ù. IPsec ¿¬°á¿¡¼ ifupÀ» ½ÇÇàÇÏ¿© È£ÃâµÈ ÃʱâÈ ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ¶ó¿ìÆ®°¡ ÀÚµ¿À¸·Î »ý¼ºµË´Ï´Ù. ³×Æ®¿öÅ© »ó ¶ó¿ìÆ® ¸ñ·ÏÀ» º¸½Ã·Á¸é, ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ:
/sbin/ip route list |
IPsec ¿¬°áÀ» Å×½ºÆ®ÇϽ÷Á¸é tcpdump À¯Æ¿¸®Æ¼¸¦ ¿ÜºÎ¿¡¼ ¶ó¿ìÆÃ°¡´ÉÇÑ ÀåÄ¡ (ÀÌ ¿¹½Ã¿¡¼´Â eth0)¿¡¼ ½ÇÇàÇÏ¿© È£½ºÆ® °£ (³×Æ®¿öÅ© °£)¿¡ Àü¼ÛµÇ´Â ³×Æ®¿öÅ© ÆÐŶÀÌ IPsecÀ» »ç¿ëÇÏ¿© ¾ÏȣȵǾú´ÂÁö È®ÀÎÇϽñ⠹ٶø´Ï´Ù. ¿¹¸¦ µé¾î LAN AÀÇ IPsec ¿¬°áÀ» È®ÀÎÇØº¸½Ã·Á¸é ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽñ⠹ٶø´Ï´Ù:ÆÐŶÀº AH Çì´õ¸¦ Æ÷ÇÔÇØ¾ß Çϸç ESP ÆÐŶÀ¸·Î º¸¿©Á®¾ß ÇÏ´Ï´Ù. ESP´Â ÆÐŶÀÌ ¾ÏȣȵǾú´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¿¹¸¦ µé¸é:
tcpdump -n -i eth0 host lana.example.com |
ÆÐŶÀº AH Çì´õ¸¦ Æ÷ÇÔÇØ¾ß Çϸç ESP ÆÐŶÀ¸·Î º¸¿©Á®¾ß ÇÏ´Ï´Ù. ESP´Â ÆÐŶÀÌ ¾ÏȣȵǾú´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¿¹¸¦ µé¸é (¹é½½·¡½¬´Â ÇÑ ÁÙÀÌ °è¼Ó µÈ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù):
12:24:26.155529 lanb.example.com > lana.example.com: AH(spi=0x021c9834,seq=0x358): \ lanb.example.com > lana.example.com: ESP(spi=0x00c887ad,seq=0x358) (DF) \ (ipip-proto-4) |