Çã°¡µÇÁö ¾ÊÀº Á¢¼ÓÀ» ¸·¾ÆÁÖ´Â tcp wrapper¸¦ ¼Ö¶ó¸®½º 2.5.1 ½Ã½ºÅÛ¿¡ ¼³Ä¡, ¼³Á¤, ¿î¿ëÇϱâ

 

½ÇÁ¦¿¡ Àû¿ëÇϱâ:
Identify and enable system and network logging mechanisms.

Àû¿ë °¡´ÉÇÑ °÷:
Solaris 2.5.1; À¯´Ð½º ¿î¿µÃ¼Á¦¿Í ±× º¯Á¾

 

À¯´Ð½º ¼­¹ö´Â TCP/IP ÇÁ·ÎÅäÄÝÀ» ÅëÇØ ¼­ºñ½º¸¦ Á¦°øÇÒ ¶§ ¸ðµç »ç¶÷¿¡°Ô °³¹æÇϰųª Æó¼âÇϰųª µÑ Áß ÅÃÀÏÇØ¾ß ÇÑ´Ù. ÀÌ·± °³³äÀûÀÎ ¾àÁ¡ ¿Ü¿¡µµ Ãâó(source)³ª ½Ã°£°ú °°Àº Á¢¼Ó ±â·ÏÀº ÃÖ¼ÒÇÑ À̰ųª ¾Æ¿¹ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù. Á¢¼Ó ½Ãµµ´Â »çÀÌÆ®°¡ °ø°Ý¹Þ°í ÀÖÀ½À» Á¶±â¿¡ °æº¸ÇØÁÖ´Â ½ÅÈ£°¡ µÉ ¼ö ÀÖÀ¸¹Ç·Î °¡´ÉÇÏ¸é ¸¹Àº Á¤º¸¸¦ ¾ò°í ½ÍÀ» °ÍÀÌ´Ù.

tcpd(tcp wrapper¸¦ ±¸ÇöÇÑ ÇÁ·Î±×·¥)´Â ½ÇÁ¦·Î ÀÖ¾ú´ø °ø°ÝÀÇ »ê¹°·Î ¸¸µé¾îÁø °ÍÀÌ´Ù. tcpd´Â (1) Á¢¼Ó ¿ä±¸¸¦ ÇÑ Ãâó¿Í ¸ñÀûÁö¿¡ ±â¹ÝÇÑ ¸î °¡Áö ¼öÁØÀÇ Á¢±Ù Á¦¾î¿Í (2) ¼º°øÇϰųª ½ÇÆÐÇÑ Á¢¼Ó ±â·ÏÀ» Á¦°øÇÑ´Ù. tcp wrapper´Â ¿ä±¸ÇÑ ½ÇÁ¦ ¼­¹ö ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇϱâ Àü¿¡ ÇÊÅÍ ÇÁ·Î±×·¥À» ½ÃÀÛÇÑ´Ù. ½ÇÁ¦ ¼­¹ö ÇÁ·Î¼¼½º´Â Á¢¼Ó ¿ä±¸°¡ Á¢±Ù Á¦¾î ¸ñ·Ï¿¡ ÀÇÇØ Çã°¡µÈ ´ÙÀ½¿¡ ½ÇÇàµÈ´Ù. Á¢¼Ó°ú Á¢¼Ó ½Ãµµ¿¡ °üÇÑ ¸ðµç ¸Þ½ÃÁö´Â syslogd¸¦ ÅëÇØ ±â·ÏµÈ´Ù.

ÀÌ ¹®¼­´Â Sun ¼Ö¶ó¸®½º ¿î¿µÃ¼Á¦ ¹öÀü 2.5.1¿¡ tcp wrapper tcpd ¹öÀü 7.6À» ³»·Á ¹Þ°í ¼³Ä¡ÇÏ°í ¼³Á¤ÇÏ´Â µ¥ ÇÊ¿äÇÑ Á¤º¸¸¦ ¼³¸íÇÑ´Ù.


Áغñ ÀÛ¾÷

tcp wrapperÀÇ ÃֽŠ¹öÀüÀº ftp://ftp.porcupine.org/pub/security/¿¡¼­ anonymous ftp·Î ¾òÀ» ¼ö ÀÖ´Ù.

¼³Ä¡ ¿ä±¸ Á¶°ÇÀ» ¸¸Á·ÇÏ´ÂÁö È®ÀÎ

 

tcp wrapperÀÇ ½ÇÇà ÆÄÀÏÀ» ¸¸µé·Á¸é, ´ÙÀ½°ú °°Àº °ÍÀÌ ÇÊ¿äÇÏ´Ù.

  • ÃÖ±Ù ¹öÀüÀ» ¾ò±â À§ÇÑ ÀÎÅÍ³Ý Á¢¼Ó
  • ¼ÒÇÁÆ®¿þ¾îÀÇ ÁøÀ§¸¦ È®ÀÎÇϱâ À§ÇÑ PGP(www.pgp.com ÂüÁ¶)
  • ³»·Á ¹Þ±âÇÑ ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®±â À§ÇÑ GZIP
  • ½ÇÇà ÆÄÀÏÀ» ¸¸µé±â À§ÇÑ C ÄÄÆÄÀÏ·¯

tcp wrapper ¹èÆ÷ÆÇÀ» ³»·Á ¹Þ±â

 

ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz¿¡¼­ anonymous ftp·Î ÆÄÀÏÀ» ¹Þ¾Æ¿Í¶ó. ¹Ù·Î ´ÙÀ½ °úÁ¤À» ¼öÇàÇÏ·Á¸é ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz.sig ÆÄÀϵµ ÇÊ¿äÇÏ´Ù.

