ÇÊÀÚ : ÀÌ°¼®, ³ëº´±Ô (ksalice, nono@kisa.or.kr)
|
||||||||||||||||||||||||||||||||||||||||||||||||
¸ñÂ÷ 1. µ¥ÀÌÅÍ ¹«°á¼º°ú º¸¾È
1. µ¥ÀÌÅÍ ¹«°á¼º(Integrity)°ú º¸¾È ³×Æ®¿öÅ© ȯ°æ¿¡ ÀÖ´Â ½Ã½ºÅÛÀÎ °æ¿ì ¿ÜºÎÀÇ Å©·¡Ä¿³ª ³»ºÎÀÇ ¾ÇÀÇÀûÀÎ »ç¿ëÀÚÀÇ °ø°Ý¿¡ ³ëÃâµÇ¾î ÀÖ´Ù. À̵éÀº ½Ã½ºÅÛ¿¡ ħÅõÇÏ¿© Áß¿äÇÑ ÆÄÀÏÀ» º¯°æ ¶Ç´Â, »èÁ¦Çϰųª ¹éµµ¾î(Backdoor)¿Í °°Àº ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ¿© ½Ã½ºÅÛ¿¡ Çظ¦ ³¢Ä¥ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é, ¸®´ª½º ¼¹öÀÇ È£½ºÆ®¸¦ º¸È£Çϱâ À§ÇØ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Â TCPWrapper´Â /etc/hosts.allow ¹× /etc/hosts.deny ¿¡ Á¢±Ù±ÇÇÑÀ» ¼³Á¤ÇÏ°í Àִµ¥, ÀÌ ÆÄÀÏ¿¡ ´©±º°¡ Á¶ÀÛÀ» °¡ÇÏ¸é ¸ðµç »ç¿ëÀÚµéÀÇ Á¢¼ÓÀ» Çã¿ëÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. °ü¸®ÀÚ´Â ÆÄÀÏÀ» ¿¾îº¸Áö ¾Ê°í¼´Â ÆÄÀÏÀÌ º¯Á¶µÇ¾úÀ½À» ¾Ë ¼ö°¡ ¾ø´Ù. ÀÌ¿Í °°Àº ¹®Á¦·ÎºÎÅÍ ½Ã½ºÅÛÀ» º¸È£Çϱâ À§ÇÑ ¹æ¹ýÀº ÆÄÀÏ¿¡ ´ëÇÑ ºÒ¹ý º¯Á¶¿©ºÎ¸¦ °Ë»çÇØ ÁÖ´Â °ÍÀÌ´Ù. µ¥ÀÌÅÍ ¹«°á¼ºÀº ½Ã½ºÅÛ ³»ÀÇ Áß¿äÇÑ µ¥ÀÌÅÍ°¡ Çã°¡µÇÁö ¾ÊÀº »ç¿ëÀÚ¿¡ ÀÇÇØ »èÁ¦, ¼öÁ¤, Ãß°¡ µîÀÇ ÇàÀ§¿¡ ´ëÇØ °¨½Ã ¶Ç´Â ¹æÁöÇÏ´Â ±â´ÉÀÌ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» Á¦°øÇϱâ À§Çؼ´Â ¹«°á¼º ´ë»ó µ¥ÀÌÅ͸¦ Á¤ÀÇÇÏ°í, µ¥ÀÌÅÍÀÇ º¯°æÀ» °¨ÁöÇϱâ À§ÇØ ¿øº» µ¥ÀÌÅͷκÎÅÍ À¯ÀÏÇÏ°Ô ±¸ºÐµÇ´Â °ªÀÎ ¹«°á¼º µ¥ÀÌÅ͸¦ »ý¼ºÇØ¾ß ÇÑ´Ù. ¹«°á¼º ´ë»ó µ¥ÀÌÅÍ´Â ½Ã½ºÅÛ ³»ÀÇ Áß¿äÇÑ µð·ºÅ丮³ª ÆÄÀÏÀÌ ÇØ´çµÈ´Ù. ¹«°á¼º µ¥ÀÌÅÍ´Â ´Ü ¹æÇâ ÇÔ¼ö¶ó°í ºÒ¸®´Â Çؽ¬(Hash) ÇÔ¼ö·Î »ý¼ºµÇ¸ç, ´ëÇ¥ÀûÀÎ Çؽ¬ ÇÔ¼ö´Â MD5, SHA1 µîÀÌ ÀÖ´Ù. Çؽ¬ ÇÔ¼ö´Â ÀÔ·Â °ª¿¡´Â ¹«°üÇÏ°Ô ÀÏÁ¤ÇÑ ±æÀÌÀÇ Ãâ·Â °ªÀ» »ý¼ºÇϸç, MD5ÀÎ °æ¿ì 128ºñÆ®, SHA1Àº 160ºñÆ®ÀÇ Ãâ·Â °ªÀ» »ý¼ºÇÏ°í, »ý¼ºµÈ °ªÀ¸·ÎºÎÅÍ º»·¡ÀÇ ÀÔ·Â °ªÀ» ¾Ë¾Æ³»±â´Â ¾î·Æ´Ù.
µ¥ÀÌÅÍ ¹«°á¼º °úÁ¤Àº (±×¸² 1)°ú °°´Ù. ¹«°á¼º ´ë»ó µ¥ÀÌÅÍ´Â Çؽ¬ÇÔ¼ö¸¦ ÅëÇØ ¹«°á¼º µ¥ÀÌÅ͸¦ »ý¼ºÇÏ¿© º¸°üÇÑ´Ù. µ¥ÀÌÅÍ°¡ º¯Á¶µÇ¾ú´ÂÁö¸¦ °Ë»çÇϱâ À§Çؼ´Â µ¿ÀÏÇÑ °úÁ¤À¸·Î ¹«°á¼º µ¥ÀÌÅ͸¦ »ý¼ºÇÏ¿© ÀúÀåµÈ ¹«°á¼º µ¥ÀÌÅÍ¿Í ºñ±³ÇÏ°Ô µÈ´Ù. ¹«°á¼º ´ë»ó µ¥ÀÌÅÍ°¡ º¯Á¶µÇ¾úÀ» °æ¿ì¿¡´Â º¯Á¶¿©ºÎ¸¦ ¹Ù·Î ¾Ë°Ô µÈ´Ù. µ¥ÀÌÅÍ ¹«°á¼º¿¡ ÇÊ¿äÇÑ ÇÁ·Î±×·¥À¸·Î´Â Tripwire³ª AIDE µîÀÌ ÀÖÀ¸¸ç, ¿©±â¿¡¼´Â AIDE¿¡ ´ëÇØ ¼Ò°³ÇÑ´Ù.
2. AIDE ¼Ò°³ AIDE(Advanced Intrusion Detection Environment)´Â
µ¥ÀÌÅÍ ¹«°á¼ºÀ» °Ë»çÇØÁÖ´Â µµ±¸·Î, GPL(General Public License)·Î
¹èÆ÷µÈ Á¦ÇÑÀÌ ¾ø´Â À¯Æ¿¸®Æ¼ÀÌ´Ù. ÀÌ°ÍÀº Solaris °è¿, Linux
°è¿, FreeBSD µîÀÇ UNIX ȯ°æÀÇ Ç÷§Æû¿¡¼ µ¿ÀÛÇÑ´Ù. AIDE´Â ȯ°æ¼³Á¤ ÆÄÀÏÀÎ aide.conf¿¡ Á¤ÀÇµÈ Á¤±Ô Ç¥Çö ¹æ½Ä¿¡ µû¶ó ¹«°á¼º µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÑ´Ù. ¹«°á¼º µ¥ÀÌÅͺ£À̽º´Â À§¿¡¼ Áö¿øÇÏ´Â ¿©·¯ °¡Áö ¹«°á¼º ¾Ë°í¸®ÁòÀ¸·Î »ý¼ºµÇ¸ç, ÆÄÀÏÀÇ ¹«°á¼ºÀ» °Ë»çÇϴµ¥ »ç¿ëµÈ´Ù.
3. AIDE ¼³Ä¡ ¿©±â¼´Â AIDE¿¡ ´ëÇÑ ¼³Ä¡È¯°æ°ú ¼³Ä¡¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 3.1 ÇÊ¿äÇÑ ¿ä¼Ò AIDE¸¦ ¼³Ä¡Çϱâ Àü¿¡ ´ÙÀ½°ú °°Àº ¿ä¼ÒµéÀÌ ÇÊ¿äÇϸç, ¼³Ä¡ Àü¿¡ ÇÊ¿äÇÑ ´ÙÀ½ ÆÄÀÏÀ» /tmp µð·ºÅ丮¿¡ ´Ù¿î·ÎµåÇÑ´Ù. - AIDE source code (http://www.cs.tut.fi/~rammer/aide.html)
3.2 ¼³Ä¡ ÀýÂ÷ AIDE´Â root ¶Ç´Â ƯÁ¤ »ç¿ëÀÚ°¡ µ¿ÀÛÇصµ °¡´ÉÇÏÁö¸¸, Á»´õ º¸¾ÈÀ» °ÈÇϱâ À§Çؼ´Â root°¡ °ü¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ¨ç ¹«°á¼º ¾Ë°í¸®ÁòÀ» Ãß°¡ÇÏ¿© CRC32, HAVAL,
±×¸®°í GOST¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ °æ¿ì, [root@digital /tmp]# ls [root@digital /tmp]# tar -vzxf mhash-0.8.9.tar.gz ¨è AIDE ¼³Ä¡µµ ¸¶Âù°¡Áö·Î ./configure, make,
make installÀ» [root@digital /tmp]# tar vzxf aide-0.7.tar.gz
MHASH¿Í ÇÔ²² ±âº»ÀûÀ¸·Î ¼³Ä¡ÇÒ °æ¿ì ÄÄÆÄÀÏ ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù. [root@digital aide-0.7]# ./configure --with-mhash ¼³Ä¡ µð·ºÅ丮¸¦ »ç¿ëÀÚ°¡ Á¤ÀÇÇÏ°í ¼³Ä¡ÇÒ °æ¿ì ÄÄÆÄÀÏ ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù. [root@digital aide-0.7]# ./configure --with-mhash --prefix=/usr/local/aide AIDEÀÇ ¼³Ä¡ µð·ºÅ丮´Â /usr/local ¿¡ ¼³Ä¡µÇ¸ç, ½ÇÇàÆÄÀÏÀº /usr/local/bin¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. ÇöÀç ¹èÆ÷µÈ ¹öÀü(AIDE-0.7)¿¡¼´Â À§¿Í °°ÀÌ ±âº»(default)À¸·Î ¼³Ä¡Çϰųª »ç¿ëÀÚ Á¤ÀÇ µð·ºÅ丮 ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼³Ä¡ÇßÀ» °æ¿ì, ȯ°æ¼³Á¤ ÆÄÀÏÀÎ aide.confÀÇ À§Ä¡¸¦ ãÁö ¸øÇϱ⠶§¹®¿¡ configure ÆÄÀÏÀ» Á÷Á¢ ¼öÁ¤ÇØ¾ß ÇÑ´Ù. µû¶ó¼ ´ÙÀ½°ú °°ÀÌ ./configure ÆÄÀÏÀ» ¼öÁ¤Çϵµ·Ï ÇÑ´Ù. [root@digital aide-0.7]# vi configure À» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. #define CONFIG_FILE ¡°/usr/local/aide/etc/aide.conf¡± [root@digital aide-0.7]# ./configure --with-mhash
--prefix=/usr/local/aide ¼³Ä¡ µð·ºÅ丮´Â /usr/local/aideÀÌ°í, AIDE ½ÇÇàÆÄÀÏÀº /usr/local/aide/bin ¿¡ ÀÖ´Ù. »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ È¯°æ ¼³Á¤ÆÄÀÏ¿¡ /usr/local/aide/bin µð·ºÅ丮 °æ·Î¸¦ ¼³Á¤ÇÑ´Ù. bash¸¦ »ç¿ëÇÒ °æ¿ì ´ÙÀ½°ú °°ÀÌ PATH¸¦ ¼³Á¤ÇÑ´Ù. [root@digital aide-0.7]vi ~/.bash_profile [root@digital aide-0.7]source ~/.bash_profile [root@digital aide-0.7]# cd /usr/local/aide
4 AIDE »ç¿ë¹ý ¿©±â¼´Â ȯ°æ¼³Á¤ÆÄÀÏÀÎ aide.conf ÆÄÀÏ¿¡ ´ëÇØ ¼³¸íÇÏ°í, óÀ½ AIDE¸¦ ½ÇÇàÇÒ ¶§ ÇÊ¿äÇÑ ÀÛ¾÷µé¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 4.1 ȯ°æ¼³Á¤ÆÄÀÏ aide.conf AIDE¸¦ ½ÇÇàÇϱâ À§Çؼ´Â ¿ì¼± aide.conf¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. aide.conf¸¦ ¼³Á¤Çϱ⠾ռ ¼³Ä¡ µð·ºÅ丮¿¡¼ etc ¿Í doc µð·ºÅ丮¸¦ »ý¼ºÇÏ°í, ¿øº» AIDE µð·ºÅ丮ÀÇ doc µð·ºÅ丮¿¡¼ ȯ°æ¼³Á¤ ÆÄÀÏÀ» »ý¼ºÇÑ etc µð·ºÅ丮 ¾Æ·¡¿¡ º¹»çÇÑ´Ù. [root@digital aide]# mkdir /usr/local/aide/etc ±âº»À¸·Î Á¦°øµÇ´Â aide.conf ÆÄÀÏÀ» ¿¾î ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. ¼¼ºÎÀûÀÎ ¼³¸íÀº »ý·«ÇÑ´Ù. [root@digital etc]# vi /usr/local/aide/etc/aide.conf url=stdout 4.2 AIDE »ç¿ë¹ý AIDE »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù. [root@digital aide]# aide -h [root@digital aide]# aide -i [root@digital aide]# aide -C [root@digital aide]# aide -u 4.3 AIDE ½ÇÇà AIDEÀÇ ½ÇÇàÆÄÀÏÀÌ ÀÖ´Â À§Ä¡(/usr/local/aide/bin)¸¦ PATH·Î ¿¬°áÇß´Ù¸é, ´ÙÀ½°ú °°ÀÌ /usr/local/aide/doc·Î À̵¿ÇÑ ÈÄ¿¡ AIDE¸¦ ½ÇÇàÇÒ Áغñ¸¦ ÇÑ´Ù. [root@digital doc]# pwd AIDE¸¦ óÀ½À¸·Î ½ÇÇàÇÏ¸é¼ µ¥ÀÌÅͺ£À̽º¸¦ ÃʱâÈÇÑ´Ù. [root@digital doc]# aide -i -i ¿É¼ÇÀº aide.db.new¸¦ »ý¼ºÇÏ°í, ±× °á°ú¸¦ report.txt¿¡ ÀúÀåÇÏ°Ô µÈ´Ù. ÀÌ ÆÄÀÏÀº ¹«°á¼º üũ¸¦ Çϱâ À§ÇØ aide.db·Î À̸§À» ¹Ù²ãÁØ´Ù. [root@digital doc]# mv aide.db.new aide.db ¹«°á¼ºÀ» üũÇÑ´Ù. ÆÄÀÏÀÇ º¯È°¡ ¹ß»ýÇßÀ» °æ¿ì¿¡´Â ȸ鿡 °á°ú¸¦ º¸¿©ÁÖ°í, report.txt ÆÄÀÏ¿¡ ±× °á°ú¸¦ ±â·ÏÇÑ´Ù. [root@digital doc]# aide -C ¹«°á¼º µ¥ÀÌÅͺ£À̽º¸¦ °»½ÅÇÒ °æ¿ì -u ¿É¼ÇÀ» »ç¿ëÇÏ¿© »õ·Î¿î µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀ» »ý¼ºÇÏ°í, ÀÌÀü µ¥ÀÌÅͺ£À̽º¸¦ °»½ÅÇÑ´Ù. -u ¿É¼ÇÀº ¹«°á¼ºÀ» üũÇÏ°í °»½ÅÇÏ´Â ¿É¼ÇÀÌ´Ù. [root@digital doc]# aide -u
5. AIDE ·ê ¼³Á¤ AIDE´Â ȯ°æ¼³Á¤ ÆÄÀÏÀÎ aide.conf¿¡ ¹«°á¼º ´ë»ó°ú ¹æ¹ýÀ» ¼³Á¤ÇÏ°í ÀÖ´Ù. ¿©±â¿¡¼´Â ȯ°æ¼³Á¤¿¡ ÇÊ¿äÇÑ °ªµé°ú ¼³Á¤¹æ¹ý ±×¸®°í ·ê Á¤Ã¥¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 5.1 ·ê Ç¥Çö °ª ´ÙÀ½ [Ç¥ 1]Àº ·êÀ» ¼³Á¤Çϱâ À§ÇÑ Ç¥Çö °ªµéÀ»
º¸¿©ÁÖ°í ÀÖÀ¸¸ç, ÀÌ ·êµéÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ´Â ¿øÇÏ´Â ·êÀ» ¸¸µé
¼ö ÀÖ´Ù.
5.2 ·ê ¿¹Á¦ ´ÙÀ½Àº ¹«°á¼º ´ë»óµ¥ÀÌÅÍ ¼³Á¤°ú Çؽ¬¾Ë°í¸®Áò ¼³Á¤¿¡ ´ëÇØ ¿¹Á¦·Î ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. aide.conf ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. [root@digital etc]# vi /usr/local/aide/etc/aide.conf MyRule=p+i+n+u+g+s+b+m+c+md5+sha1 # ·ê ¼³Á¤
ºÎºÐ 5.3 ·ê Á¤Ã¥ ¹«°á¼º ´ë»óµ¥ÀÌÅÍ´Â °ü¸®ÀÚÀÇ Á¤Ã¥À» °¡Áö°í ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. º¸¾ÈÀ» °ÈÇϱâ À§ÇØ ¹«Á¶°Ç ¸¹Àº µð·ºÅ丮¿Í ÆÄÀÏ¿¡ ´ëÇØ ¹«°á¼ºÀ» À¯ÁöÇÏ·Á ÇÑ´Ù¸é, ¹«°á¼ºÀ» üũÇϴµ¥ ¸¹Àº ½Ã°£°ú ÀÛ¾÷À» ÇÊ¿ä·Î ÇÏ°Ô µÈ´Ù. µû¶ó¼, ¹«°á¼º ´ë»óµ¥ÀÌÅÍ¿¡ ´ëÇÑ ¼±º°ÀÌ ÀÌ·ç¾îÁ®¾ß ÇÏ°í, ¾ó¸¶ÀÇ ÁÖ±â·Î ¹«°á¼ºÀ» üũÇϵµ·Ï ÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ Á¤Ã¥À» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ¹«°á¼º ´ë»óµ¥ÀÌÅÍ´Â ½Ã½ºÅÛ¿¡ Áß¿äÇÑ ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ Á¤ÇÏ°í, ½Ã½ºÅÛÀÌ HTTP³ª FTP µî°ú °°Àº ¼¹ö·Î¼ µ¿ÀÛÀ» ÇÏ°í ÀÖ´Ù¸é À̵鿡 ´ëÇÑ µ¥ÀÌÅͳª ȯ°æ¼³Á¤ÆÄÀϵ鿡 ´ëÇؼµµ °í·ÁÇØ¾ß ÇÒ °ÍÀÌ´Ù.
6. °á·Ð AIDE´Â µ¥ÀÌÅÍ ¹«°á¼ºÀ» üũÇÏ´Â µµ±¸·Î Tripwire°¡ »ó¿ëÀε¥ ¹ÝÇØ, ±× »ç¿ëÀÇ Á¦ÇÑÀÌ ¾ø°í »ç¿ëÀÌ °£ÆíÇÏ´Ù´Â ÀåÁ¡À» °¡Áö°í ÀÖÁö¸¸, Postgres¿ÍÀÇ ¿¬µ¿¹®Á¦¿Í ÄÄÆÄÀϽÿ¡ ³ªÅ¸³ª´Â ¹®Á¦°¡ ³²¾Æ ÀÖ´Ù. ¶ÇÇÑ ¹«°á¼º üũ¸¦ ¿øÇÒ ¶§¸¶´Ù AIDE¸¦ ½ÇÇà½ÃÄÑ¾ß ÇÏ°í, °»½Å½Ã¿¡´Â DB ÆÄÀÏ ¶ÇÇÑ °»½ÅÇØ¾ß ÇÑ´Ù´Â ºÒÆíÇÔÀ» Áö´Ï°í ÀÖ´Ù. AIDE´Â TCP Wrapper¿Í °°Àº º¸¾ÈÇÁ·Î±×·¥°ú CRON µîÀÇ ¹é¾÷µµ±¸¸¦ ÇÔ²² »ç¿ëÇÏ¿© ´ÜÁ¡À» º¸¿ÏÇÏ°í È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀ̸ç, Â÷ÈÄ¿¡´Â µ¥ÀÌÅͺ£À̽º ¿¬µ¿, ¾ÐÃà, ¾ÏÈ£È ºÎºÐÀÇ Ãß°¡¸¦ °èȹÇÏ°í ÀÖ´Ù.
7. Âü°í »çÀÌÆ® [1] Aide, |