apache¿¡¼ Proxy IP¸¦ real IP·Î ¹Ù²Ù±â | ÀÛ¼ºÀÏ : 2010/03/03 19:14 |
Á¶È¸¼ö : 28636 |
Á¦ ¸ñ : apache¿¡¼ Proxy IP¸¦ real IP·Î ¹Ù²Ù±â ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ ) ÀÛ¼ºÀÏ : 2010.2.25(¸ñ) ¼öÁ¤ÀÏ : 2015.3.3(È) mod_rpaf ´Ù¿î¹ÞÀ» URLº¯°æ µî ¼öÁ¤ÀÏ : 2015.3.10(È) nginx ¼³Á¤ Ãß°¡ À¥¼¹ö ¾Õ´Ü¿¡ Proxy¼¹ö¸¦ µÎ°Å³ª Citrix NetscalerµîÀÇ Àåºñ¸¦ »ç¿ëÇÒ °æ¿ì¿¡, À¥¼¹ö´Â Proxy ¼¹ö³ª Àåºñ IP¿¡¼ Á¢¼ÓÇÑ °ÍÀ¸·Î ÀνÄÇÑ´Ù. µû¶ó¼ À¥ÇÁ·Î±×·¥Àº '½ÇÁ¦ Ŭ¶óÀ̾ðÆ® IP'°¡ ¾Æ´Ñ ¾Õ´Ü¿¡ ÀÖ´Â Proxy¼¹ö IP¸¦ ¿äûÇÑ IP·Î ÀνÄÇÏ°Ô µÈ´Ù. À¥·Î±×µµ ¸¶Âù°¡Áö·Î Proxy ¼¹ö ¶Ç´Â Àåºñ IP°¡ ³²°Ô µÈ´Ù.
ÀÌ ¶§ X-Forwarded-For HTTP Çì´õ(¶Ç´Â ÀÓÀÇ·Î ÁöÁ¤ÇÑ Çì´õ)¿¡ Àִ Ŭ¶óÀ̾ðÆ® IP¸¦ »Ì¾Æ¼ 1) À¥ÇÁ·Î±×·¥¿¡¼´Â ½ÇÁ¦ ¿äûÇÑ Å¬¶óÀ̾ðÆ® IP¸¦ ¾Ë ¼ö ÀÖ°í, 2) À¥·Î±×¿¡µµ ³²±æ ¼ö°¡ ÀÖ´Ù. ´ÙÀ½Àº ¾ÆÆÄÄ¡¿¡¼ LogFormatÀ» ¼³Á¤ÇÑ ¿¹ÀÌ´Ù. ù¹ø°ÁÙÀº ±âº»ÀûÀ¸·Î Á¦°øÇÏ´Â combined Æ÷¸Ë, µÎ¹ø°ÁÙÀÌ IP Çʵ忡 X-Forwarded-ForÇì´õÀÇ IPÁ¤º¸·Î ´ëüÇÏ´Â Æ÷¸ËÀÌ´Ù.
±×·¯³ª µÎ¹ø°ÁÙÀÇ LogFormat ¼³Á¤À» ÇÏ´õ¶óµµ ¿©·¯°¡ ¹ß»ýÇßÀ» °æ¿ì error log¿¡´Â ¿©ÀüÈ÷ Proxy IP°¡ ³²°Ô µÈ´Ù. ¶ÇÇÑ À¥ÇÁ·Î±×·¥¿¡¼´Â Ŭ¶óÀ̾îÆ® IPÀ» ¾Ë¾Æ¾ß ÇÒ °æ¿ì X-Forwarded-For¸¦ ¸Å¹ø È®ÀÎÇؾßÇÏ´Â ºÒÆíÇÔÀÌ ÀÖ´Ù. 1. mod_rpaf ¸ðµâÀÌ ÇÏ´Â ÀÏ
¾ÆÆÄÄ¡¿ë mod_rpaf ¸ðµâÀ» »ç¿ëÇÏ¸é ¹®Á¦¸¦ ¸»²ûÈ÷ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÀÌ ¸ðµâÀº Ŭ¶óÀ̾ðÆ® IP°¡ ÀúÀåµÈ X-Forwarded-For Çì´õ(Çì´õ¸íÀº º¯°æ °¡´É)°ªÀ» »Ì¾Æ¼ ¿äûÇÑ IP(REMOTE_ADDR)·Î ¹Ù²ã¼ À¥¼¹ö¿¡ ³Ñ°ÜÁØ´Ù. ½ÇÁ¦ Ŭ¶óÀ̾ðÆ® IP¸¦ ³Ñ°ÜÁֹǷΠÀ¥ÇÁ·Î±×·¡¹ÖÀÌ ÆíÇØÁø´Ù. ±×¸®°í LogFormat ¼³Á¤À» º¯°æÇÒ ÇÊ¿ä°¡ ¾ø°í, error log¿¡µµ ½ÇÁ¦ Ŭ¶óÀ̾ðÆ® IP°¡ ³²´Â´Ù. 1) mod_rpaf¸ðµâ ¾ø´Ù¸é Client IP(192.168.123.123) -> Proxy ¼¹ö (10.10.123.3) -> À¥¼¹ö´Â 10.10.123.3 ¿¡¼ Á¢¼ÓÇÑ °ÍÀ¸·Î ÀÎ½Ä 2) mod_rpaf¸ðµâ »ç¿ë Client IP(192.168.123.123) -> Proxy ¼¹ö (10.10.123.3) -> À¥¼¹ö´Â 192.168.123.123¿¡¼ Á¢¼ÓÇÑ °ÍÀ¸·Î ÀÎ½Ä 2. mod_rpaf ¸ðµâ ¼³Ä¡ (apache 2.x¿¡¼) 1) ¸®´ª½ºÀÇ °æ¿ì https://github.com/y-ken/mod_rpaf (apache 2.0¶Ç´Â 2.2) ¶Ç´Â https://github.com/gnif/mod_rpaf (apache 2.4Áö¿ø)¿¡¼ ¸ðµâ ¼Ò½º¸¦ ¹ÞÀº ÈÄ, ¾ÆÆÄÄ¡ÀÇ apxs¸í·ÉÀ¸·Î ÄÄÆÄÀÏÇÑ´Ù. (¼³Ä¡ ¹æ¹ýÀº ÇØ´ç ÆäÀÌÁö¸¦ Âü°í ÇÒ °Í)
¸ðµâÀÌ ·ÎµùµÇµµ·Ï ¼³Á¤ÇÑ´Ù.
2) FreeBSDÀÇ °æ¿ì ports·Î Á¦°øÇϹǷΠ°£´ÜÈ÷ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à apache 2.2¸¦ »ç¿ëÁßÀ̶ó¸é ap24-mod_rpaf2-0.6_3 is marked as broken: : Error from bsd.apache.mk. apache22 is installed ... ¿Í °°Àº ¿¡·¯°¡ ³ª¿Ã ¼ö ÀÖ´Ù. /etc/make.conf¿¡ DEFAULT_VERSIONS+=apache=2.2 ¸¦ Ãß°¡ÇÏ°í ÄÄÆÄÀÏÇÑ´Ù.
¸ðµâÀÌ ·ÎµùµÇµµ·Ï ¼³Á¤ÇÑ´Ù.
3. mod_rpaf ¼³Á¤ apache ¼³Á¤ ¿¹ÀÌ´Ù.
¡Ø https://github.com/gnif/mod_rpaf ¿¡¼ ¸ðµâÀ» ¹Þ¾Æ ¼³Ä¡ÇÑ °æ¿ì ¼³Á¤ÀÌ Á¶±Ý ´Ù¸£´Ï ÁÖÀÇÇÒ °Í
- RPAFsethostname°¡ OnÀ¸·Î µÇ¾î ÀÖÀ¸¸é, X-Host Çì´õÀÇ °ªÀ» ¿äû È£½ºÆ®¸íÀ¸·Î ¹Ù²ãÁØ´Ù. - RPAFproxy_ips ¿¡´Â Proxy ¼¹ö IP³ª Àåºñ IP¸¦ ³ª¿ÇÑ´Ù. ¿©·¯ °³ÀÏ ¶§´Â ºóÄÀ¸·Î ±¸ºÐÇÑ´Ù. ¿©±â¿¡ Àû¾îÁø IP¸¦ ¸¶ÁÖÄ¡°Ô µÇ¸é HTTP Çì´õ¿¡ ÀûÇôÀִ Ŭ¶óÀ̾ðÆ® IP·Î ¹Ù²ãÁÖ°Ô µÈ´Ù. - RPAFheader¿¡´Â Ŭ¶óÀ̾ðÆ®ÀÇ real IP°¡ µé¾î ÀÖ´Â HTTP Çì´õ¸íÀ» ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº X-Forwarded-For. À§ÀÇ ¼³Á¤¿¡ µû¸£¸é À¥¼¹ö¿¡ Á¢¼ÓÇÑ IP°¡ 10.10.123.3(Áï, proxy ¼¹ö³ª Àåºñ IP)·Î ÆľǵǾúÀ» ¶§, X-Forwarded-For Çì´õ¿¡ Àִ Ŭ¶óÀ̾ðÆ® IP·Î ¹Ù²î¼ ³Ñ°ÜÁØ´Ù. php¿¡¼´Â $_SERVER['REMOTE_ADDR']°¡ ½ÇÁ¦ Ŭ¶óÀ̾ðÆ® IP·Î ¹Ù²î°Ô µÇ°í, X-Host Çì´õ °ªÀÌ ÀÖ´Ù¸é $_SERVER['HTTP_HOST'] º¯¼öµµ ¹Ù²î°Ô µÈ´Ù. ¿¹ 1) À¥¼¹ö¿¡ Á¢¼ÓÇÑ IP°¡ 10.10.123.3(Áï, proxy ¼¹ö³ª Àåºñ IP)ÀÌ°í, X-Forwarded-ForÇì´õ°¡ 111.111.111.1 ÀÏ ¶§ ´ÙÀ½°ú °°ÀÌ ·Î±×°¡ ³²´Â´Ù.
¿¹ 2) À¥¼¹ö¿¡ Á¢¼ÓÇÑ IP°¡ 222.222.222.2(RPAFproxy_ips¿¡ ¼³Á¤ÇÏÁö ¾ÊÀº IP)ÀÌ°í, X-Forwarded-ForÇì´õ°¡ 111.111.111.1 À϶§, IPº¯È¯¾øÀÌ ±×´ë·Î ³²´Â´Ù.
4. ½ÃÆ®¸¯½º ³Ý½ºÄÉÀÏ·¯¿¡¼ Use Source IP¸¦ ¾²Áö ¾ÊÀ» ¶§ System -> Settings -> Modes ¸¦ Ŭ¸¯Çϸé 'Use Source IP'¼³Á¤ÀÌ ÀÖ´Ù. 1) üũ¸¦ Çϸé, ½ÇÁ¦ Á¢¼ÓÇÑ Å¬¶óÀ̾ðÆ®(PC) IPÁ¤º¸¸¦ ±×´ë·Î ÇÏ´Ü À¥¼¹ö·Î ³Ñ°ÜÁØ´Ù. À¥¼¹ö¿¡¼ ÇØÁÙ °ÍÀº ¾Æ¹« °Íµµ ¾ø´Ù. 2) üũ¸¦ ÇØÁ¦Çϸé, ½ÃÆ®¸¯½º ÀåºñÀÇ IP¸¦ ³Ñ°ÜÁØ´Ù. À̶§ ÁöÁ¤ÇÑ Çì´õ¿¡ Ŭ¶óÀ̾ðÆ® real IPÁ¤º¸°¡ ´ã°ÜÀÖ´Ù. ½ÃÆ®¸¯½º ³Ý½ºÄÉÀÏ·¯¿¡¼ Ŭ¶óÀ̾ðÆ® IP¸¦ ´ãÀ» Çì´õ¸íÀº ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.
¾ÆÆÄÄ¡¿¡¼ ¼³Á¤Àº À§¿¡¼ Çß´ø °Í°ú ¶È°°´Ù. RPAFproxy_ips¿¡´Â ½ÃÆ®¸¯½º Àåºñ IP¸¦, RPAFheader¿¡´Â ½ÃÆ®¸¯½º¿¡¼ ¼³Á¤ÇÑ HTTP Çì´õ¸íÀ» Àû¾îÁØ´Ù.
5. nginx¿¡¼
ÀÚ¼¼ÇÑ ¼³Á¤Àº ´ÙÀ½ ±ÛÀÇ '4. À¥¼¹ö ·Î±×¿¡ Proxy IP´ë½Å Ŭ¶óÀ̾ðÆ® IP ³²±â±â'ºÎºÐÀ» Àо½Ã±æ. * HAProxy·Î ·Îµå¹ë·±½Ì(LB, ÀÌÁßÈ) ±¸¼º (±Û ÁÁÀºÁøÈ£, 2015.3) http://coffeenix.net/board_view.php?bd_code=1771 6. Âü°í ÀÚ·á * reverse proxy add forward module for Apache (mod_rpaf) https://github.com/gnif/mod_rpaf (apache 2.4 Áö¿ø) https://github.com/y-ken/mod_rpaf http://stderr.net/apache/rpaf/ (2015.2 ÇöÀç Á¢¼Ó ¾ÈµÊ) * FreeBSD : mod_rpaf http://www.freebsdsoftware.org/www/mod_rpaf.html * X-Forwarded-For http://en.wikipedia.org/wiki/X-Forwarded-For * Custom Header Module for Apache 2.x to Process Client IP Address http://support.citrix.com/article/CTX109555 * How to rewrite HTTP Headers with Client IP http://community.citrix.com/display/ns/How+to+rewrite+HTTP+Headers+with+Client+IP |
Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=1701 |