以下の内容はhttps://memo.furyutei.com/entry/20130620/1371729491より取得しました。


FTPプロキシを立てようとして、はまる

特定の場所[A](グローバルIPアドレスで判断)からのFTP要求しか受け付けないようになっているFTPサーバ[B]に、別の場所[C]からアクセスする必要ができてきたので*1、[A]にあるサーバ上にFTPプロキシを立てることでなんとかしようとしたのだけれど(Squidをその目的で使用)、なにか検索してみてもいまいちこれ、という設定が見つからない気がする。
探し方が悪いのか、常識過ぎてだれも書かないのか……。
/etc/squid.conf がデフォルトのままではやはり動作しなかったので、次のような箇所を追加変更。
とりあえずは動作しているのだけれど、これが果たして妥当なのかどうか自信が持てない。

FTP over TLS/SSL のための設定

acl SSL_ports port 989 # ftps (ftp protocol, data, over TLS/SSL)
acl SSL_ports port 990 # ftps (ftp protocol, control, over TLS/SSL)

acl Safe_ports port 989         # ftps data
acl Safe_ports port 990         # ftps control

の設定をそれぞれ追加。


とりあえず、これらは後の

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

とか

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

で効いてくれればいいなと。
ftpsのポート番号間違っていたので修正、っていうか993ってIMAP over SSLじゃないか、なにを思って書いてたんだ…。

パッシブ FTP のための設定

acl FTP_ports port 21 # ftp
acl FTP_ports port 1024-65535 # port range for passive ftp

を追加しておいて、

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

の直前に、

http_access allow CONNECT FTP_ports

を追加。
パッシブモードのポート範囲の制限はFTPサーバ(上記だと[B])側だよねぇ…

追記

上記は、Squid Web Proxy 3.1.10 の話ね、念のため。
そういえば、これの squid.conf には

acl Safe_ports port 1025-65535 # unregistered ports

ってあるけれど、TCPやUDPにおけるポート番号の一覧 - Wikipediaとかで見ると、

ウェルノウンポート番号
(well known port numbers)
0–1023
登録済みポート番号
(registered port numbers)
1024-49151
自由に利用できるポート番号
(動的あるいはプライベートポート番号、dynamic/private port numbers)
49152-65535

ってなっているね。
手元の

  • 作者: W.リチャードスティーヴンス,W.Richard Stevens,篠田陽一
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 1999/07
  • メディア: 単行本
  • 購入: 8人 クリック: 151回
  • この商品を含むブログ (37件) を見る
の42ページ辺りから由来も含めて書かれていた。

*1:ちなみに[B]の設定は変えることができない制限あり。




以上の内容はhttps://memo.furyutei.com/entry/20130620/1371729491より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14