- ベストアンサー
FTPの危険性について
- FTPの危険性について調査しています。インターネットへの接続とセキュリティに関連して、FTPが危険である理由をまとめました。
- FTPはポート20,21を使用してデータの転送を行います。この間、自分のPCのポートがファイアーウォールの対象外になり、攻撃者の標的になる可能性があります。また、FTPは平文で通信するため、通信経路上でのデータの傍受が危険です。
- 質問文章では、以下の点について疑問があります。1) インターネットへのアクセス方法とIPアドレスについての説明、2) FTPの通信で使用されるポートに関する詳細な説明、3) FTPでのパスワードの送信方法と安全性に関する説明です。詳しい方に教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ftpでのアクセスを禁止するというのはポート20,21という宛先をもったパケットを破棄すること、という理解で合っていますか? このようなイメージで捉えていいと思います。 >例えば、これまでFTPで行っていたことをSFTPで行う場合は、暗号化されて通信を行うため、傍受される可能性が低くなる、そのため、IPアドレスをみて特定のIPアドレスのみアクセスを許可するということをやらなくてもよくなる、という理解で合っていますか? 傍受される可能性が低くなるというよりも、傍受されても内容が暗号化されたわからないのでデータとして意味をなさない、従って傍受されたデータを悪用されるリスクが極めて低くなるという解釈のほうがいいかと思います。 またこの場合でも、IPアドレスによる制限は可能な場合は実施するのがベストです。 FTPサーバソフトに脆弱性がある場合そこを攻撃者に付かれる場合もありますが、信頼される相手のIPアドレスのみに制限出来ればこのリスクもかなり低くなると言えます。 不特定の公開するサーバでは制限って難しいですけどね。 脆弱性に対して素早く対応するのはサーバを運営する側の大前提ですけどね。(パッチをあてるとかですね)
その他の回答 (2)
- maesen
- ベストアンサー率81% (646/790)
>そのポートからアクセスされることよりも、その通信を傍受されることが危険なんですね。 FTPに限らずTCP/IPにてサービスを公開するためには、必ずポートを空ける必要があるということは理解されていると思います。 従って、そのポートに対するアクセスを禁止することはサービスを公開する以上出来ません。 ただ、無制限にアクセスを許すのではなく要件に合わせて制限をしていくことは重要で、これがファイアウォールの役目になります。 例えば、 ・通信する相手が固定されているのであれば、必要なIPアドレスのみFTPで使用するポートへのアクセスを許可する。 ・日本国内からのみに制限したい場合は、日本国内に割り当てられたIPアドレスのみ許可する。(あまり実施しているのを見ませんが) 不特定の場合は制限のしようがありませんけどね。 また、違ったアプローチとして FTPは制御ポート(ポート21)から通信が始まるので、データポートはこの通信を始めたIPアドレスに対応してアクセス出来るようにするという機能もファイアウォールは付いている場合もあります。 これで関係ないIPアドレスからFTPのデータポートへのアクセスを抑える効果があります。 簡単な例ですが、このようにポートへのアクセスはリスクをより低くするための手法もありますし、サービスを公開する以上必要不可欠なこともありますが、盗聴に関してはプロトコルの仕様に暗号化などが無い以上対策が難しいのでリスクとしては高いと考えます。 >よければパスワードが漏洩した場合のリスク、というのが他にどのようなものがあるのか教えて頂けたら幸いです。 漏えいしたユーザー、パスワードはそのFTPサーバのみで使用しているのでない可能性があるということです。 ご自身のことを考えて頂いて、同じユーザー、パスワードで認証しているものが2つや3つあるのでないですか。 案外全てのサービスで異なるユーザー、パスワードを使用している人は少ないんじゃないかな。 このようなリスクを想定するとそのサーバだけに留まらず被害が拡大する可能性があるということがわかるのではないかと思います。
お礼
maesen様 再度回答いただき、ありがとうございます! >・通信する相手が固定されているのであれば、必要なIPアドレスのみFTPで使用するポートへのアクセスを許可する。 これを見た時、FTPでHPを更新するときにだけサーバーにアクセスできるようにする、という更新方法を過去に聞いたことを思い出しました。 これもIPアドレスを使ってアクセス許可していいPCからのアクセスなのかを判断していると思うのですが、疑問なのはFTPでファイルの更新をしているときはデータのやり取りをしているので傍受する意味はあると思うのですが、何もしていないときは何もしていないのだから傍受する情報が無いので、アクセスを禁止する必要はないのではないかと思いました。 アクセスというのは、ターミナルでのftpコマンドを実行することであり、もしパスワードが抜かれていたらそれをつかってログインされる可能性があり危険である。ftpでのアクセスを禁止するというのはポート20,21という宛先をもったパケットを破棄すること、という理解で合っていますか? また、しつこいようですがもう一点だけ質問させて下さい! 例えば、これまでFTPで行っていたことをSFTPで行う場合は、暗号化されて通信を行うため、傍受される可能性が低くなる、そのため、IPアドレスをみて特定のIPアドレスのみアクセスを許可するということをやらなくてもよくなる、という理解で合っていますか? パスワードが漏洩した時のリスクについては納得しました。私自身もずばりその通りでした。 回答頂くたびに質問してしまい申し訳有りません。もう少しできちんと理解できそうです! お時間あるときにご回答いただければ幸いです。 よろしくお願いします!
- maesen
- ベストアンサー率81% (646/790)
>(1)について ネットワーク層(IP)でIPアドレスを指定し、データリンク層(TCP)でポート番号を指定することになります。 それらについてはOSI階層モデルやTCP/IPの階層モデルについて理解を深める必要があると思います。 ネットワークの基礎を解説しているWebサイトや書籍を見て各プロトコルがどのようなヘッダ情報によって制御されているかを見れば理解し易いと思います。 また、疑問のポートスキャンに以降のくだりについてはFTPに限らずTCP/IPを利用したプロトコルに共通なものです。 >(2)について FTPの通信方式をもう少し理解されたほうがいいと思います。 FTPを解説しているWebサイトも多くありますので、詳しくはそれらを参照したほうがよろしいと思いますが、 ポート21はコマンド及びステータスのやり取りをするポートなので純粋なデータ転送には使用しません。 xxxxファイルをくれとか、ログイン情報を送るなどのコマンドのやり取りをするためのポートです。 ポート20はデータ転送に使用しますが、FTPのデータ転送はアクティブモードとパッシブモードがありデータ転送時の通信の方式が異なりポート20を使用しない場合もあります。 これらはFTPを解説しているWebサイトなりを見るほうが理解し易いしょう。 FTPはファイル転送という性格上、重要なデータである場合もあると思いますが、テータ転送は暗号化されていないのでデータ転送の通信が盗聴された場合ファイルのコピーが簡単に取得できることがリスクとしてあるということだと思います。 >(3)について 概ねそのような理解で良いと思います。 ただ、パスワードが漏えいした場合のリスクはそのサーバへのアクセスに限定されるものではないと考えたほうがいいでしょう。
お礼
maesen様 ご回答ありがとうございます! (1)について OSI階層モデルやTCP/IPの階層モデルなどがここに関係してくるんですね。ここを確認してみます。 送信先ポート番号はパケットに入っていたんですね。ここを見落としていました。 (2)について そのポートからアクセスされることよりも、その通信を傍受されることが危険なんですね。 (3)について よければパスワードが漏洩した場合のリスク、というのが他にどのようなものがあるのか教えて頂けたら幸いです。 以上、よろしくお願いします。
お礼
maesen様 たびたび回答していただき、ありがとうございました! 理解がかなり深まりました。何度も質問に回答していただき感謝してもしきれません。 またお世話になることがあるかもしれませんが、そのときはよろしくお願いします! 本当にありがとうございました。