FTP¿¡¼­ Passive mode¿Í Active mode
ÀÛ¼ºÀÚ °ü¸®ÀÚ ÀÛ¼º½Ã°£ 2007-03-28 10:13:10
 

Ãâó : ³×À̹ö ºí·Î±×

FTP¿¡¼­ passive mode¿Í active mode¿¡ °üÇÑÁÁÀº±ÛÀÌ À־ ÆÛ¿Ô½À´Ï´Ù.
Ãâó´Â °ü·Ã¸µÅ©·Î Àû¼ö³×¿¡ ¿Ã¶ó¿Â±ÛÀÔ´Ï´Ù.
FTP ¼­¹ö¸¦ ¹æÈ­º® ³»ºÎ¿¡¼­ ±¸µ¿ÇÏ·Á¸é FTP connection type¿¡ ´ëÇÑ ÀÌÇØ°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿ø¸®¸¦ ÀÌÇØÇϽ÷Á¸é tcp/ip, firewall ¿¡ ´ëÇÑ »çÀü Áö½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù. ±×·² °æ¿ì ³Ê¹« ¹æ´ëÇØÁö¹Ç·Î °£·«ÇÏ°Ô ¼³¸íµå¸®°Ú½À´Ï´Ù.
active connection vs. passive connection
FTP¿¡¼­ »ç¿ëµÇ¾îÁö´Â connection typeÀº 2°¡Áö·Î ³ª´¯´Ï´Ù.
ù¹ø°°¡ control connectionÀ¸·Î¼­ FTP client software¿¡ ÀÇÇØ ÃʱâÈ­(Á¢¼Ó½Ãµµ)µË´Ï´Ù. ÀÌ°ÍÀº client:X ¿¡¼­ server:ftp (port 21)·Î Á¢¼ÓÀÌ ÀÌ·ç¾îÁö¸ç command Àü¼Û½Ã »ç¿ëµÇ¾î Áý´Ï´Ù.
Ŭ¶óÀ̾ðÆ®:X -> ¼­¹ö:ftp
¿©±â¼­ X ´Â 1023º¸´Ù Å« ºñ»ç¿ëÁßÀÎ Æ÷Æ®¸¦ ¸»ÇÕ´Ï´Ù.
µÎ¹ø°´Â data connectionÀ¸·Î¼­ ÀÌ°ÍÀº active mode¿Í passive mode·Î ³ª´©¾îÁö¸ç data(½ÇÁ¦ Àü¼ÛµÉ ÆÄÀÏ) Àü¼Û½Ã »ç¿ëµÇ¾î Áý´Ï´Ù. À̶§ ÀϹÝÀûÀÎ FTP server´Â active mode·Î data¸¦ Àü¼ÛÇÕ´Ï´Ù.
active mode´Â ´ÙÀ½°ú °°Àº ÀýÂ÷·Î ¿¬°áÀ» ÁøÇàÇÏ°Ô µË´Ï´Ù.
- FTP client´Â data Àü¼Û½Ã passive connectionÀ» »ç¿ëÇÏ´ÂÁö ¿äûÇÏ°Ô µÇ°í ±×·¸Áö ¾ÊÀ» °æ¿ì FTP server°¡ data Àü¼ÛÀ» À§ÇØ Á¢¼ÓÇÏ°ÔµÉ client ÀÚ½ÅÀÇ port(Y¶ó°í °¡Á¤)¸¦ ¼­¹ö¿¡°Ô ¾Ë·ÁÁÝ´Ï´Ù.
- FTP ¼­¹ö´Â ftp-data port(20¹ø)¸¦ ÅëÇØ client°¡ ¾Ë·ÁÁØ Æ÷Æ®·Î Á¢¼ÓÀ» ½Ãµµ¸¦ ¿äûÇÕ´Ï´Ù. (syn packet Àü¼Û)
- ÇØ´ç client´Â ¿äû¿¡ ´ëÇÑ ¼ö½Å È®ÀÎ ¹× Çã¶ôÀ» Àü¼ÛÇÕ´Ï´Ù.(awk+syn packet Àü¼Û)
- server´Â client°¡ º¸³½ packet¿¡ ´ëÇÑ ¼ö½Å È®ÀÎÀ» Àü¼ÛÇÕ´Ï´Ù.(awk packet)
- À̷μ­ connectionÀº Çü¼ºµÇ°í data¸¦ Àü¼ÛÇÏ°Ô µË´Ï´Ù. (ÀÚ¼¼ÇÑ ³»¿ëÀº RFC ¹®¼­¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù)
Áï server:ftp-data -> client:Y ÇüÅ·Π¿¬°áµË´Ï´Ù.
ÀÌ·¯ÇÑ ÀÌÀ¯·Î ¹æÈ­º®³»ºÎ¿¡ FTP server¸¦ ¿î¿µÇÒ °æ¿ì command´Â Àü´ÞµÇ³ª ½ÇÁ¦ data°¡ Àü¼ÛµÇÁö ¾Ê´Â ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. (ipchains·Î ¼³Á¤ÇÒ °æ¿ì, iptablesÀÇ °æ¿ì¶ó¸é Àü¼ÛµÇ´Â flag¿¡ µû¶ó ¼¶¼¼ÇÏ°Ô ¼³Á¤ °¡´É)
¶ÇÇÑ firewall ¿î¿µ½Ã ³»ºÎ³×Æ®¿÷¿¡¼­ ¿ÜºÎ·Î ³ª°¡´Â 1023 ÀÌ»óÀÇ Æ÷Æ®¸¦ ¸ðµÎ ¿­¿© ÁÖ¾î¾ß ÇÏ´Â ¹®Á¦µµ ¹ß»ýµË´Ï´Ù. (firewall Á¦Ç° active mode¿¡ ´ëÇØ Áö¿øÇϱ⵵ ÇÏ°í ±×·¸Áö ¾ÊÀº Á¦Ç°µµ ÀÖ½À´Ï´Ù)
passive mode´Â ´ÙÀ½°ú °°Àº ¿¬°áÀ» ÁøÇàÇÏ°Ô µË´Ï´Ù.
- FTP client°¡ data Àü¼Û½Ã FTP server¿¡°Ô passive connection¸¦ »ç¿ëÇÏ´ÂÁö ¿©ºÎ¸¦ ¿äûÇÏ°Ô µË´Ï´Ù.
- passive connection¸¦ »ç¿ëÇÑ´Ù¸é FTP server´Â client°¡ data Àü¼ÛÀ» À§ÇØ Server¿¡ Á¢¼ÓÇÒ 1023ÀÌ»óÀÇ port¸¦ ¾Ë·ÁÁÖ°Ô µË´Ï´Ù. (À̶§ »ç¿ëÇÒ Æ÷Æ®¸¦ N À̶ó°í Á¤Çϸç, N °ªÀº FTP server ¸¶´Ù ¼³Á¤ÀÌ ´Ù¸¨´Ï´Ù. Áï active connection¿¡¼­ »ç¿ëÇÏ´Â ftp-data(20¹ø) port¸¦ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.)
- FTP client´Â Server°¡ ¾Ë·ÁÁØ port NÀ¸·Î Á¢¼ÓÀ» ½ÃµµÇϱâ À§ÇØ syn packetÀ» ÀÚ½ÅÀÇ Z(1023ÀÌ»óÀÇ ºñ»ç¿ë ÁßÀÎ) portÀ» ¿­¾î Àü¼ÛÇÕ´Ï´Ù.
- FTP server´Â awk+syn packetÀ» ÅëÇØ ¼ö½Å È®ÀÎ ¹× ¿¬°áÀ» Çã¶ôÇÏ°Ô µË´Ï´Ù.
- FTP client´Â awk packetÀ» Àü¼ÛÇÏ¿© ¼ö½Å È®ÀÎÀ» ÇÏ°í connectionÀ» ¸ÎÀº ÈÄ data¸¦ Àü¼ÛÇÏ°Ô µË´Ï´Ù.
Áï client:Z -> server:N ÀÇ ÇüÅ·Π¿¬°áµË´Ï´Ù.
ÀÌ·¯ÇÑ °æ¿ì¶ó¸é ¹æÈ­º®¿¡¼­ FTP server°¡ passive connection¿¡¼­ »ç¿ëÇÏ°Ô µÉ port¸¦ ¿­¾î Á¤»óÀûÀ¸·Î data Àü¼ÛÀÌ °¡´ÉÇÕ´Ï´Ù.
FTP server¸¦ passive connectionÀ¸·Î ¿î¿µÇϱâ À§ÇÑ ¼³Á¤
Linux¿¡¼­ ¿î¿µÇÏ´Â ´ëÇ¥ÀûÀº FTP serverÀÎ wu-ftpd¿Í proftpd¿¡ ´ëÇؼ­¸¸ ¾ð±ÞÇÏ°Ú½À´Ï´Ù.
¼³Á¤ ¹æ¹ýÀº ÇØ´ç ÆÄÀÏ¿¡ passive port·Î »ç¿ëÇÒ port ¿µ¿ªÀ» ¸í½ÃÇÏ°Ô µË´Ï´Ù. 2000°³ ÀÌ»óÀÇ port¸¦ ¿­°ÍÀ» ±ÇÀåÇϸç, ÀϹÝÀûÀ¸·Î10000¹ø ÀÌÇÏÀÇ Æ÷Æ®¸¦ »ç¿ëÇÕ´Ï´Ù.
wu-ftpdÀÇ °æ¿ì
wu-ftpd¿¡¼­ Á¦°øÇÏ´Â /etc/ftpaccess ÆÄÀÏ¿¡ ´ÙÀ½ ³»¿ëÀ» Ãß°¡ÇÕ´Ï´Ù. standalone type server¶ó¸é ¹Ýµå½Ã restart ÇÕ´Ï´Ù.
passive ports 0.0.0.0/0 15000 17000
Áï wu-ftpd¸¦ passive FTP·Î ¿î¿µÇϱâ À§ÇØ 15000~17000 Æ÷Æ®¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î ¼³Á¤ÇÑ °ÍÀÔ´Ï´Ù.
proftpdÀÇ °æ¿ì
proftpd¿¡¼­ Á¦°øÇÏ´Â /etc/proftpd/conf/proftpd.conf ÆÄÀÏ¿¡ ´ÙÀ½ ³»¿ëÀ» Ãß°¡ÇÕ´Ï´Ù. standalone type server¶ó¸é ¹Ýµå½Ã restart ÇÕ´Ï´Ù.
PassivePorts 60000 62000
Áï proftpd¸¦ 15000~17000 Æ÷Æ®¸¦ ÀÌ¿ëÇÏ¿© passive FTP·Î ¿î¿µÇÒ °ÍÀ» ¼³Á¤ÇÑ °ÍÀÔ´Ï´Ù.
passive connect½Ã client¿¡¼­ ÁÖÀÇÇÒ »çÇ×
ÀϹÝÀûÀ¸·Î server¸¦ passive connectionÀ¸·Î ¿î¿µÇÒ °æ¿ì client ¶ÇÇÑ passive mode ·Î »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. NetscapeÀÇ °æ¿ì Ưº°ÇÑ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸ç, ncftpÀÇ °æ¿ì Á¢¼ÓÈÄ set passive on ¸í·É¾î¸¦ ¼öÇàÇÏ½Ã¸é µË´Ï´Ù. gftp¸¦ »ç¿ëÇϽŴٸé FTP -> Options -> General -> "Passive file transfer" ¸¦ ¼³Á¤ÇϽñ⠹ٶø´Ï´Ù

Ãâó : http://blog.naver.com/cresper/20032969093


¸ñ·Ï | ÀÔ·Â | ¼öÁ¤ | ´äº¯ | »èÁ¦