tcp wrapper ¹èÆ÷ÆÇÀÌ ÁøÂ¥ÀÎÁö È®ÀÎÇϱâ

 

ÀÌ °úÁ¤À» ¼öÇàÇÏ·Á¸é, ´ç½Å ÀÚ½ÅÀÇ PGP °ø°³ Å° ¸ñ·Ï¿¡ "wietse venema "ÀÇ PGP °ø°³Å°°¡ ÇÊ¿äÇÏ´Ù. W. Venema´Â tcp wrapper ¼ÒÇÁÆ®¿þ¾î ÇÁ·Î±×·¥À» ¸¸µé »ç¶÷À̸ç, ±×ÀÇ µðÁöÅÐ ¼­¸í°ú ÀÏÄ¡ÇÑ´Ù¸é ³»·Á ¹Þ±âÇÑ ¼ÒÇÁÆ®¿þ¾î°¡ ¾Æ¹« ÀÌ»ó ¾øÀ½À» º¸ÁõÇØ ÁØ´Ù. µðÁöÅÐ ¼­¸íÀ» È®ÀÎÇÏ·Á¸é, ´ÙÀ½ ¸í·ÉÀ» ³»·Á ¹Þ±âÇÑ ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡¼­ ½ÇÇàÇضó.

$ pgp tcp_wrappers_7.6.tar.gz.sig tcp_wrappers_7.6.tar.gz

¼­¸íÀÌ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é ¼ÒÇÁÆ®¿þ¾î°¡ Á¶À۵ǾúÀ» °¡´É¼ºÀÌ ÀÖ´Ù. ±×·¸´Ù¸é ÀÌ ¹öÀüÀ» »ç¿ëÇؼ­´Â ¾È µÈ´Ù.

tcp wrapper ¹èÆ÷ÆÇ Ç®±â

 

¾ÐÃàµÈ ÆÄÀÏÀ» GNU gunzip À¯Æ¿¸®Æ¼·Î ¾ÐÃàÀ» Ǭ ÈÄ, ½Ã½ºÅÛ tar ¸í·É¾î·Î ´Ù½Ã Ç®¾î¶ó.

$ gunzip tcp_wrappers_7.6.tar.gz
$ tar xvf tcp_wrappers_7.6.tar

ÀÌ ¸í·ÉÀ» ½ÇÇàÇÏ°í ³ª¸é tcp_wrappers_7.6 ¶ó´Â À̸§ÀÇ ºÎ µð·ºÅ丮°¡ »ý±ä´Ù. ÀÌ ÈÄÀÇ ¸ðµç ÀÛ¾÷Àº ÀÌ ºÎ µð·ºÅ丮¿¡¼­ ÀÌ·ç¾îÁø´Ù.


½ÇÇà ÆÄÀÏ ¸¸µé±â¿Í ¼³Ä¡

Makefile Àº ¼Ö¶ó¸®½º 2.X¸¦ ºñ·ÏÇÑ ¸¹Àº ¿î¿µÃ¼Á¦¿¡¼­ ¾Æ¹« ¹®Á¦¾øÀÌ µ¿ÀÛÇÑ´Ù.

tcp wrapper ÀÌÁø ÆÄÀÏ ¸¸µé±â

 

make ¸í·É¾î·Î tcpd¿Í libwrap.aÀÇ ÀÌÁø ÆÄÀÏÀ» ¸¸µé·Á¸é ¸î °¡Áö ¿É¼ÇÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.

$ make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS FACILITY=LOG_DAEMON sunos5

¿É¼Ç

¼³¸í

REAL_DAEMON_DIR 

telnetd¿Í °°Àº ±âÁ¸ ³×Æ®¿öÅ© µð¸ó ÇÁ·Î±×·¥ÀÇ °æ·Î

STYLE 

Ãß°¡ÀûÀÎ ¼³Á¤ ¿É¼ÇÀ» È°¼ºÈ­

FACILITY 

syslog ¸Þ½ÃÁö¿¡ »ç¿ë

sunos5 

¿î¿µÃ¼Á¦¸¦ ÁöÁ¤

tcpd´Â ±âº»ÀûÀ¸·Î ¸ðµç ¸Þ½ÃÁö¸¦ LOG_MAIL facility¸¦ »ç¿ëÇÏ¿© ±â·ÏÇÑ´Ù. ¿ì¸®´Â ³×Æ®¿öÅ© ¼­¹ö¿¡ ÀÇÇØ ¸¸µé¾îÁø ¸Þ½ÃÁöµéÀº LOG_MAIL¿¡ ÀÇÇØ »ý¼ºµÈ ÆÄÀÏ°ú´Â ´Ù¸¥ °÷¿¡ ÀúÀåµÇ±æ ±Ç°íÇÑ´Ù.

ÁÖÀÇ: ½Ã½ºÅÛ¿¡ Sun C ÄÄÆÄÀÏ·¯(cc) ´ë½Å GNU C ÄÄÆÄÀÏ·¯(gcc)°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, make ¸í·ÉÀ» ´ÙÀ½Ã³·³ ½ÇÇàÇØ¾ß ÇÑ´Ù.

$ make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS FACILITY=LOG_DAEMON CC=gcc sunos5

NIS(Network Information Service, Àü¿¡´Â YP(Yellow Pages)¶ó ºÒ¸²)¸¦ »ç¿ë °¡´ÉÇÏ´Ù¸é tcpd°¡ »ç¿ëÇÏ´Â Á¢±Ù ±ÔÄ¢¿¡ NetgroupÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. NetgroupÀ» »ç¿ëÇÏ·Á¸é make ¸í·É¿¡ "NETGROUP= -DNETGROUP" ¿É¼ÇÀ» Æ÷ÇÔ½ÃÄѶó.

