6.5. IPsec ³×Æ®¿öÅ© °£ ¼³Á¤

IPsecÀº ³×Æ®¿öÅ© °£ ¿¬°áÀ» ÅëÇÏ¿© ¿ø°Ý ³×Æ®¿öÅ©¿¡ Àüü ³×Æ®¿öÅ© (¿¹, LANÀ̳ª WAN)¸¦ ¿¬°áÇϵµ·Ï ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ³×Æ®¿öÅ© °£ ¿¬°áÀ» À§Çؼ­´Â ³×Æ®¿öÅ© »ó ÇÑ ½Ã½ºÅÛ¿¡¼­ ¿ø°Ý ³×Æ®¿öÅ© »ó ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î º¸³»Áö´Â Á¤º¸¸¦ Åõ¸íÇÏ°Ô Ã³¸®ÇÏ°í ¶ó¿ìÆÃÇÒ ¼ö ÀÖµµ·Ï ¿¬°áµÈ °¢ ³×Æ®¿öÅ©¿¡ IPsec ¶ó¿ìÅ͸¦ ¼³Á¤ÇÏ¼Å¾ß ÇÕ´Ï´Ù. ±×¸² 6-1¿¡¼­´Â ³×Æ®¿öÅ© °£ IPsec ÅͳÎÀ» ÅëÇÑ ¿¬°áÀ» º¸¿©ÁÝ´Ï´Ù.

±×¸² 6-1. ³×Æ®¿öÅ© °£ IPsec ÅͳÎÀ» ÅëÇÑ ¿¬°á

µÍÇ¥¿¡¼­´Â ÀÎÅͳÝÀ¸·Î ºÐ¸®µÈ 2 º°°³ÀÇ LANÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ LANÀº ÀÎÅͳÝÀ» ÅëÇØ º¸¾È ÅͳÎÀ» »ç¿ëÇÏ¿© ¿¬°áÀ» ÀÎÁõÇϰí ÃʱâÈ­Çϴµ¥ IPsec ¶ó¿ìÅ͸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ µÎ LAN »çÀÌ¿¡¼­ Àü¼Û ÁßÀÎ ÆÐŶÀ» °¡·Îä¾î ¾ÏÈ£¸¦ ÇØµ¶Çϱâ À§Çؼ­´Â brute-force (¾ÏÈ£ ¾Ë°í¸®Áò¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ۸¦ ÀüºÎ Á¶»çÇÏ´Â ¹æ¹ý)À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. IPsec ÆÐŶÀÇ Ã³¸®, ¾Ïȣȭ/¾ÏÈ£ ÇØµ¶ ¹× ¶ó¿ìÆÃ °úÁ¤Àº ÀüÀûÀ¸·Î IPsec ¶ó¿ìÅÍ¿¡ ÀÇÇØ 󸮵ǹǷΠ192.168.1.0/24 IP »ó ÄÄÇ»ÅÍ¿¡¼­ 192.168.2.0/24 ÄÄÇ»ÅÍ °£¿¡ ÁÖ°í¹Þ´Â Åë½Å °úÁ¤Àº ±× ÄÄÇ»ÅÍ¿¡¼­´Â ÀüÇô ¾Ë ¼ö ¾ø½À´Ï´Ù.

³×Æ®¿öÅ© °£ ¿¬°á¿¡ ÇÊ¿äÇÑ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù:

¿¹¸¦ µé¾î 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 ÆÄÀÏÀ» ·çÆ® »ç¿ëÀÚ¸¸ ÀÐ°í ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇϽ÷Á¸é, ÆÄÀÏÀ» »ý¼º ÈÄ ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ:

chmod 600 /etc/sysconfig/network-scripts/keys-ipsec1

¾ðÁ¦µçÁö ÀÎÁõ۸¦ º¯°æÇϽ÷Á¸é ¾ç 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 ±â´ÉÀ» Ȱ¼ºÈ­ÇϽʽÿÀ:

  1. /etc/sysctl.conf ÆÄÀÏÀ» ¿­°í net.ipv4.ip_forwardÀÇ °ªÀ» 1·Î ¼³Á¤ÇϽʽÿÀ.

  2. º¯°æ »çÇ×ÀÌ Àû¿ëµÇµµ·Ï ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ:

    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)