アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも勉強させて頂いております。

現在FTPの危険性について調べているのですが、いまいちピンと来ません。
調べてた結果、私なりに次の様な理由で危険である、と理解したのですが、詳しい方がいらっしゃればご意見いただけますか?


インターネットにつながっているパソコンでは、セキュリティソフトやブラウザ、windows update等の様々なインターネットへ接続が必要なサービスが動作している。

それぞれは複数あるポートと呼ばれる入口をそれぞれ専用で使ってインターネットと接続している。このポートは通常ファイアーウォールで守られているため、外部からこのポート経由でPCへアクセスできないようになっている。(1)

FTPはポート20,21を使ってデータのやりとりを行っている。例えばサーバーにファイルをFTPで転送する場合は、転送の間、自分のPCのポート20,21がファイアーウォール対象外となり、データを転送するが、その間そこを狙われる可能性がある。(2)また、FTPは平文で通信するため、サーバーへ行くまでに経由するPC上でその通信を傍受される可能性がある。(3)


疑問なのが、(1)~(3)です。
(1)について
データを送ったりアクセスを試みるとき、IPアドレスを指定するものだと思っていました。これに加えて、ポートスキャンを利用してアクセスできるポートを調べた上で、ポート何番にアクセスしろ、ということができ、そこからアクセスされる可能性があるのでしょうか?

(2)について
FTPで通信をするときはファイルを送る方、受ける方、どちらもポート20,21を使っているのですか?
また、ファイアーウォールが動作していると、ポートにアクセスしようとしてもはじかれる、という理解でいいですか?ファイヤーウォールは中から出る物は許可するが、外から入る物は送り先を判断して許可するかどうか決めているのですか?FTPが危険というのはデータが経由地点で傍受されるのが危険なのか、それともFTPの際に使われるポート20,21からアクセスされるのが危険なのですか?

(3)について
よくパスワードが抜かれることがある、と言われますが、FTPでは一回の通信毎にデータ転送先のサーバーのFTPについてのパスワードを平文で送っているからパスワードが抜かれる、ということなのですか?SSHでは通信データは暗号化されているから安全である、という理解でよいでしょうか?また、FTPで真に危険なのは、パスワードを抜かれることでその抜いた人がサーバーにそのパスワードを利用してアクセスすること、という理解でいいですか?


質問だらけになってしまって情けないですが、詳しい方いらっしゃったら教えて下さい!
よろしくお願いします!

A 回答 (3件)

>ftpでのアクセスを禁止するというのはポート20,21という宛先をもったパケットを破棄すること、という理解で合っていますか?



このようなイメージで捉えていいと思います。

>例えば、これまでFTPで行っていたことをSFTPで行う場合は、暗号化されて通信を行うため、傍受される可能性が低くなる、そのため、IPアドレスをみて特定のIPアドレスのみアクセスを許可するということをやらなくてもよくなる、という理解で合っていますか?

傍受される可能性が低くなるというよりも、傍受されても内容が暗号化されたわからないのでデータとして意味をなさない、従って傍受されたデータを悪用されるリスクが極めて低くなるという解釈のほうがいいかと思います。

またこの場合でも、IPアドレスによる制限は可能な場合は実施するのがベストです。
FTPサーバソフトに脆弱性がある場合そこを攻撃者に付かれる場合もありますが、信頼される相手のIPアドレスのみに制限出来ればこのリスクもかなり低くなると言えます。
不特定の公開するサーバでは制限って難しいですけどね。

脆弱性に対して素早く対応するのはサーバを運営する側の大前提ですけどね。(パッチをあてるとかですね)
    • good
    • 0
この回答へのお礼

maesen様

たびたび回答していただき、ありがとうございました!
理解がかなり深まりました。何度も質問に回答していただき感謝してもしきれません。

またお世話になることがあるかもしれませんが、そのときはよろしくお願いします!

本当にありがとうございました。

お礼日時:2011/12/16 18:51

>そのポートからアクセスされることよりも、その通信を傍受されることが危険なんですね。



FTPに限らずTCP/IPにてサービスを公開するためには、必ずポートを空ける必要があるということは理解されていると思います。

従って、そのポートに対するアクセスを禁止することはサービスを公開する以上出来ません。
ただ、無制限にアクセスを許すのではなく要件に合わせて制限をしていくことは重要で、これがファイアウォールの役目になります。

例えば、
・通信する相手が固定されているのであれば、必要なIPアドレスのみFTPで使用するポートへのアクセスを許可する。
・日本国内からのみに制限したい場合は、日本国内に割り当てられたIPアドレスのみ許可する。(あまり実施しているのを見ませんが)

不特定の場合は制限のしようがありませんけどね。

また、違ったアプローチとして
FTPは制御ポート(ポート21)から通信が始まるので、データポートはこの通信を始めたIPアドレスに対応してアクセス出来るようにするという機能もファイアウォールは付いている場合もあります。
これで関係ないIPアドレスからFTPのデータポートへのアクセスを抑える効果があります。