tcp wrapper¿Í ºÎ¼Ó ÆÄÀÏ ¼³Ä¡Çϱâ

 

make¸¦ ÀÌ»ó ¾øÀÌ ½ÇÇàÇÑ ÈÄ, ÇÁ·Î±×·¥°ú man ÆäÀÌÁö¸¦ ¹Ì¸® Á¤ÇÑ ½Ã½ºÅÛ µð·ºÅ丮·Î º¹»çÇضó:

$ cp tcpd /opt/sbin
$ cp safe_finger /opt/sbin
$ cp tcpdchk /opt/sbin
$ cp tcpdmatch /opt/sbin
$ cp try-from /opt/sbin
$ cp hosts_access.3 /opt/man/man3
$ cp hosts_access.5 /opt/man/man5
$ cp hosts_options.5 /opt/man/man5
$ cp tcpd.8 /opt/man/man8
$ cp tcpdchk.8 /opt/man/man8
$ cp tcpdmatch.8 /opt/man/man8

tcp wrapper ¶óÀ̺귯¸® ¼³Ä¡Çϱâ

 

logdaemonó·³ tcp wrapperÀÇ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇØ¾ß ÇÑ´Ù:

$ cp libwrap.a /opt/lib
$ cp tcpd.h /opt/include

tcpd.h°¡ ¶óÀ̺귯¸®°¡ ¼³Ä¡µÈ µð·ºÅ丮¿Í ´Ù¸¥ °÷¿¡ À§Ä¡ÇÑ´Ù¸é, ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ÅøµéÀ» ¼³Ä¡ÇÒ ¶§ ¾à°£ÀÇ ¼öÁ¤À» ÇØÁÖ¾î¾ß ÇÑ´Ù. Çì´õ ÆÄÀÏÀ» Åë»óÀûÀÎ ½Ã½ºÅÛ µð·ºÅ丮¿¡ ³õ¾ÆµÎ´Â °ÍÀÌ ¾ÆÁÖ ÁÁÀº ÇØ°áÃ¥ÀÌ´Ù. ±×·¯³ª ÀÌ·± ¹æ¹ýÀ» ½È¾îÇÑ´Ù¸é Çì´õ ÆÄÀÏÀ» /opt/lib ¿¡ º¹»çÇØ µÎ¾î¶ó.


tcpd ¼³Á¤Çϱâ

tcpd ÇÁ·Î±×·¥À» ¼³Ä¡ÇÑ ÈÄ ¼³Á¤ ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. tcpd°¡ Á¢±Ù Á¦¾î¿Í ±â·Ï µÑ ´Ù¿¡ »ç¿ëµÈ´Ù¸é µÎ °¡Áö ¼³Á¤ ÆÄÀÏÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ¼³Á¤ ÆÄÀÏÀÇ ±¸Á¶¿Í ¸î °¡Áö ¿É¼Ç, Å°¿öµå¸¦ ¼³¸íÇϱâ À§ÇØ ¿¹Á¦¸¦ Æ÷ÇÔÇß´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº man ÆäÀÌÁö¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù: hosts_options (3), host_options (5), and hosts_access (5). 

tcp wrapper·Î ¸ðµç ³×Æ®¿öÅ© µ¥¸óÀ» ´Ù º¸È£ÇÒ ¼ö´Â ¾ø´Ù.

 

³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ°ú ¼­ºñ½º°¡ ¾ÆÁÖ ´Ù¾çÇϱ⠶§¹®¿¡ tcpd·Î ¸ðµç¼­¹ö¸¦ ´Ù º¸È£ÇÒ ¼ö´Â ¾ø´Ù:

  • tcpd´Â Á¢¼Ó ±â·ÏÀ» Çϱâ À§ÇØ »õ·Î Á¢¼ÓÇÒ ¶§¸¶´Ù ½ÃÀ۵ǵµ·Ï ¼³°èµÇ¾ú´Ù. ºÎÇÏ°¡ ¸¹ÀÌ °É¸®´Â sendmail°ú °°Àº ¼­¹öµéÀº º¸Åë ½ÃÀÛ ºÎÇϸ¦ ÁÙÀ̱â À§ÇØ Çѹø¸¸ ½ÃÀ۵ȴÙ; ±×·¯¹Ç·Î ±×·± ¼­¹öµéÀº ù¹ø° Á¢¼Ó¸¸ ±â·ÏÇÏ´Â tcpd·Î´Â °ü¸®ÇϱⰡ Èûµé´Ù.
  • tcpd´Â TCP (transmission control protocol)¿ÍUDP (user datagram protocol)¸¦ »ç¿ëÇÏ´Â ¼­¹ö¸¸ º¸È£ÇÒ ¼ö ÀÖ´Ù.
  • ¾î¶² ¼­¹öµéÀº TCP¿Í RPC (remote procedure call) ÇÁ·ÎÅäÄÝÀ» µÑ ´Ù »ç¿ëÇÑ´Ù. ÀÌ·± ¼­¹öµéÀº tcp wrapper·Î º¸È£ÇÒ ¼ö ¾ø´Ù. ÀÌ·± ¼­¹öµéÀº inetd.conf (4)ÀÇ ¼¼ ¹ø° Ç×ÀÎ ÇÁ·ÎÅäÄÝ¿¡ rpc/tcp°¡ ±â·ÏµÇ¾î ÀÖ´Ù.
  • Çѹø¿¡ ÇϳªÀÇ Á¢¼Ó¸¸À» ó¸®ÇÏ´Â ¼­¹ö¸¸ º¸È£ÇÒ ¼ö ÀÖ´Ù. (ÁÖ¾îÁø ½Ã°£¿¡ ¼­¹ö ÇÁ·Î¼¼½ºÀÇ º¹»çº»ÀÌ ¿©·¯ °³ ÀÖÀ» ¼ö´Â ÀÖÁö¸¸, °¢ º¹»çº»Àº Á¤È®È÷ ÇϳªÀÇ Á¢¼Ó¸¸À» ó¸®ÇÏ°í ¿Ï·áµÇÀÚ¸¶ÀÚ Á¾·áµÊÀ» ÁÖÀÇÇضó. ÀÌ°ÍÀº ÇϳªÀÇ º¹»çº»ÀÌ µµÂøÇÏ´Â ¿©·¯ °³ÀÇ Á¢¼ÓÀ» ó¸®ÇÏ´Â °Í°ú´Â ´Ù¸£´Ù.) ±× ¿ÜÀÇ ¼­¹öµéÀº Ãʱâ Á¢¼ÓÀ» ó¸®ÇÑ ÈÄ¿¡µµ »ì¾Æ³²¾Æ¼­ ´Ù¸¥ Á¢¼Ó ¿ä±¸¸¦ ±â´Ù¸°´Ù. ±×·± ¼­¹öµéÀº inetd.confÀÇ ³× ¹ø° Ç×ÀÌ "wait"·Î µÇ¾î À־ ±¸º°ÇÒ ¼ö ÀÖ´Ù.

