IIS を使用した Windows への安全な FTP サーバーのインストール
Microsoft ファイル転送プロトコル (FTP)このサービスには、複数のユーザーが他のユーザーのディレクトリにアクセスすることなく自分のディレクトリにアクセスできるようにすることで、Web 作成者が以前よりもコンテンツを公開できるようにする機能が組み込まれています。これにより、Web 管理者にはより多くのセキュリティと展開のオプションが提供されます。
これらの機能の 1 つは次のように知られています。Secure Sockets Layer (SSL) または FTPS 上の FTP。 FTPS を使用すると、FTP クライアントとサーバーの間でセッションを暗号化できます。これは、一般的に使用されているファイル転送プロトコル (FTP) の拡張機能で、以前は Secure Sockets Layer (SSL) として知られていたトランスポート層セキュリティ (TLS) のサポートを追加します。 FTPS を、SSH 接続を介して FTP をトンネリングする手法である FTP over SSH と混同しないでください。または、SSH ファイル転送プロトコル (SFTP)、セキュア シェル (SSH) プロトコルの安全なファイル転送サブシステムですが、IIS ではサポートされていません。
この記事では、IIS を使用して Windows に FTPS (Secure FTP) サーバーをインストールするプロセスについて説明します。この記事の手順を完了するために必要な手順は次のとおりです。
- IIS および FTP サーバー機能をインストールします。
- SSL証明書を作成します。
- 外部ファイアウォール/NAT の背後にあるサーバーを操作します。
- Windows で新しい FTP ユーザーを作成します。
- IIS で新しい FTP サイトを作成します。
- IIS で証明書を TLS/SSL にバインドします。
- FTP 認証と認可を構成します。
- 新しい FTP サーバーをテストします。
IIS および FTP サーバー機能のインストール
IIS はほとんどの Windows サーバーにデフォルトでインストールされますが、FTP サーバー機能は通常デフォルトで無効になっています。したがって、最初のステップは FTP サーバー機能を有効にすることです。 Windows Server 2022、Windows Server 2019、Windows Server 2016、または Windows Server 2012 で FTP サーバー機能を有効にするには、次の手順に従います。
- Windows では、サーバー マネージャーはダッシュボードに移動し、[管理] >> [役割と機能の追加] を実行します。
- 役割と機能の追加ウィザードで: [インストール タイプ] ステップに進み、役割ベースまたは機能ベースのインストールを確認します。
- 「サーバーの役割」ステップに進み、Web サーバー (IIS) の役割を確認します。以前に IIS を Web サーバーとしてインストールしていた場合は、すでにチェックされていることに注意してください。 IIS 管理コンソール ツールのインストールを求めるプロンプトが表示されたら、確認します。
- 「Web サーバーの役割 (IIS) >> 役割サービス」ステップに進み、FTP サーバーの役割サービスを確認します。必要ない場合は、Web サーバー役割サービスのチェックを外します。
- 「次へ」をクリックしてインストールを確認し、インストールに進み、インストールが完了するまで待ちます。
FTPSサーバーのTLS/SSL証明書の作成
FTP サーバーには、クライアントとサーバーの間に安全な接続を確立するために TLS/SSL 証明書が必要です。証明書には、サーバーの ID に関する情報と、安全なチャネルを確立するために使用される暗号化技術が含まれています。これにより、エンドユーザーはリモート コンピュータの ID を簡単に確認できるようになります。ユースケースまたはシナリオに応じて、TLS/SSL 証明書は自己署名、ドメイン署名、サードパーティ署名のいずれかになります。
- 自己署名証明書は内部 Web サイトで使用されますが、その場合、FTPS サーバーのユーザーは常にセキュリティ警告を受け取ります。これは、認証局 (CA) が ID を作成しない限り、その ID が自分のものであることを証明する方法がないためです。
- ドメイン証明書はドメイン内で使用され、組織の認証局によって署名されます。内部ユーザーにはセキュリティ警告メッセージが表示されませんが、ドメイン外のユーザーにはセキュリティ警告メッセージが表示されます。
- サードパーティ署名証明書は認証局 (CA) によって裏付けられているため、運用サーバーで使用されます。 CA 署名付き証明書は、サーバーが本人であることを FTP クライアントに保証します。
IIS を使用すると、自己署名証明書とドメイン証明書を作成できます。を作成するには 自己署名証明書、 以下の手順に従います。
- IIS マネージャーで、「IIS >> サーバー証明書」を開きます。
- IIS マネージャーの右側にある [アクション] メニューで、[自己署名証明書の作成] オプションを選択します。
- 証明書名 (例: 「My FTP Certificate」) を指定し、「OK」をクリックして送信します。
- を作成するには ドメイン証明書、 以下の手順に従います。
- 「サーバー証明書」に移動し、「ドメイン証明書の作成」を選択します。
証明書署名要求 (CSR) を登録および作成するときに、識別名 (DN) 情報を提供する必要があります。
- 「共通名」フィールドには、コンピュータまたは Web サーバーの完全修飾ドメイン名 (FQDN) を使用します。
- [組織] には、正式な会社名を使用します。
- 組織単位 (OU) では、部門または領域 (Active Directory ドメインの場合はオプション) を使用します。
- ドメイン内のオンライン CA を指定します。オンライン証明機関がオンラインにある場合は、利用可能な「選択」オプションが表示されます。 「選択」オプションが使用できない場合は、CertificateAuhtorityNameNameServerName などの適切な名前を使用して DA を指定できます。
外部ファイアウォール/NAT の背後にあるサーバーの操作
サーバーが外部ファイアウォール/NAT の背後にある場合は、パッシブ モード接続を許可するために、FTP サーバーにその外部 IP アドレスを伝える必要があります。このプロセスを完了するには、次の手順に従ってください。
- IIS マネージャーで、[FTP] >> [FTP ファイアウォール サポート] を開きます。
- サーバーの外部 IP アドレスを指定します。
Microsoft Azure Windows サーバーの場合は、仮想マシン ページの [パブリック IP アドレス] セクションに外部 IP アドレスが表示されます。
外部ファイアウォールの背後で作業している場合は、FTP ポート 21 と、場合によっては暗黙的な TLS/SSL FTP ポート 990 を開くだけでなく、データ接続用のポートも開く必要があります。デフォルトのポート範囲全体を開く必要はないでしょう。 1024-65535。このような場合は、ファイアウォール上で開かれている範囲のみを使用するように FTP サーバーに指示する必要があります。そのためには、[データ チャネル ポート範囲] ボックスを使用します。この範囲を変更するたびに、FTP サービスを再起動する必要があります。
- 「アクションを適用」をクリックして設定を送信します。
一部の外部ファイアウォールは、FTP 制御接続を監視し、必要に応じてデータ接続ポートを自動的に開閉できます。したがって、使用していないときでも、ポート範囲全体を常に開いておく必要はありません。制御接続は暗号化されており、ファイアウォールは監視できないため、これはセキュア FTPS では機能しません。
Windows マシンでは、IIS FTP サーバーがインストールされると、内部 Windows ファイアウォールがポート 21、990、および 1024 ~ 65535 のルールで自動的に構成されます。 Windows の一部のバージョンでは、最初はルールが有効になっていません。ルールを有効化または変更するには、次の手順に従います。
- [コントロール パネル] >> [システムとセキュリティ] >> [Windows Defender ファイアウォール] >> [詳細設定] >> [受信ルール] に移動し、3 つの「FTP サーバー」ルールを見つけます。
- ルールが有効になっていない場合は、「アクション」>>「ルールを有効にする」をクリックします。
Windows での新しい FTP ユーザーの作成
このセクションでは、適切な権限を持つ FTPS サーバーに接続するための新しいユーザーを作成する方法を説明します。実行する手順は次のとおりです。
- Windows サーバーでローカル ユーザーとグループを開きます。 [サーバー マネージャー] >> [ツール] >> [コンピューターの管理] に移動します。 [システム ツール >>] を展開し、[ローカル ユーザーとグループ] を開きます。
- または、Win+R ショートカットを使用して「ファイル名を指定して実行」を開き、「lusrmgr.msc」と入力することもできます。
- 「アクション」に移動し、「新規ユーザー」をクリックします。
- 「新規ユーザー」ウィンドウで、ユーザーの資格情報を入力します。
- 「作成」をクリックします。
ここで、新しいユーザーに FTP ルート フォルダーへのアクセス許可を付与する必要があります。
- コンテンツを保存するための IIS のデフォルトのフォルダーは「inetpub」と呼ばれます。 C:inetpub に移動し、「ftproot」フォルダーを見つけます。
- それを右クリックして「プロパティ」を開きます。
- [セキュリティ] タブ >> に移動し、[編集] をクリックして、以前に作成したユーザーを見つけて権限を設定します。たとえば、FTP ルート フォルダー リソースへのユーザー アクセスを制限または許可できます。
適切な権限を持つユーザーを作成したので、次は、適切な権限を持つユーザーのみが開くことができる FTP サイトを作成する必要があります。
IIS での新しい FTP サイトの作成
FTP サイトは、LAN の外部、つまりインターネット上のどこからでもアクセスできるサーバーです。 「接続」ペインで、ツリー内の「サイト」ノードをクリックします。
- IIS マネージャーを開き、[接続] ペインでホーム サーバーに移動し、ツリー内の [サイト] ノードをクリックします。
- FTPサイトを追加します。ツリー内の「サイト」ノードを右クリックして「FTP サイトの追加」をクリックするか、「アクション」ペインで「FTP サイトの追加」をクリックします。
- [FTP サイトの追加] ウィザードが表示されたら、FTP サイトの情報 (例: 「My New FTP Site」) とコンテンツ ディレクトリの物理パス (例: %SystemDrive%inetpubftproot) を FTP サイト名ボックスに入力します。ここで選択したパスが何であれ、アクセスを許可または制限するための適切な権限があることを確認してください。
- 「次へ」をクリックします
IIS での証明書の TLS/SSL へのバインド
ウィザードの次のページでは、証明書を IIS の TLS/SSL にバインドしようとします。 FTP サイトの作成中または作成後に、TLS/SSL 証明書をバインドできます。プロセスを完了するには、以下の手順に従ってください。
- [IP アドレス] ドロップダウンから FTP サイトの IP アドレスを選択するか、デフォルトの選択である [すべて未割り当て] を受け入れることを選択します。
- [ポート] ボックスに FTP サイトの TCP/IP ポートを入力します。このウォークスルーでは、デフォルトのポート 21 を受け入れることを選択します。FTPS は、明示的な FTPS 制御接続にポート 21 を使用し、暗黙的な FTPS 制御接続にポート 990 を使用します。
- 必要に応じて、「FTP サイトを自動的に開始する」にチェックを入れることもできます。このオプションは、サーバーがダウンした場合に役立ちます。サーバーがオンラインに戻った後、IIS は FTPS サイトを自動的に開始します。
- このウォークスルーではホスト名を使用しないため、[仮想ホスト] ボックスが空白であることを確認してください。
- [証明書] ドロップダウンが TLS/SSL 証明書に設定されていることを確認します。これを行うには、自己署名証明書、ドメイン証明書を選択するか、他の方法で作成された証明書を参照します。
- ことを確認してください。 SSLを許可する オプションが選択されています。
- 「次へ」をクリックします。
- もう一度「次へ」をクリックします。
FTP 認証と認可を構成する
ウィザードの次のページでは、FTPS サーバーに接続するユーザーと方法を定義できます。
SSL 証明書の種類に応じて、匿名 (暗号化が有効) または基本 (暗号化なし) を選択できます。
- このウォークスルーでは、認証設定として [基本] を選択します。
認証設定の場合:
- [アクセスを許可] ドロップダウンから [特定のユーザー] を選択します。
- ユーザー名に「administrator」と入力します。
- [アクセス許可] オプションで [読み取り] と [書き込み] を選択します。これらの項目を完了したら、「完了」をクリックします。
新しい FTP サーバーをテストする
上記の手順が完了したら、最後の手順として、FTPS サーバーが適切に動作していることを確認します。ローカル ホストからテストを開始し、続いてサードパーティ クライアントを開始できます。
- ローカルホストからテストするには、サーバー上の任意の Web ブラウザに移動し、「FTP://localhost」と入力するだけです。
サードパーティベースのテストの場合、 Solarwind Serv-U マネージド ファイル転送サーバー は素晴らしいツールです。 Serv-U マネージド ファイル転送サーバーは、安全なファイル転送のための信頼できる FTP サーバー ソフトウェアです。これにより、組織内外のファイル転送のセキュリティと制御が強化されます。