簡単な例ですが、このようにポートへのアクセスはリスクをより低くするための手法もありますし、サービスを公開する以上必要不可欠なこともありますが、盗聴に関してはプロトコルの仕様に暗号化などが無い以上対策が難しいのでリスクとしては高いと考えます。

>よければパスワードが漏洩した場合のリスク、というのが他にどのようなものがあるのか教えて頂けたら幸いです。

漏えいしたユーザー、パスワードはそのFTPサーバのみで使用しているのでない可能性があるということです。
ご自身のことを考えて頂いて、同じユーザー、パスワードで認証しているものが2つや3つあるのでないですか。
案外全てのサービスで異なるユーザー、パスワードを使用している人は少ないんじゃないかな。

このようなリスクを想定するとそのサーバだけに留まらず被害が拡大する可能性があるということがわかるのではないかと思います。
    • good
    • 0
この回答へのお礼

maesen様

再度回答いただき、ありがとうございます!

>・通信する相手が固定されているのであれば、必要なIPアドレスのみFTPで使用するポートへのアクセスを許可する。

これを見た時、FTPでHPを更新するときにだけサーバーにアクセスできるようにする、という更新方法を過去に聞いたことを思い出しました。
これもIPアドレスを使ってアクセス許可していいPCからのアクセスなのかを判断していると思うのですが、疑問なのはFTPでファイルの更新をしているときはデータのやり取りをしているので傍受する意味はあると思うのですが、何もしていないときは何もしていないのだから傍受する情報が無いので、アクセスを禁止する必要はないのではないかと思いました。

アクセスというのは、ターミナルでのftpコマンドを実行することであり、もしパスワードが抜かれていたらそれをつかってログインされる可能性があり危険である。ftpでのアクセスを禁止するというのはポート20,21という宛先をもったパケットを破棄すること、という理解で合っていますか?

また、しつこいようですがもう一点だけ質問させて下さい!
例えば、これまでFTPで行っていたことをSFTPで行う場合は、暗号化されて通信を行うため、傍受される可能性が低くなる、そのため、IPアドレスをみて特定のIPアドレスのみアクセスを許可するということをやらなくてもよくなる、という理解で合っていますか?

パスワードが漏洩した時のリスクについては納得しました。私自身もずばりその通りでした。


回答頂くたびに質問してしまい申し訳有りません。もう少しできちんと理解できそうです!
お時間あるときにご回答いただければ幸いです。

よろしくお願いします!

お礼日時:2011/12/16 16:28

>(1)について



ネットワーク層(IP)でIPアドレスを指定し、データリンク層(TCP)でポート番号を指定することになります。
それらについてはOSI階層モデルやTCP/IPの階層モデルについて理解を深める必要があると思います。
ネットワークの基礎を解説しているWebサイトや書籍を見て各プロトコルがどのようなヘッダ情報によって制御されているかを見れば理解し易いと思います。

また、疑問のポートスキャンに以降のくだりについてはFTPに限らずTCP/IPを利用したプロトコルに共通なものです。

>(2)について

FTPの通信方式をもう少し理解されたほうがいいと思います。
FTPを解説しているWebサイトも多くありますので、詳しくはそれらを参照したほうがよろしいと思いますが、

ポート21はコマンド及びステータスのやり取りをするポートなので純粋なデータ転送には使用しません。
xxxxファイルをくれとか、ログイン情報を送るなどのコマンドのやり取りをするためのポートです。

ポート20はデータ転送に使用しますが、FTPのデータ転送はアクティブモードとパッシブモードがありデータ転送時の通信の方式が異なりポート20を使用しない場合もあります。
これらはFTPを解説しているWebサイトなりを見るほうが理解し易いしょう。

FTPはファイル転送という性格上、重要なデータである場合もあると思いますが、テータ転送は暗号化されていないのでデータ転送の通信が盗聴された場合ファイルのコピーが簡単に取得できることがリスクとしてあるということだと思います。

>(3)について

概ねそのような理解で良いと思います。
ただ、パスワードが漏えいした場合のリスクはそのサーバへのアクセスに限定されるものではないと考えたほうがいいでしょう。
    • good
    • 0
この回答へのお礼

maesen様

ご回答ありがとうございます!
(1)について
OSI階層モデルやTCP/IPの階層モデルなどがここに関係してくるんですね。ここを確認してみます。
送信先ポート番号はパケットに入っていたんですね。ここを見落としていました。

(2)について
そのポートからアクセスされることよりも、その通信を傍受されることが危険なんですね。

(3)について
よければパスワードが漏洩した場合のリスク、というのが他にどのようなものがあるのか教えて頂けたら幸いです。

以上、よろしくお願いします。

お礼日時:2011/12/16 10:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!