¼³Á¤ ÆÄÀÏÀÇ ¿ëµµ

 

¸ðµç ±ÔÄ¢Àº ¼³Á¤ ÆÄÀÏ¿¡ ÀúÀåµÈ´Ù. ±ÔÄ¢Àº ³õ¿©Áø ¼ø¼­´ë·Î Àû¿ëµÈ´Ù. ¾î¶² ±ÔÄ¢ÀÌ ÇØ´ç Á¢¼Ó¿¡ ÀÏÄ¡ÇÑ´Ù¸é ´Ù¸¥ ±ÔÄ¢Àº °í·ÁÇÏÁö ¾Ê´Â´Ù. ±âº»ÀûÀ¸·Î µÎ °³ÀÇ ÆÄÀÏÀÌ Á¤ÀǵȴÙ. Á¢¼ÓÀÌ µÎ °³ÀÇ ÆÄÀÏ Áß ¾î¶² °Í¿¡µµ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é Á¢±ÙÀÌ Çã°¡µÈ´Ù:

  • hosts.allow
    ¸» ±×´ë·Î, Á¢±ÙÀ» Çã°¡ÇÏ´Â ±ÔÄ¢µé. 
  • hosts.deny
    ¸» ±×´ë·Î, Á¢±ÙÀ» °ÅºÎÇÏ´Â ±ÔÄ¢µé. ¸í½ÃÀûÀ¸·Î Çã°¡ÇÏÁö ¾Ê´Â Á¢¼Ó ¿Ü¿¡´Â ¸ðµÎ °ÅºÎÇÏ´Â "¸¸¹°»ó" ±ÔÄ¢À» µÑ °ÍÀ» ±ÇÇÑ´Ù.

µÎ °³ÀÇ ÆÄÀÏÀ» °¡Áö´Â ´ë½Å¿¡ ¸ðµç ±ÔÄ¢À» ÇϳªÀÇ ÆÄÀÏ ¾È¿¡ µÑ ¼öµµ ÀÖ´Ù. ÀÌ ¶§´Â °¢ ±ÔÄ¢ÀÌ ¾î¶»°Ô Àû¿ëµÉÁö ÁöÁ¤Çϱâ À§ÇØ ¿É¼ÇÀ¸·Î "ALLOW"¿Í "DENY" Å°¿öµå¸¦ »ç¿ëÇÑ´Ù.

¼³Á¤ ÆÄÀÏÀÇ ±¸Á¶

 

ÇÑ ÁÙ¿¡ ÇϳªÀÇ ±ÔÄ¢ÀÌ ¿À¸ç, ÃÖ¼Ò ¼¼ °³ÀÇ Ç׸ñÀ¸·Î ÀÌ·ç¾î Áø´Ù. ÀÌ ¶§ °¢ Ç׸ñÀº ":" ¹®ÀÚ·Î ±¸ºÐµÈ´Ù:

  • ù¹ø° Ç׸ñÀº inetd.conf¿¡ µî·ÏµÈ ¼­ºñ½º¸¦ ÁöÁ¤ÇÑ´Ù. ´Ü ¼­ºñ½º¸¦ ¼öÇàÇÏ´Â ÇÁ·Î±×·¥À» Àû¾îÁØ´Ù. ¿¹¸¦ µé¸é, "telnet" ¼­ºñ½º´Â "in.telnetd" ÇÁ·Î±×·¥¿¡ ÀÇÇØ Á¦°øµÈ´Ù. ±×·¯¹Ç·Î "telnet" ¼­ºñ½ºÀÇ ±ÔÄ¢Àº "in.telnetd"·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù. "ALL" Å°¿öµå´Â ¸ðµç ¼­ºñ½º¸¦ ÀǹÌÇÑ´Ù.
  • µÎ¹ø° Ç׸ñÀº ±ÔÄ¢ÀÌ Àû¿ëµÉ Ãâó ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù. È£½ºÆ® ¸í°ú µµ¸ÞÀθíÀ» »ç¿ëÇÒ ¼öµµ ÀÖÁö¸¸ IP(Internet protocol) ÁÖ¼Ò³ª IP ÁÖ¼Ò ¹üÀ§¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÀûÀýÇÏ´Ù. È£½ºÆ® ¸í°ú µµ¸ÞÀÎ ¸íÀº Ãß°¡·Î DNS(domain name system)Ž»öÀ» ÇØ¾ß ÇÏ°í, DNS spoofing °ø°Ý(¿ÜºÎ È£½ºÆ®ÀÇ IP ÁÖ¼Ò°¡ Á¶Á÷ ¾ÈÀÇ È£½ºÆ® ¸íÀ» °¡Áø °Íó·³ Á¶ÀÛ)ÀÇ À§Ç輺µµ ÀÖ´Ù. µÎ °¡Áö Å°¿öµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù: (1) "LOCAL"Àº °°Àº ¼­ºê³ÝÀ̳ª ¼­ºê µµ¸ÞÀο¡ ÀÖ´Â ¸ðµç È£½ºÆ®¸¦ ¸»ÇÏ°í (2) "ALL"Àº ÁÖ¼Ò¿¡ »ó°ü¾øÀÌ ¸ðµç È£½ºÆ®¸¦ ÀǹÌÇÑ´Ù.
  • ¼¼¹ø° Ç׸ñÀº ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù. ¿©·¯ °³ÀÇ ¿É¼ÇÀÌ ¿Ã ¼ö ÀÖÀ¸¸ç, ":" ¹®ÀÚ·Î ±¸ºÐÇÑ´Ù.

