はじめまして。
RedHat9にてWebサーバーを運営しています。
必要にせまられてデーター通信用(受信が目的)外部からアクセスできるFTPを設定しています。
パーミッションは755でLAN内では問題なく接続および設定ができています。
外部からは受信は可能だが送信ができないし、削除もでない。と言われ755では書き込みが
できないのだ考え、何にするのかわからなくなっしまいました。
内部に進入されるので一番安全な設定を教えてください。
内部移動はできない設定はしてあります。
外部からは送信のみ可能で送ったデーターが確認できるパーミッションです。
ID、パスはオーナーを使用します。ひとつのIDとパスで3箇所からの通信を
予定としています。
この場合chmod *** の設定はroot権限の#での設定でしょうか。オーナー権限の$の設定でしようか。
よろしくお願いします。
はじめにお断りしておきますが、デーモン名が書いていないので無駄なレスになるかも知れません。 下記はパーミッションで片付く問題ではないので、RH9標準のvsFTPDではなくおやじが使用している ProFTPDを前提にします。vsFTPDのことは分かりません。もし違っていても、ProFTPDは相当細かいこと ができるので、まだこれから使用開始するようですからこの際乗り換えてはどうですか? > RedHat9にてWebサーバーを運営しています。 > 必要にせまられてデーター通信用(受信が目的)外部からアクセスできるFTPを設定しています。 > パーミッションは755でLAN内では問題なく接続および設定ができています。 > > 外部からは受信は可能だが送信ができないし、削除もでない。と言われ755では書き込みが > できないのだ考え、何にするのかわからなくなっしまいました。 > 内部に進入されるので一番安全な設定を教えてください。 > 内部移動はできない設定はしてあります。 一応外部からという枕詞があるのでわかりますが、FTPならアップロード/ダウンロードという 言葉のほうがはっきりしますね。メールでこういう言葉はないので送信・受信とだけ書かれると 主体がサーバなのかクライアントなのか、どちらかなのか分からないケースが非常に多いです。 > 外部からは送信のみ可能で送ったデーターが確認できるパーミッションです。 > ID、パスはオーナーを使用します。ひとつのIDとパスで3箇所からの通信を > 予定としています。 > > この場合chmod *** の設定はroot権限の#での設定でしょうか。オーナー権限の$の設定でしようか。 ディレクトリのパーミッションやオーナの問題ではありません。上記を整理すると、 家庭内のクライアントはオールマイティにするが、外部のクライアントからはダウンロード だけできないようにしたい。 即ち、ファイル/ディレクトリのアップロード、ディレクトリの作成・削除、リネーム、リスト表示、 ファイル/ディレクトリのパーミッションの変更等を可能にする。 但し、このディレクトリを扱うユーザ・パスワードは1つを共有する。 ということですよね。 もしそうであれば、下記の設定でできます。なお、共有するユーザのルートディレクトリのオーナは そのユーザとし、パーミッションは755としてください。ユーザのホームディレクトリが、/home/oyaji だとすると、 # chown oyaji:users /home/oyaji # chmod 755 /home/oyaji ---- ここから設定(proftpd.confのserver configに記述) --------------------------- <Directory /home/oyaji> <Limit RETR> Order allow, deny Allow from 127.0.0.1, 192.168.1. Deny from all </Limit> </Directory> 上記は、/home/oyajiというディレクトリ配下は、RETR(ダウンロードコマンド)のみ、ローカルホストと 192.168.1.0/24のネットワーク以外からは禁止すると言うものです。
返信が遅れてすみません。
もっと根本的な問題があるらしく外部から接続できなくなりました。
ルーター(ヤマハ56v)はポート20、21とも空いていますが、動的フイルターが出にかかっていて
はずしてテストをしています。
どうもvsFTPのconfの設定のようです。
もう少しテストしてだめのようでしたらProFTPDに変えます。
ありがとうございました。
解決しました。
いろいろ調べましたら原因は port20 close port21,22 open
FTP-dataが戻らないのが原因のようです。
Port State Service
?20/tcp closed ftp-data
?21/tcp open ftp
?22/tcp open ssh
?80/tcp open http
?113/tcp closed auth
以上がポートスキャンの結果です。
ルーターの防火壁の動的フィルターの設定ミスでした。
お騒がせしました。
やはりvsFTPではアップロードのみの設定はだめでした。
> 解決しました。
何が、解決したのでしょうか? FTPができるようになったということでしょうか?
> いろいろ調べましたら原因は port20 close port21,22 open
> FTP-dataが戻らないのが原因のようです。
>
> Port State Service
> 20/tcp closed ftp-data
> 21/tcp open ftp
> 22/tcp open ssh
> 80/tcp open http
> 113/tcp closed auth
>
> 以上がポートスキャンの結果です。
>
> ルーターの防火壁の動的フィルターの設定ミスでした。
原因は、上記の20番がcloseになっていることではありません。他のところに問題があったはずで、真の原因は別です。20番はルータの設定(ポートフォワーディングやフィルタ)やファイヤウォールの設定が仮にスッポンポンであってもopenにはなりませんし、通常、これらの設定は、LANから外部への通信は全て通過するようになっているはずですから、20番ポートをソースアドレスとするパケットが遮断されるとは思えません。
下記をみて、通信の方向を考えてみてください。
http://www.aconus.com/~oyaji/router/ftp.htm
20番ポートは、クライアントからActiveモードでアクセスがあったとき、FTP-dataのやり取りをするためにサーバ側が使うポート番号(RFC上は、制御コネクションポート(21)-1)です。従って、20番ポートはFTP通信が始まらない限り存在しないポートです。ポートスキャンは、外部から各ポートに対してセッションを張りにきて、その応答があるかどうかでopen/closeを判断しています。つまり、被試験サーバ上でデーモンが動作していて、クライアントからの接続を待ち受けているポートしかopenにはならないので、20番は絶対にFTPではopenにはなりません。
因みに、同一モード(Active/Passive)では、ルータの設定(ポートフォワーディングやフィルタ)やファイヤウォールの設定が原因で、ダウンロードができてアップロードができないということもありません。勘違いしやいのですが、確かにデータそのものの送受信方向は異なりますが、ftp-dataのセッションを張るシーケンスはダウンロードもアップロードも同じ(Activeの場合、サーバから、Passiveの場合はクライアントから)ですから、ルータやファイヤウォールの設定に問題があれば、ダウンロードもアップロードもできません。このあたりは、下記を参考にしてください。
http://www.aconus.com/~oyaji/router/tcp.htm
おやじさんの言うとうりでした。
LAN内でグローバルアドレスで接続できたのでできたものと
思い投稿してしまいました。
昨夜、外部からテストし、接続できませんでした。
最初になんとか受信ができたのが不思議です。
サーバーはNAT環境、クライアントはNATなしのMacOS9とFetchの
組み合わせです。PCらしからぬ旧マックのなせる技かもしれません。
ProFTPDに挑戦してみます。