Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
説明: | mod_proxy ã®ãŸã‚ã® FTP サãƒãƒ¼ãƒˆãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« |
---|---|
ステータス: | Extension |
モジュールè˜åˆ¥å: | proxy_ftp_module |
ソースファイル: | mod_proxy_ftp.c |
本モジュールã«ã¯ mod_proxy
ãŒå¿…è¦ã§ã™ã€‚
本モジュール㯠FTP サイトã¸ã®ãƒ—ãƒã‚シ機能をæä¾›ã—ã¾ã™ã€‚
ç¾çŠ¶ã€ FTP サãƒãƒ¼ãƒˆã¯ GET メソッドã«é™å®šã•れã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
FTP プãƒã‚シリクエストを扱ã†ãŸã‚ã«ã¯ã€mod_proxy
㨠mod_proxy_ftp
㌠サーãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦
ã„ãªã‘れã°ã„ã‘ã¾ã›ã‚“。
安全ãªã‚µãƒ¼ãƒã«ã™ã‚‹ã¾ã§ãƒ—ãƒã‚ã‚·æ©Ÿèƒ½ã¯æœ‰åйã«ã—ãªã„ã§ãã ã•ã„。 オープンプãƒã‚シサーãƒã¯ã‚ãªãŸè‡ªèº«ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã¨ã£ã¦ã‚‚〠インターãƒãƒƒãƒˆå…¨ä½“ã«ã¨ã£ã¦ã‚‚å±é™ºã§ã™ã€‚
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã‚りã¾ã›ã‚“。
ãŠãらãã€ãƒ—ãƒã‚ã‚·ã® mime.types è¨å®šãƒ•ァイルã§ãã®ãƒ•ァイルタイプを
application/octet-stream
ã¨ã—ã¦å®šç¾©ã—ã¦ã„ãªã„ã®ã§ã—ょã†ã€‚
以下ã®è¡ŒãŒä¾¿åˆ©ã§ã—ょã†ã€‚
application/octet-stream bin dms lha lzh exe class tgz taz
デフォルトã§å…¨ã¦ã‚’ãƒã‚¤ãƒŠãƒªã«ã™ã‚‹ã®ã‚‚ã„ã„ã‹ã‚‚ã—れã¾ã›ã‚“:
DefaultType application/octet-stream
稀ã«ã€ç‰¹å®šã®ãƒ•ァイルを FTP ã® ASCII
転é€ãƒ¢ãƒ¼ãƒ‰ã§ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ãªã‘れã°
ãªã‚‰ãªã„å ´åˆãŒã‚りã¾ã™ (ãªãŠã€ãƒ‡ãƒ•ォルトã®è»¢é€ãƒ¢ãƒ¼ãƒ‰ã¯ binary
ã§ã™)。
ã“ã®å ´åˆã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æœ«å°¾ã« ;type=a
ã‚’åŠ ãˆã‚‹ã“ã¨ã§
mod_proxy
ã®ãƒ‡ãƒ•ォルト動作を変更ã—ã¦ã€ ASCII 転é€ãƒ¢ãƒ¼ãƒ‰ã«ã§ãã¾ã™ã€‚
(一方〠FTP ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªä¸€è¦§ã¯å¸¸ã« ASCII モードã§ã™ã€‚)
ç¾çŠ¶ã€ mod_proxy 㯠FTP ã® GET ã®ã¿ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ ã‚‚ã¡ã‚ん〠Apache プãƒã‚ã‚·ã§ HTTP アップãƒãƒ¼ãƒ‰ (POST ã¾ãŸã¯ PUT) ã¯ã§ãã¾ã™ã€‚
FTP ã® URI ã¯ãƒã‚°ã‚¤ãƒ³ä¸ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒ›ãƒ¼ãƒ ディレクトリã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦
解釈ã•れã¾ã™ã€‚より上ä½ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«è¡ŒããŸã‚ã« /../ を使ã£ã¦ã‚‚ç„¡é§„ã§ã™ã€‚
ã¨è¨€ã†ã®ã‚‚ã€ãƒ‰ãƒƒãƒˆãµãŸã¤ã¯ãƒ–ラウザãŒè§£é‡ˆã™ã‚‹ã ã‘ã§ã€å®Ÿéš›ã« FTP サーãƒã«ã¯
é€ã‚‰ã‚Œãªã„ã‹ã‚‰ã§ã™ã€‚ã“ã®å•題ã«å¯¾ã—ã¦ã€ Apache ã® FTP プãƒã‚ã‚·ã¯
ã„ã‚ゆる Squid %2f hack を実装ã—ã¦ã„ã¾ã™;
Squid Proxy Cache ãªã©ã®
ä»–ã®æœ‰åãªãƒ—ãƒã‚シサーãƒã‚‚採用ã—ã¦ã„る解決方法ã§ã™ã€‚
リクエストã®ãƒ‘スã®å…ˆé ã« /%2f
ã‚’ã¤ã‘ã‚‹ã¨ã€ã“れらã®ãƒ—ãƒã‚ã‚·
㯠FTP ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ /
é–‹å§‹ã«ã—ã¾ã™ (ホームディレクトリã§ã¯ãªã)。
例ãˆã°ã€/etc/motd
ファイルをå–å¾—ã™ã‚‹ã«ã¯ã€æ¬¡ã® URL ã‚’
使ãˆã°ã‚ˆã„ã§ã—ょã†:
ftp://user@host/%2f/etc/motd
FTP サーãƒã«ãƒ¦ãƒ¼ã‚¶åã¨ãƒ‘スワードを使ã£ã¦ãƒã‚°ã‚¤ãƒ³ã™ã‚‹ãŸã‚ã«ã€ Apache ã¯ç•°ãªã‚‹æˆ¦ç•¥ã‚’使ã„ã¾ã™ã€‚ URL ã«ãƒ¦ãƒ¼ã‚¶åもパスワードも無ã‘れã°ã€ Apache 㯠FTP サーãƒã«åŒ¿å (anonymous) ãƒã‚°ã‚¤ãƒ³ã—よã†ã¨ã—ã¾ã™ã€‚ 例
user: anonymous
password: apache_proxy@
匿åアクセスをè¨å®šã—ãŸã™ã¹ã¦ã®æœ‰å㪠FTP サーãƒã§ã“れã¯å‹•作ã—ã¾ã™ã€‚
特定ã®ãƒ¦ãƒ¼ã‚¶åã§ãƒã‚°ã‚¤ãƒ³ã™ã‚‹ãŸã‚ã«ã€ URL ã«æ¬¡ã®ã‚ˆã†ã«ãƒ¦ãƒ¼ã‚¶åを埋ã‚è¾¼ã‚ã¾ã™:
ftp://username@host/myfile
FTP サーãƒãŒã“ã®ãƒ¦ãƒ¼ã‚¶åã«å¯¾ã—ã¦ãƒ‘スワードを求ã‚る㨠(ãã†ã‚ã‚‹ã¹ãã§ã™) ã€
Apache 㯠401
(Authorization required) レスãƒãƒ³ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚
ã“れã«ã‚ˆã‚Šãƒ–ラウザã¯ãƒ¦ãƒ¼ã‚¶åã¨ãƒ‘スワードを求ã‚るダイアãƒã‚°ç”»é¢ã‚’ãƒãƒƒãƒ—アップã—ã¾ã™ã€‚
パスワードを入力ã™ã‚‹ã¨ã€ã‚‚ã†ä¸€åº¦æŽ¥ç¶šã—ãªãŠã—ã€èªè¨¼ãŒæˆåŠŸã™ã‚‹ã¨ã€
è¦æ±‚ã—ã¦ã„ãŸãƒªã‚½ãƒ¼ã‚¹ãŒç¾ã‚Œã¾ã™ã€‚ã“ã®ã‚„りã¨ã‚Šã®åˆ©ç‚¹ã¯ã€ãƒ–ラウザãŒãƒ‘スワードを
ãã®ã¾ã¾è¡¨ç¤ºã—ãªã„ã“ã¨ã§ã™ã€‚ã‚‚ã—æœ€åˆã«æ¬¡ã® URL を使ã£ã¦ã„ã‚‹ã¨
ftp://username:password@host/myfile
パスワードãŒãã®ã¾ã¾è¦‹ãˆã¦ã—ã¾ã„ã¾ã™ã€‚
ã“ã®ã‚ˆã†ã«é€ä¿¡ã™ã‚‹ãƒ‘スワードã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã¯æš—å·åŒ–ã•れã¾ã›ã‚“。 ブラウザ㨠Apache プãƒã‚シサーãƒã®é–“㯠base64 エンコードã—ãŸç”Ÿãƒ‘スワードã§ã€ Apache プãƒã‚シサーãƒã¨ FTP サーãƒã®é–“ã¯ãƒ—レインテã‚ストã§ã™ã€‚ ã“ã®ãŸã‚〠HTTP 経由㧠FTP サーãƒã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ™‚ (ã¨ã«ã‹ã FTP ã§å€‹äººçš„㪠ファイルã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ™‚ ) ã€å€ã®æ…Žé‡ã•ãŒæ±‚ã‚られã¾ã™ã€‚ 安全ã§ãªã„ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’使ã£ã¦ã„ã‚‹å ´åˆã€çµŒè·¯ä¸Šã§ãƒ‘スワードを盗ã¿å–られる å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