¼³Á¤ ÆÄÀÏ¿¡ »ç¿ë °¡´ÉÇÑ ¿É¼Ç

 

¿¹Á¦ÀÇ ¿É¼ÇµéÀº °¡Àå ¸¹ÀÌ ¾²ÀÌ´Â °ÍµéÀÌ´Ù. ¿É¼ÇµéÀÇ Àǹ̴ ´ÙÀ½°ú °°À¸¸ç, ¾Æ¹« ±ÔÄ¢¿¡³ª ¼ø¼­¿Í Á¶ÇÕ¿¡ »ó°ü ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
 

¿É¼Ç

¼³¸í

RFC931

Á¢¼ÓÇÒ ¶§¸¶´Ù ident Ž»öÀÌ ¼öÇàµÈ´Ù. ident¿¡ »ç¿ëµÇ´Â ÇÁ·ÎÅäÄÝÀº ¿ø·¡ RFC 931(ÇöÀç´Â RFC 1413)¿¡ ¹®¼­È­µÇ¾î ÀÖ´Ù. ident ¼­ºñ½º¸¦ Á¦°øÇÏ´Â ½Ã½ºÅÛÀ¸·ÎºÎÅÍ Á¢¼Ó ¿ä±¸°¡ ¿Â´Ù¸é ÇØ´ç ½Ã½ºÅÛ¿¡ »ç¿ëÀÚ ¸íÀ» ¿ä±¸ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇÏ´Â °ÍÀÌ »ç¿ëÀÚ È®ÀÎÀ» ¿Ïº®ÇÏ°Ô º¸ÀåÇØÁÖÁö´Â ¸øÇÏÁö¸¸ ħÀÔÀ» ºÐ¼®ÇÒ ¶§ À¯¿ëÇÑ Á¤º¸¸¦ Á¦°øÇÒ ¼ö´Â ÀÖ´Ù. ident ¿ä±¸´Â Á¢¼ÓÀ» Áö¿¬½ÃÄѼ­ »ç¿ëÀÚ°¡ ¾Ë¾ÆÂ÷¸± ¼öµµ ÀÖ´Ù.

BANNERS <directory>

ÀÌ ¿É¼ÇÀº telnet, ftp, rlogin°ú °°Àº ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ Á¢±Ù Á¦ÇÑ, ±â·Ï µîÀÌ ÀÌ·ç¾îÁö°í ÀÖÀ½À» »ç¿ëÀÚ¿¡°Ô ºÎ°¡ÀûÀÎ ÅؽºÆ®¸¦ º¸¿©ÁÙ ¼ö ÀÖ´Ù. ¹è³Ê°¡ Ãâ·ÂµÉ ¼­ºñ½ºÀÇ À̸§°ú °°Àº ÆÄÀÏÀÌ ÁöÁ¤µÈ µð·ºÅ丮 ¾È¿¡ Á¸ÀçÇØ¾ß ÇÑ´Ù. (´õ ÀÚ¼¼ÇÑ °ÍÀº °¢°¢ÀÇ ¼­ºñ½º¿¡ ´ëÇØ ¹è³Ê¸¦ ¸¸µé¾îÁÖ´Â µµ±¸¿¡ ÷ºÎµÈ ÇÁ·Î±×·¥ ¹®¼­¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.)

SPAWN <command>

ƯÁ¤ÇÑ ¸í·ÉÀ» ¼öÇàÇÏ´Â ÇÁ·Î¼¼½º¸¦ ¸¸µç´Ù. ¸í·É¾î ¾È¿¡ Á¢¼ÓÀ» ¿ä±¸ÇÑ °÷ÀÇ IP ÁÖ¼Ò³ª È£½ºÆ® ¸íÀ» %h º¯¼ö¸¦ »ç¿ëÇÏ¿© ³ÖÀ» ¼öµµ ÀÖ´Ù. %d´Â ¼­ºñ½º¸¦ ³ªÅ¸³»´Â º¯¼öÀÌ°í, %u´Â ident Ž»öÀÇ °á°ú¸¦ ³ªÅ¸³»¸ç, "UNKNOWN"Àº °á°ú¸¦ ¾òÀ» ¼ö ¾øÀ» ¶§ ¾ò´Â °ªÀÌ´Ù. (%u º¯¼ö°¡ »ç¿ëµÇ¸é RFC931 ¿É¼ÇÀÌ ¾ø´õ¶óµµ ident Ž»öÀÌ ÀÌ·ç¾îÁø´Ù.)

 


¿¹Á¦

