¹ø¿ª : À̱¹Çö (errai@hitel.net) |
¿ø¹®¸µÅ©: ÀÌ ¹®¼´Â Eric Hines¿¡ ÀÇÇØ ¾²¿©Áø °ÍÀ¸·Î, ¿ø°Ý ·Î±×¼¹ö¸¦ ¸¸µé±â À§ÇÑ ÀÚ¼¼ÇÑ ¼³¸í°ú ¼³Á¤¹æ¹ýµîÀ» ´Ù·ê °ÍÀÌ´Ù.
¼Ò°³(INTRODUCTOIN) ¿ì¼± º» ¹®¼¿¡¼ ¾ð±ÞÇÏ°í ÀÖ´Â À¯Æ¿¸®Æ¼µéÀÇ README ÈÀϵ鿡 ´ëÇؼ ¿½ÉÈ÷ °øºÎÇØ º¼ °ÍÀ» ±ÇÇÑ´Ù. ±×¸®°í ¹®¼¸¦ Àд٠º¸¸é ³ª¿À´Â ´Ü¾î Áß SERVER´Â ¿ø°Ý ¸Ó½Å(CLIENTS)µé·ÎºÎÅÍ log¸¦ ¹Þµµ·Ï ¼³Á¤µÇ¾îÁø ÄÄÇ»ÅÍÀÌ°í, CLIENT´Â ¿ø°Ý ·Î±× ¼¹ö(REMOTE LOG SERVER)¿¡°Ô log¸¦ º¸³»µµ·Ï ¼³Á¤ µÇ¾îÁø ÄÄÇ»ÅÍÀÓÀ» ³ªÅ¸³½´Ù.
A. ¿ø°Ý ·Î±× ¼¹ö¶õ ¹«¾ùÀΰ¡? ¿ø°Ý ·Î±×¼¹ö´Â ´Ù¸¥ ½Ã½ºÅÛµéÀÇ logµéÀ» ÀúÀåÇÒ
ÇÏµå µå¶óÀÌºê °ø°£À» Á¦°øÇϵµ·Ï ¹Ì¸® ¼³Á¤µÇ¾îÁø ½Ã½ºÅÛÀÏ »Ó
±× ÀÌ»óµµ ÀÌÇϵµ ¾Æ´Ï´Ù.
B. SYSLOGD syslogdÀÇ Àç ÄÄÆÄÀÏ(Recompiling syslogd) ¿©·¯ºÐ ÄÄÇ»ÅÍ¿¡¼ ¿ø°ÝÀ¸·Î ·Î±×¸¦ ³²±â´Â ´É·ÂÀ» ÀÛµ¿½ÃÅ°±â À§Çؼ ù¹ø°·Î ÇÒ ÀÏÀº syslogdÀÇ Àç ÄÄÆÄÀÏÀÌ´Ù. ÀÌ°ÍÀº º¸¾È»óÀÇ ÀÌÀ¯·Î½á syslog.conf ÈÀÏÀÌ ¾Æ´Ñ ´Ù¸¥ ÈÀÏÀ» Àеµ·Ï Çϱâ À§ÇÔÀÌ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ³ªÁß¿¡ ´Ù·ç°Ú´Ù. NOTES : ÀÌ ¾ÆÀ̵ð¾î´Â Lance Spitzner°¡ ¾´
"To Build a Honeypot"À̶õ whitepaper¸¦ ÅëÇØ
STEP 1 :
»õ·Î¿î ¹öÁ¯À¸·Î ÄÄÆÄÀÏÇϱ⠿켱 ¿©·¯ºÐÀÇ ¿î¿µÃ¼Á¦¿¡´Â ±âº»ÀûÀ¸·Î syslogd°¡ ¼³Ä¡µÇ¾î ÀÖÀ» °ÍÀÌ°í ¼Ò½ºÄÚµå´Â ÇÔ²² µé¾îÀÖÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀº ¿ì¼± RedHat À̳ª Joey's FTP site(syslogdÀÇ °³¹ßÀÚ)¸¦ ÅëÇØ ¼Ò½º Äڵ带 ´Ù¿î·Îµå ¹Þ¾Æ¾ß ÇÑ´Ù. ¿©·¯ºÐÀÇ ¹èÆ÷ÆÇ¿¡¼ ¼Ò½º Äڵ带 Á¦°øÇÏÁö ¾Ê´Â´Ù¸é ¿ÀÇ ¼Ò½º Á¤Ã¥¿¡ À§¹ÝµÇ´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î ¾Æ·¡ÀÇ ¸µÅ©¿¡¼ ¼Ò½º¸¦ ´Ù¿î¹Þ±æ ¿øÇÏÁö ¾Ê´Â´Ù¸é ¿©·¯ºÐÀÇ OS vender¿¡¼ ¼Ò½ºÄڵ带 ¾ò±â ¹Ù¶õ´Ù. SITE 1: ¸¸¾à RedHat°è¿ÀÇ »ç¿ëÀÚÀÏ ¶§ rpm-iv-vsysklogd-1.3.31-16.src.rpm ¶ó°í ½ÇÇàÇÑ´Ù¸é /usr/src/redhat/ SOURCES/sysklogd-1.3-31 ¿¡ ÀνºÅç µÉ °ÍÀÌ´Ù.
STEP 2 :
±âº» ¼³Á¤ ÈÀÏ À§Ä¡ º¯°æÇϱ⠿©±â´Â Àç¹ÌÀÖ´Â ºÎºÐÀÌ´Ù. ÀÌ°ÍÀº ħÀÔÀÚ°¡ ¿©·¯ºÐÀÇ logÈÀÏÀÌ local¿¡ ÀúÀåµÈ´Ù°í »ý°¢ÇÏ°Ô²û ¼ÓÀδÙ. ¿ì¸®´Â syslogd°¡ ´Ù¸¥ ¼³Á¤ ÈÀÏÀ» Àеµ·Ï ÀçÄÄÆÄÀÏÀ» ÇÒ °ÍÀÌ´Ù. ±âº»À¸·Î ¼³Á¤µÇ¾îÀÖ´Â ¿¾ ÈÀÏÀº ħÀÔÀÚ°¡ ¿ø°Ý ·Î±×°¡ ±â·ÏµÇ´ÂÁö cat µîÀ» ½ÇÇàÇؼ /etc/syslog.conf¸¦ µé¿©´Ù º¸¾ÒÀ» ¶§ ¼ÓÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀçÄÄÆÄÀÏÇؼ »õ·Î¿î ¹ÙÀ̳ʸ®¸¦ ¾ò´õ¶óµµ ¿¾ ¼³Á¤ÈÀÏÀº ³²°Ü³õµµ·Ï ÇÏÀÚ. ±âº» ¼³Á¤ÀÎ /etc/syslog.conf ¸¦ °íÄ£´Ù. [ehines@myhost sysklogd-1.3-31]$ cd /usr/src/redhat
¡¬/SOURCES/sysklogd-1.3-31 syslog.conf ºÎºÐÀ» ã´Â´Ù. #define _PATH_LOGCONF "/etc/syslog.conf" ÀÌÁ¦ ¿©·¯ºÐÀÌ ¿øÇϴµ¥·Î ¼³Á¤ °ªÀ» °íÄ¡¸é
µÈ´Ù. ¿©·¯ºÐÀº /etc/.sys/CORE.conf °°ÀÌ µ¶Ã¢ÀûÀ¸·Î ¼³Á¤Çϱâ
¹Ù¶õ´Ù. ÀÌ ºÎºÐÀ» ½ÇÇàÇϱâ Àü¿¡ ¿¾³¯ ¹öÁ¯Àº ¹é¾÷ ÇصÎÀÚ. °ü¸®ÀÚ¶ó¸é ÀÌ¹Ì ¾Ë°í ÀÖ°ÚÁö¸¸, ±×·¸ÁÒ? :) NOTES : °£´ÜÇÏ°Ô ¿¹Àü syslogd¸¦ °¡Áö°í
(-f ¼³Á¤ÈÀÏ)Çü½ÄÀ¸·Î ½ÇÇàÇÏÁö ¾ÊÀº
STEP 3 :
ÁøÂ¥ syslog ¼³Á¤ÈÀÏ °íÄ¡±â ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ syslog.conf ´Â ¸ðµç ¸Þ¼¼Áö¸¦ ¿ø°Ý È£½ºÆ®·Î Æ÷¿öµù ÇÏ´Â °ÍÀÌ´Ù. # °£´ÜÇÏ°Ô ¸ðµç ¸Þ¼¼Áö¸¦ ¿ø°Ý È£½ºÆ®·Î
Æ÷¿öµù. # ¸ðµç Ä¿³Î ¸Þ¼¼Áö¸¦ ¿ø°Ý È£½ºÆ®·Î Æ÷¿öµù. # ·ÎÄÿ¡µµ ±â·ÏÇÏ¸é¼ ¿ø°ÝÀ¸·Îµµ ±â·ÏÀ»
³²±è (½ÇÆÐÇÒ °æ¿ì ´ëºñ) ±âŸµîµî ¿©·¯ºÐÀÌ ¿øÇϴµ¥·Î ¸ðµç ·Î±×ÈÀÏÀ» ¼³Á¤ÇÑ´Ù.
C. THE CLIENT ( REMOTE LOG SERVER ) Ŭ¶óÀ̾ðÆ® ¼¹ö(ȤÀº ¸ðµç ¿ø°Ý ·Î±×µéÀ» ¼ö¿ëÇÏ´Â ÄÄÇ»ÅÍ)´Â ¿ø°Ý ·Î±×¸¦ ³²±â±â À§Çؼ syslogd¿¡ -r ½ºÀ§Ä¡¸¦ Á༠½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù. ±×¸®°í /etc/servicesÈÀÏ¿¡ syslog 514/udp °¡ ÀûÇôÁ® ÀÖ¾î¾ß ÇÑ´Ù.
D. ¿ø°Ý ·Î±× ¼¹ö Â÷´ÜÇϱ⠸ðµç ·Î±×µéÀ» ¹Þ¾ÆµéÀÌ´Â ÄÄÇ»ÅÍ´Â ¿Ïº®ÇÏ°Ô ¿ÜºÎ¿Í Â÷´ÜµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
1. ¸ðµç ¼ºñ½º Á¾·á½ÃÅ°±â (Turn off(ALL SERVICES)) ÀÌ ÄÄÇ»ÅÍ´Â ¿ÀÁ÷ ·Î±× ¼¹öÀÏ »ÓÀ̹ǷΠ´Ù¸¥ ¼ºñ½ºµéÀ» ½ÇÇà½Ãų ÇÊ¿ä°¡ ¾ø´Ù. ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù. [root@myhost /etc]# cd /etc 1) ¸ðµç INETD ¼ºñ½º Á¾·á½ÃÅ°±â (TURN OFF ALL INETD SERVICES) ¿©·¯ºÐÀº ÀÌ ÈÀÏ¿¡¼ '#' ¸¦ Ãß°¡½ÃÅ´À¸·Î½á ÁÖ¼®À¸·Î 󸮸¦ ÇÒ °ÍÀÌ´Ù. ¾Æ·¡ÀÇ ¸ðµç ¼ºñ½ºµéÀ» ÁÖ¼®Ã³¸®Çϱ⠹ٶõ´Ù. a. echo 2) ¸ðµç RPC ¼ºñ½º Á¾·á½ÃÅ°±â (DISABLE ALL RPC SERVICES) [root@myhost /etc]# cd /etc/rc.d µð·ºÅ丮¸¦ »ìÆ캸¸é ´ë¹®ÀÚ "S"·Î ½ÃÀÛÇÏ´Â ÈÀϵéÀÌ º¸ÀÏ °ÍÀÌ´Ù. ÀÌ°ÍÀº ½Ã½ºÅÛÀÌ ºÎÆÃÇÒ ¶§ ½ÃÀ۵Ǵ ¼ºñ½ºµéÀÌ´Ù. ¿©·¯ºÐÀº mv ¸í·É¾î¸¦ ÀÌ¿ëÇؼ ¼Ò¹®ÀÚ s·Î ¹Ù²ãÁÖ¸é µÈ´Ù. ¿¹¸¦ µé¾î mv S11portmap s11portmap À̶ó°í ÇØÁÖ¸é ºÎÆ® ŸÀÓ¶§ portmapper ¸¦ ½ÃÀÛÇÏÁö ¾Ê°Ô µÈ´Ù. ¾Æ¸¶µµ nfslock, apmd, netfs, identd, autofs, portmap, atd, pcmcia ¿Í isdn, sendmail, gpm, httpd, vmware, xfs,linuxconf, local °°Àº ¼ºñ½ºµéÀ» ²¨ÁÖ¸é µÉ °ÍÀÌ´Ù. rc0.d ¿¡¼ºÎÅÍ rc6.d ±îÁö ´Ù Á¾·á½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù.
2. °èÁ¤ »èÁ¦(DISABLE ACCOUNTS) [root@myhost /etc]# vi /etc/passwd ¿©·¯ºÐÀÇ Æнº¿öµå ÈÀÏ¿¡¼ »ç¿ëÇÏÁö ¾Ê´Â
°èÁ¤À» »èÁ¦ÇØ¾ß ÇÑ´Ù. ÇÊÀÚ´Â /bin/noshell(http://www. cerias.purdue.edu/coast/archive/data/categ50.html)¶ó´Â
ÅøÀ» ´Ù¿î¹ÞÀ» °ÍÀ» Á¦¾ÈÇÑ´Ù.
3. SSHÀÇ ¼³Ä¡ (INSTALL SSH) telnetÀ» »ç¿ëÇϸé sniffing ´çÇÒ À§ÇèÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ¿ì¸®¿¡°Õ GNU ¿ÀǼҽº °øµ¿Ã¼ÀÇ »ê¹°ÀÎ OpenSSHÀÌ ÀÖ´Ù. ÀÚ ÀÌÁ¦ OpenSSH¸¦ ¼³Ä¡Çغ¸ÀÚ. 1) OPENSSH ´Ù¿î·Îµå ¹Þ±â (DOWNLOADING OPENSSH) ¿©·¯ºÐÀÇ À¥ºê¶ó¿ìÁ®·Î www.openssh.com¿¡ Á¢¼ÓÇÑ´Ù. À̹®¼°¡ ¾²¿©Áú ¶§ ÃֽŹöÁ¯Àº version 2.1.1·Î SSH1°ú SSH2 ÇÁ·ÎÅäÄÝÀ» µÑ ´Ù Áö¿øÇÑ´Ù. ¼Ò½º¸¦ ´Ù¿î¹Þ°í ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. [root@myhost ]# gzip -d openssh-2.1.1p2.tar.gz ¸ðµç »çÇ×À» ¶È°°ÀÌ ÇÒ ¼ö´Â ¾øÀ» °ÍÀÌ´Ù. °è¼Ó ÁøÇàÇϱâ Àü¿¡ INSTALL ÈÀÏÀ» ²À Àо±â ¹Ù¶õ´Ù. ÇÊÀÚ´Â ¿©·¯ºÐ °¢°¢ ½Ã½ºÅÛÀÌ ¿ä±¸ÇÏ´Â »çÇ×±îÁö À̾߱â ÇØ ÁÙ ¼ö ¾ø´Ù. ÀÌ°ÍÀº ´ÜÁö ÇÊÀÚÀÇ ÀνºÅçÀ» ¿©·¯ºÐÀÌ ÁöÄѺ¸´Â °Í ÀÏ »ÓÀÌ´Ù. ¿ì¼± Zlib¿Í OpenSSLÀ» ÀνºÅçÀ» ÇØ¾ß ÇÑ´Ù. Zlib: OpenSSL 0.9.5a or greater: RPM¹öÁ¯ÀÇ OpenSSLÀº GNUmake°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é ¼³Ä¡°¡ µÉ °ÍÀÌ´Ù. [root@myhost ]# ./configure && make && make install ¸¸¾à PAMÀ» »ç¿ëÇÑ´Ù¸é /etc/pam.d/sshd
°ú °°Àº PAM control fileµµ ÇÊ¿ä·Î ÇÒ °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î´Â
conrtib/sshd.pam.generic ¿¡ Æ÷ÇÔÇÏ°í ÀÖ´Ù. »ç¿ëÇϱâ Àü¿¡
¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¸Â°Ô ÆíÁýÇØ¾ß ÇÒ °ÍÀÌ´Ù. ¸¸¾à ·¹µåÇÞ ¸®´ª½º
6.2¸¦ »ç¿ëÇÑ´Ù¸é contrib/redhat/sshd.pam ÀÌ ´õ À¯¿ëÇÒ °ÍÀÌ´Ù.
[root@myhost ]# tar -xvf zlib.tar ¼³Ä¡µµÁß¿¡·¯°¡ ¹ß»ýÇÑ´Ù¸é ¹Ì¾ÈÇÏÁö¸¸ README ÈÀÏÀ» Àб⠹ٶõ´Ù. ÇÊÀÚ´Â ¿¡·¯°¡ ¹ß»ýÇϸé README ÈÀϵ鿡¼ error¿¡ °ü·ÃµÈ »çÇ×À» ã¾Æº¸°ï ÇÑ´Ù. OpenSSLÀ» ÀνºÅç Çϱâ À§Çؼ´Â ´ÙÀ½°ú °°Àº °ÍÀÌ ÇÊ¿äÇÏ´Ù. * Perl
5 [root@myhost ]# tar -xvf openssl-0.9.5a.tar ÀÌÁ¦ OpenSSH¸¦ ¼³Ä¡ÇÑ´Ù. [root@myhost ]# cd openssh-2.1.1p2 ¼º°øÀûÀ¸·Î OpenSSH¸¦ ÄÄÆÄÀÏ Çß´Ù¸é ´ÙÀ½°ú
°°Àº ¸Þ¼¼Áö¸¦ º¸°Ô µÈ´Ù. 2) OPENSSHÀÇ ¼³Á¤ (CONFIGURING OPENSSH) ±âº»ÀûÀ¸·Î ¼³Á¤µÇ¾îÁø °ÍÀ» »ç¿ëÇÏ´õ¶óµµ
³ªÁß¿¡ º¯°æÇÒ ¶§¸¦ ´ëºñÇؼ¶óµµ ssh configÈÀÏÀ» ºÁµÎÀÚ.
¼³Á¤ÈÀÏÀº /usr/local/etc/ssh_config, /usr/local/etc/sshd
_config °¡ ÀÖ´Ù. ¿©·¯ºÐÀº SSH ¹èÆ÷ÆÇÀÇ ¹®¼¸¦ ÂüÁ¶Çؼ ¼³Á¤À» Çϱ⠹ٶõ´Ù.
4. ¹æȺ® (THE FIREWALL) ÆÐŶ ÇÊÅ͸µÀº ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¾î¶² Ãë¾àÁ¡ÀÌ
¹ß°ßµÇÁö Àü±îÁö´Â ÇÊ¿äÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. syslog port(514/udp)¸¦
ÇÊÅ͸µ ÇÏ´Â ÀÌÀ¯´Â syslog server°¡ ¾²·¹±â °ªÀ» Àü¼ÛÇßÀ»
¶§ ¸ØÃâ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ±×·¯³ª ´õ Áß¿äÇÑ °ÍÀº udp°ªÀÌ
½±°Ô spoofµÉ ¼ö ÀÖ°Ô ¶§¹®ÀÌ´Ù. ¾Æ·¡´Â ¸®´ª½º ¸Ó½Å¿¡¼ ipchains¸¦ ÀÌ¿ëÇÑ ½© ½ºÅ©¸³Æ®ÀÌ´Ù. #!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/sbin LOCAL_INTERFACE="192.168.1.1/32" # deny everything #permit ssh # permit outgoing tcp # permit syslog ¸¸¾à IP filter ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ´Ù¸é ´ëü·Î
´ÙÀ½°ú °°À» °ÍÀÌ´Ù. # pass secureshell # or you can replace these two rules with
5. LOG REPORTING ¾Æ¹«¸® ÁÁÀº ¿ø°Ý ·Î±× ¼¹ö¸¦ ¸¸µé¾î³öµµ ¿©·¯ºÐÀÌ Á÷Á¢ ¸ð´ÏÅ͸µ ÇÒ ¼ö ¾øÀ¸¸é ¹«¿ëÁö¹°ÀÌ´Ù. ÇÊÀÚ´Â ´ÙÀ½°ú °°Àº À¯Æ¿¸®Æ¼¸¦ ÃßõÇÑ´Ù. * Logcheck
- www.psionic.com ¾Æ·¡´Â °£´ÜÇÑ ½© ½ºÅ©¸³Æ®(Mr. Bill Pennington)ÀÌ´Ù. ÀÌ°ÍÀº ¸Å ÀÏ/½Ã°£/ºÐ ·Î±×ÈÀϵéÀ» ÁöÁ¤µÈ À̸§°ú Àå¼Ò¿¡ º¸°üÇÑ´Ù. #!/bin/bash #Set the date variable #Rename the messages file #Compress the file #HUP the syslog daemon so it writes to
a new file #Compress the file #Rename mail file #HUP the syslog daemon so it writes to
a new file #Compress the file #Then scp them somewhere
6. ½Ã°£ (TIME) ¼¹ö´Â ¾ðÁ¦³ª Á¤È®ÇÑ ½Ã°£°ú ³¯Â¥¸¦ °¡Áö°í
ÀÖ¾î¾ß ÇÑ´Ù. xntpd¸¦ ¼³Ä¡ÇÑ ÈÄ¿¡ "ntpdate timeservername"À̶õ
¸í·ÉÀ» ÇÏ·ç¿¡ Àû¾îµµ ÇѹøÁ¤µµ ½ÇÇà½ÃÄÑ Áà¾ß ÇÑ´Ù.
7. ´Ù¸¥ SYSLOG ÀåÄ¡ (OTHER SYSLOG DEVICES) ¿©±â¿¡ syslog°¡ ±â·ÏÇÏ´Â °ÍÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Â CISCO¿Í °°Àº ´Ù¸¥ ÀåÄ¡µéÀÌ ÀÖ´Ù. ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©¿Í ¼¹ö¿¡¼ Á¤È®ÇÑ °ªÀ» ¾ò±â À§Çؼ´Â syslog¿¡¼ ±â·ÏÇÏ´Â °ÍÀ» À§ÇØ ¿©·¯ºÐÀÇ ¸ðµç ÀåÄ¡¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. Cisco Routers logging
<server ip address or name> Pix Firewall Switches set logging
server enable Windows NT
E. RESOURCES * Swatch - http://www.stanford.edu/~atkins/swatch/
F. ¿ªÀÚ ÁÖ °³ÀÎÀûÀ¸·Î ÆÇ´ÜÇؼ ²À ÇÊ¿äÇÏÁö ¾Ê´Ù°í ÇÏ´Â ³»¿ëÀº »èÁ¦ ¶Ç´Â º¯°æÇÏ¿´½À´Ï´Ù. ÇÊÀÚ(Eric Hines)°¡ ¾ð±ÞÇÑ ¹ø¿ªµÇÁö ¾ÊÀº ³»¿ëÀº ¿ø¹®À» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. :) |