´ÙÀ½ ¿¹´Â ¼¼ °³ÀÇ ¼­ºê³×Æ®¿öÅ©°¡ ÀÖÀ½À» °¡Á¤ÇÑ´Ù. ºÎ¼­ A´Â ³×Æ®¿öÅ© ÁÖ¼Ò°¡ 10.0.1.0ÀÌ°í, netmask´Â 255.255.255.0ÀÌ´Ù. Àü»ê¼Ò´Â netmask´Â °°Áö¸¸, ³×Æ®¿öÅ© ÁÖ¼Ò´Â 10.0.250.0ÀÌ´Ù. ºÎ¼­ BÀÇ ¼­¹ö´Â ¿ø°Ý Á¢±ÙÀ» Çã¿ëÇÏ°í IP ÁÖ¼Ò´Â 10.0.2.15ÀÌ´Ù.

´ÙÀ½ ¼³Á¤Àº ºÎ¼­ B¿¡¼­ »ç¿ëµÈ´Ù:

/etc/hosts.allow

 

°°Àº ¼­ºê³Ý°ú ºÎ¼­ A, Àü»ê¼Ò¿¡¼­´Â ¸ðµç ¼­ºñ½º¿¡ ´ëÇÑ Á¢±ÙÀÌ Çã¿ëµÈ´Ù. ¿ø°Ý Á¢±Ù ¼­¹ö¿¡¼­ Á¢¼ÓÇÑ »ç¿ëÀÚ´Â telnet°ú ftp¸¸ Çã¿ëµÈ´Ù.

ALL:    LOCAL 10.0.1.0/255.255.255.0 10.0.250.0/255.255.255.0: RFC931 : BANNERS /opt/sbin/sec/banners
in.telnetd: 10.0.2.15:                         RFC931 : BANNERS /opt/sbin/sec/banners
in.ftpd:    10.0.2.15:                         RFC931 : BANNERS /opt/sbin/sec/banners

/etc/hosts.deny

 

´Ù¸¥ ¸ðµç Á¢¼ÓÀº °ÅºÎµÈ´Ù.

ALL: ALL: RFC931 : BANNERS /opt/sbin/sec/reject :
         SPAWN (/usr/sbin/sec/safe_finger -l @%h | /usr/ucb/mail -s %d-%h root) &

´õ ÀÚ¼¼ÇÑ ¼³¸í

 

¿¹·Î µç ¼³Á¤¿¡¼­, RFC931°ú BANNERS°¡ ¸ðµç Á¢¼Ó¿¡ ´ëÇؼ­ »ç¿ëµÈ´Ù. ÀÌ È¸»ç´Â ident ¼­¹ö¸¦ Áö¿øÇϹǷΠ»ç¿ëÀÚ´Â Áö¿¬µÇ´Â °ÍÀ» °ÅÀÇ ´À³¥ ¼ö ¾ø´Ù. banners´Â Ãß°¡ÀûÀÎ º¸¾ÈÀ» À§ÇØ È®ÀåµÈ ±â·ÏÀ» ÇÒ ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù. Á¢¼ÓÀÌ °ÅºÎµÇ¸é, Ưº°ÇÑ "reject" ¹è³Ê¸¦ Ãâ·ÂÇؼ­ ÃßÈÄ¿¡ Á¢¼ÓÇÏÁö ¾Êµµ·Ï ÇØÁØ´Ù.

SPAWN ¸í·É¾î´Â Á¢¼ÓÀÌ °ÅºÎµÇ¾úÀ» ¶§ »ç¿ëµÈ´Ù. Áï, Á¢¼ÓÀ» ¿ä±¸ÇÑ °÷¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾ò¾î¿Í¼­ ÇÊ¿äÇÏ´Ù¸é ´õ¿í ÀÚ¼¼ÇÑ ºÐ¼®À» ÇÒ ¼ö ÀÖµµ·Ï °ü¸®ÀÚ¿¡°Ô °æº¸¸¦ º¸³»ÁØ´Ù. SPAWNÀº tcp wrapperÀÇ ÀϺÎÀÎ safe_finger ÇÁ·Î±×·¥À» È£Ãâ Çؼ­, finger Ž»öÀ» ÇÑ ÈÄ ¸ÞÀÏ ÇÁ·Î±×·¥À¸·Î °á°ú¸¦ º¸³½´Ù. ¸ÞÀÏ ÇÁ·Î±×·¥Àº ¿ä±¸ÇÑ ¼­ºñ½º¿Í Á¢¼ÓÀ» ¿ä±¸ÇÑ È£½ºÆ® ¶Ç´Â IP ÁÖ¼Ò¸¦ ³ª¿­ÇÑ´Ù.


inetd ¼³Á¤Çϱâ

tcp wrapper´Â inetd.conf¸¦ ¼öÁ¤ÇÏ¿© ¸î °¡Áö ¼­ºñ½º¸¦ ´ë½ÅÇϵµ·Ï ¼³Á¤µÇ¾î ÀÖ´Ù. ÀÌ·± ¼­ºñ½ºµé¿¡ ´ëÇÑ Á¢¼ÓÀº ¸ðµÎ ±â·ÏµÇ¸ç, Á¢±Ù Á¦¾î°¡ Àû¿ëµÈ´Ù. tcpd´Â hosts.allow³ª hosts.deny ÆÄÀÏ ¾ÈÀÇ ±ÔÄ¢¿¡ ÁöÁ¤µÈ ¼­ºñ½º¸¸À» º¸È£ÇÑ´Ù. ±× ¿Ü ´Ù¸¥ ¼­ºñ½ºµéÀº "ALL"À» »ç¿ëÇÏ¿© º¸È£µÈ´Ù. inetd.conf ¾È¿¡¼­ tcpd °¡ È£ÃâµÇ¸é ±ÔÄ¢ÀÇ À¯¹«¿¡ »ó°ü¾øÀÌ ¸ðµç Á¢¼ÓÀÌ ±â·ÏµÈ´Ù.

inetd ¾È¿¡¼­ tcpd È£ÃâÇϱâ

 

´ÙÀ½Àº inetd.conf ¼³Á¤ÀÇ ¿¹·ÎºÎÅÍ µû¿Â °ÍÀÌ´Ù:

ftp     stream  tcp     nowait  root    /opt/sbin/tcpd  in.ftpd
telnet  stream  tcp     nowait  root    /opt/sbin/tcpd  in.telnetd
shell   stream  tcp     nowait  root    /opt/sbin/tcpd  in.rshd
login   stream  tcp     nowait  root    /opt/sbin/tcpd  in.rlogind
finger  stream  tcp     nowait  nobody  /opt/sbin/tcpd  in.fingerd

ÀÌ ¹®ÀåµéÀº À§ÀÇ ¿¹¿¡¼­ °è¼ÓµÈ °ÍÀÌ´Ù. ftp¿Í telnet ¿Ü¿¡ ¼¼ °³ÀÇ ´Ù¸¥ ¼­ºñ½ºµé(rsh, rlogin, finger)°¡ tcpd·Î º¸È£µÇ°í ÀÖ´Ù. ¿¹¿¡¼­´Â ¸í½ÃÀûÀ¸·Î ÁöÁ¤µÇÁö ¾ÊÀº ÀÌ·± ¼­ºñ½ºµéÀº µÎ °³ÀÇ "ALL" ±ÔÄ¢¿¡ ÀÇÇØ Àû¿ëÀ» ¹Þ´Â´Ù. ÀÌ ±ÔÄ¢Àº °°Àº ¼­ºê³Ý/¼­ºêµµ¸ÞÀÎ, ºÎ¼­ A¿Í B, Àü»ê¼Ò¿¡ À§Ä¡ÇÑ ½Ã½ºÅÛÀÇ »ç¿ëÀÚ¿¡°Ô´Â Á¢±ÙÀ» Çã¿ëÇÑ´Ù. ±× ¿ÜÀÇ ´Ù¸¥ °÷¿¡¼­ÀÇ Á¢±ÙÀº °ÅºÎµÈ´Ù.

Activate the updated configuration.

 

¼öÁ¤À» ÇÑ ÈÄ¿¡´Â inetd¸¦ Àç½ÃÀÛÇØ¾ß ÇÑ´Ù:

$ kill -HUP <pid of inetd>


¹è°Ü Áö½Ä°ú Ãß°¡·Î ¾Ë¾ÆµÑ ¸¸ÇÑ °Í


´ÙÀ½Àº ¸î °¡Áö Ãß°¡·Î ¾Ë¾ÆµÑ ¸¸ÇÑ °ÍµéÀÌ´Ù.

µ£À» ÁغñÇϱâ

 

Á¶±â °æº¸¸¦ À§ÇØ µ£À» ÁغñÇØµÑ ¼öµµ ÀÖ´Ù. Áï, ¼³Á¤ÇÒ ¶§ ÇÊ¿äÇÏÁö ¾ÊÀº ¼­ºñ½º¸¦ È°¼ºÈ­½ÃÄÑ µÎ°í, tcpd¸¦ »ç¿ëÇؼ­ ¸ðµç Á¢¼ÓÀ» ±â·ÏÇÑ ´ÙÀ½ ¼­ºñ½º¸¦ °ÅºÎÇØ ¹ö¸®´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô Çصθé ħÀÔÀÚ°¡ ´õ¿í °íµµÀÇ ±â¼úÀ» ¾²±â Àü¿¡ ¸ÕÀú Àß ¾Ë·ÁÁø °ø°ÝÀ» ½ÃµµÇØ º¼ ¶§ ¸Å¿ì À¯È¿ÇÒ °ÍÀÌ´Ù.

ÀÌ·± Á¢±Ù ¹æ¹ýÀº Á¦ÇÑ ÀûÀ¸·Î »ç¿ëµÅ¾ß ÇÑ´Ù. ´ÙÀ½Àº ½Ã½ºÅÛ¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â µÎ °¡Áö ¼­ºñ½º¿¡ ´ëÇÑ Á¢¼ÓÀ» Çã¿ëÇØÁØ´Ù:

systat  stream  tcp     nowait  nobody  /opt/sbin/tcpd  /bin/false
netstat stream  tcp     nowait  nobody  /opt/sbin/tcpd  /bin/false

tcpdÀÇ ¸Å°³ º¯¼ö·Î ¼­ºñ½º¸¦ Á¦°øÇÏ´Â ½ÇÁ¦ ÇÁ·Î±×·¥À» ³ÖÁö ¾Ê´Â °ÍÀÌ Áß¿äÇÏ´Ù. Á¢±ÙÀÌ ½Ç¼ö·Î Çã¿ëµÇ´õ¶óµµ(¿¹¸¦ µé¸é, À߸øµÈ ¼³Á¤ ¶§¹®¿¡)ºÎÁÖÀÇÇÏ°Ô ¼­ºñ½º¸¦ Á¦°øÇÏ°í ½ÍÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. /bin/false·Î µÎ¸é Áï½Ã Á¾·áµÅ¼­ »ç¿ëÀÚ ÀÔ·ÂÀ» ÀüÇô ¹Þ¾ÆµéÀÌÁö ¾Ê±â ¶§¹®¿¡ ¸Å¿ì ¾ÈÀüÇÑ ¹æ¹ýÀÌ µÈ´Ù.

¼³Á¤ »çÇ× Á¡°Ë

 

tcp wrapperÀÇ ¼³Á¤ »çÇ×Àº È£½ºÆ®ÀÇ º¸¾È¿¡ ½É°¢ÇÑ ¿µÇâÀ» ¹ÌÄ£´Ù. ±×·¡¼­ µÎ °¡Áö °Ë»ç ÇÁ·Î±×·¥ÀÌ ¼ÒÇÁÆ®¿þ¾îÀÇ ÀϺηΠÁ¦°øµÈ´Ù:
 

  • tcpdchk(8)´Â inetd.conf¸¦ ºÐ¼®Çؼ­ tcp wrapper¿Í °ü·ÃµÈ ¸ðµç ¿¡·¯¸¦ º¸¿©ÁØ´Ù.
  • tcpdmatch(8)´Â ÁÖ¾îÁø IP ÁÖ¼Ò¿¡ ´ëÇؼ­ ¼³Á¤ÀÌ ¾î¶»°Ô µÇ¾î ÀÖ°í, Á¢¼ÓÀÌ Çã°¡µÇ´ÂÁö °ÅºÎµÇ´ÂÁö °á°ú¸¦ Ãâ·ÂÇØÁØ´Ù.

IP spoofingÀÇ À§Ç輺

 

Á¢±Ù Á¦¾î¿Í ±â·ÏÀº IP ÇÁ·ÎÅäÄÝÀÇ IP ÁÖ¼Ò¸¦ ±â¹ÝÀ¸·Î ÀÌ·ç¾îÁø´Ù. ±×·¯³ª ƯÁ¤ÇÑ È¯°æ¿¡¼­´Â IP ÁÖ¼Ò¸¦ ¼ÓÀÏ ¼öµµ ÀÖÀ¸¸ç, À̴ ħÀÔÀÚ°¡ Á¢±Ù ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Â °¡´É¼ºÀ» ÁÖ°Ô µÈ´Ù. tcp wrapper´Â ¾àÁ¡À» ÁÙÀ̱â À§ÇØ µÎ ¹øÀÇ DNS Ž»öÀ» ÇàÇÔÀ¸·Î¼­ ÀÌ·± ¹æ½ÄÀÇ °ø°ÝÀ» ŽÁöÇÏ·Á°í ÇÑ´Ù:Áï, ¿¬°áÀ» ¿ä±¸ÇÑ IP ÁÖ¼Ò¿¡ ´ëÇÑ È£½ºÆ®¸íÀ» ã¾Æº¸°í, ´Ù½Ã ÇØ´ç È£½ºÆ®¸í¿¡ ´ëÇØ IP ÁÖ¼Ò¸¦ ã¾Æº»´Ù. ±× °á°ú ¾ò¾î³½ IP ÁÖ¼Ò°¡ ¿ø·¡ÀÇ ÁÖ¼Ò¿Í ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é, Á¢¼ÓÀº °ÅºÎµÈ´Ù. ÀÌ ¸ðµå´Â "PARANOIDE"¶ó°í ºÎ¸£¸ç ÄÄÆÄÀÏÇÒ ¶§ ²¨³õÀ» ¼ö ÀÖ´Ù. (DNS¸¦ ÅëÇؼ­ ¿ø·¡ÀÇ ÁּҷΠȣ½ºÆ®¸íÀ» ¾òÀ» ¼ö ¾ø´Ù¸é Àû¹ýÇÑ È£½ºÆ®¿´À»Áö¶óµµ Á¢¼ÓÀº °ÅºÎµÈ´Ù. ÀÌ°ÍÀº reverse Ž»öÀÌ Á¦°øµÇÁö ¾Ê´Â »çÀÌÆ®¿¡ ƯÈ÷ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ´Ù.) ºÎ¿¬ÇÏÀÚ¸é, Á¢¼ÓÀ» Á¦ÇÑÇÏ·Á´Â ¸ðµç ÁÖ¼Ò´Â IP ÁÖ¼Ò·Î ±â¼úµÇ¾ß ÇÑ´Ù. È£½ºÆ® ¸íÀº Á¢¼ÓÀ» Á¦ÇÑÇÏ·Á´Â °÷À» IP Áּҷδ ǥÇöÇÒ ¼ö ¾øÀ» ¶§¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù.

¼³Á¤ »çÇ×À» º¸È£Çϱâ

 

¼³Á¤ ÆÄÀÏÀº ½Ã½ºÅÛ¿¡ ÀúÀåµÇ¹Ç·Î Á¶ÀÛµÉ °¡´É¼ºÀÌ ÀÖ´Ù. ±×·¯¹Ç·Î ÀÌ·± ÆÄÀϵéÀÇ °ü¸®¿ë º¹»çº»À» ¸¸µé¾î¼­ ¹°¸®ÀûÀ¸·Î ¾²±â ±ÝÁöµÈ ¸Åü¿¡ ¿Å°Ü¼­ º¸°üÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ±×¸®°í ³ª¼­ Tripwire¿Í °°Àº °áÇÔ °Ë»ç µµ±¸ Áß Çϳª¸¦ »ç¿ëÇؼ­ ÀÌ·± ¼³Á¤ ÆÄÀϵéÀ» °Ë»çÇØ º¼ ÇÊ¿ä°¡ ÀÖ´Ù.


ÀÌ ¹®¼­´Â º»·¡ cert¿¡ ÀÖ´Â °ÍÀ» handdolÀÌ ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. ³»ºÎÀûÀÎ ¸ñÀû¿¡ »ç¿ëÇϱâ À§ÇÑ °ÍÀ̹ǷΠ´Ù¸¥ °÷¿¡ ¹èÆ÷¸¦ ±ÝÇØÁֽʽÿÀ.

Copyright 1999 Carnegie Mellon University  
CERT is registered in the U.S. Patent and Trademark Office.