Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

FTPプロトコルは最も古いプロトコルの1つです(40年以上前のものです)が、単純なファイル転送プロトコルが必要な場合でも広く使用されています。 FTPサーバーはどのバージョンのMicrosoftオペレーティングシステムにもインストールできます。 ftpサービスの最後の大幅な最新化は、Windows 7 / Server 2008 R2で行われました(実際には、サービスコードはほとんどゼロから作成されています)。サービスのセキュリティが大幅に向上し、多くの新機能が登場しました。特に、Windows上のFTPサーバーでは、FTPユーザーの分離を構成できます。 。これにより、単一のFTPサーバー上の独自のフォルダーへの多くのユーザーのアクセスを制限できます。

分離されているため、ユーザーは自分のフォルダでのみ作業でき、FTPディレクトリツリーに上ることはできません(ユーザーの最上位のftpレベルのディレクトリがFTPサーバーのルートとして表示されます)。したがって、FTPサーバー上の他のユーザーのデータへのアクセスを防ぐことができます。 FTPユーザー分離は、さまざまなユーザーに単一のファイルストレージへの個別のアクセスを提供する必要がある場合に、ISP/ホスティングプロバイダーによって広く使用されています。

以前のWindowsバージョンと同様に、Windows Server 2016/2012 R2のFTPサービス(sFTPおよびTFTPと混同しないでください)は、IISサービスに基づいており、IISサービスに緊密に統合されており、単一の管理管理インターフェイスを備えています。

この記事では、Windows Server2016/2012R2にIISベースのFTPサーバーをインストールしてFTPユーザーの分離を構成する方法を紹介します。 (このマニュアルはWindows 10および8.1にも適用されます)。

Windows Server 2016/2012 R2にFTPサーバーの役割をインストールするにはどうすればよいですか?

[FTPサービス]オプションをオンにすると、サーバーマネージャーコンソールを使用してFTPサービスをインストールできます。 およびFTP拡張性 Webサーバー(IIS)->FTPサーバーのセクション 。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

また、単一のPowerShellコマンドでFTPサーバーの役割をインストールできます。
Install-WindowsFeature Web-FTP-Server
Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

FTPサーバー管理コンソールをインストールするには、次のコマンドを実行します。

Install-WindowsFeature -Name "Web-Mgmt-Console"

FTPサイトの作成、FTPユーザー権限の管理

サーバーマネージャーを起動し、IIS管理コンソール(インターネットインフォメーションサービスマネージャー)を開きます。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

新しいFTPサイトを作成します(サイト->FTPサイトの追加 )。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

FTPサイトの名前: MyTestSite

FTPサイトのルートディレクトリ: C:\ inetpub \ ftproot

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

ネットワーク経由で送信されるFTPデータを保護するために、FTP用にSSLを構成することができます(この場合、セッション中にftpユーザーによって送信されるすべてのデータとパスワード/アカウントは暗号化されます)が、デモではこれは必要ありません。他のすべての設定はデフォルトのままです。

PowerShellモジュールWebAdministrationを使用してFTPサイトを管理できます 。たとえば、新しいFTPサイトを作成するには、次のコマンドを実行するだけです。

Import-Module WebAdministration
# Set the FTP site name
$FTPSiteName = 'CORP_FTP'
#FTP folder
$FTPRoot = 'D:\www\FTPRoot'
#FTP port
$FTPPort = 21
New-WebFtpSite -Name $FTPSiteName -PhysicalPath $FTPRoot -Port $FTPPort

新しいFTPサイトを選択し、匿名認証を無効にします FTP認証で セクション。基本認証 有効にする必要があります

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

Windows Server 2016/2012 R2のFTPサービスは、ドメインまたはローカルの2つのアカウントタイプを使用できます。アカウントの種類によって、FTPディレクトリの構造とユーザー分離設定にいくつかの違いがあります。説明を簡単にするために、ローカルのWindowsアカウントを使用します。

いくつかのFTPユーザーを作成します。たとえば、これらは ftp_user1 ftp_user2 およびftp_user3 。また、グループ ftp_usersを作成します これらのユーザーが含まれます。 ローカルユーザーとグループでローカルユーザーを作成できます コンピュータ管理のセクション コンソール

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

コマンドプロンプトから(またはPowerShellを使用して)ローカルユーザーとグループを作成することもできます。ローカルグループを作成します:
net localgroup ftp_users /add
Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

新しいローカルユーザーを作成します:
net user ftp_user1 /add *
Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

グループにユーザーを追加します:
net localgroup ftp_users ftp_user1 /add
Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

同じ方法で他の2人のユーザーを作成します。

ftp_usersグループのディレクトリC:\ inetpub\ftprootに読み取りと書き込みのアクセス許可を割り当てます。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

LocalUserという名前のディレクトリを作成します (名前は同じである必要があります。重要です!!! )フォルダC:\ inetpub\ftprootにあります。次に、フォルダC:\ inetpub \ ftproot \ LocalUserにftp_user1、ftp_user2、ftp_user3という名前の3つのディレクトリを作成します。

アカウントの種類に応じて、次のディレクトリ構造を作成する必要があります(%FtpRoot%\の下にFTPサイトのルートを意味します。この場合はC:\ inetpub \ ftproot \です):

匿名ユーザー ローカルWindowsアカウント ドメインWindowsアカウント 特別なIISマネージャーまたはASP.NETアカウント
アカウントタイプ ホームディレクトリの名前付けの構文
%FtpRoot%\ LocalUser \ Public
%FtpRoot%\ LocalUser \%UserName%
%FtpRoot%\%UserDomain%\%UserName%
%FtpRoot%\ LocalUser \%UserName%

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

IISコンソールに戻り、新しいルールを作成します(AllowRulesを追加FTP承認ルール サイトのセクション。 ftp_usersグループに読み取りと書き込みの権限が必要であることを指定します。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

Windows Server 2016/2012 R2でFTPユーザー分離を構成するにはどうすればよいですか?

FTPユーザー分離の構成に移りましょう。 FTPユーザーの分離は、サーバー全体ではなく、FTPサイトレベルで構成されます。 FTPユーザー分離により、ユーザーごとにftp-homeフォルダーを整理できます。

FTPユーザー分離を開きます FTPサイトの設定で。

このセクションには、いくつかの設定が含まれています。最初の2つは、ユーザーの分離を示唆していません:

  1. FTPルートディレクトリ (ユーザーのFTPセッションはFTPサイトのルートディレクトリで開始されます);
  2. ユーザー名ディレクトリ (ユーザーは、ユーザー名を使用して物理/仮想ディレクトリから開始します。ディレクトリが欠落している場合、セッションはサイトのルートFTPディレクトリで開始されます。)

次の3つのオプションは、ユーザー分離のさまざまなモードです。

  • ユーザー名ディレクトリ(グローバル仮想ディレクトリを無効にする) ユーザーのftpセッションが、ftpユーザーと同じ名前の物理/仮想ディレクトリに分離されていることを示します。ユーザーには自分のディレクトリ(ルートftpディレクトリ)のみが表示され、それを超えて(FTPツリーの上位ディレクトリに)移動することはできません。グローバル仮想ディレクトリはすべて無視されます。
  • ユーザー名の物理ディレクトリ(グローバル仮想ディレクトリを有効にする) ユーザーのftpセッションが、ftpユーザーアカウントの名前と同じ名前の物理ディレクトリに分離されていることを示します。ユーザーはそのディレクトリの上に移動できません。ただし、作成されたすべてのグローバル仮想ディレクトリはユーザーが利用できます。
  • ActiveDirectoryで構成されたFTPホームディレクトリ – FTPユーザーは、Active Directoryアカウントの設定(FTPRootおよびFTPDirプロパティ)で指定されたホームディレクトリ内で分離されます。
重要。 グローバル仮想ディレクトリがアクティブな場合、すべてのユーザーはFTPサイトのルートに設定されているすべての仮想ディレクトリにアクセスできます(適切なNTFSアクセス許可がある場合)。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

必要な分離モードを選択します(FTPユーザーを分離するために2番目のオプションを使用します)。

FTPサイトの設定を変更した場合は、Microsoft FTPサービス(FTPSVC)を再起動することをお勧めします。

FTPサーバーにアクセスするためのWindowsファイアウォールルールの構成

FTPサーバーの役割をインストールすると、ユーザーがFTPにアクセスするために必要なすべてのルールが、Windowsファイアウォールの設定で自動的にアクティブ化されます。

FTPがパッシブFTPモードで正しく機能するには、ユーザーはRPCポート範囲(1025-65535)に接続する必要があります。外部ファイアウォールでこれらすべてのポートを開かないようにするために、FTPデータ送信に使用される動的TCPポートの範囲を制限できます。

  1. FTPファイアウォールサポートを開きます FTPサイト設定およびデータチャネルポート範囲のセクション フィールドは、FTP接続に使用するポート範囲を指定します。例– 50000-50100; Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する
  2. 変更を保存してIISを再起動します(iisreset );
  3. Windowsのコントロールパネルを開き、コントロールパネル\システムとセキュリティ\Windowsファイアウォール\許可されたアプリに移動します;
  4. ファイアウォールを介したアクセスが許可されているアプリケーションのリストに、FTPサーバーのアクセス許可が含まれていることを確認してください 役割。 Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

次に、セキュリティが強化されたWindowsファイアウォールの設定で次のルールが有効になっていることを確認します。

  • FTPサーバー(FTPトラフィックイン)– TCPプロトコル、ポート21;
  • FTPサーバーパッシブ(FTPパッシブトラフィックイン)–ローカルポートアドレス1024-65535(この場合は50000-50100);
  • FTPサーバーセキュア(FTP SSLトラフィックイン)–ポート990(SSLでFTPを使用する場合)
  • FTPサーバー(FTPトラフィックアウト)–ポート20;
  • FTPサーバーセキュア(FTP SSLトラフィックアウト)–ポート989(SSLでFTPを使用する場合)

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

したがって、外部FTPユーザーがサイトに接続できるように、これらのポートをルーター(ゲートウェイ、ファイアウォール)で開く必要があります。

WindowsからのFTPサーバー接続のテスト

Test-NetConnectionコマンドレットを使用して、FTPサーバーのポートの可用性を確認できます。

Test-NetConnection -ComputerName yourftpservername -Port 21

または、 ftpを使用します コマンド:

ftp yourftpservername

FTPクライアントを使用するか、ファイルエクスプローラーから直接FTPサイトに接続してみてください(アドレスバーにftp:// yourservername /を指定してください)。

ユーザー名とパスワードを入力します。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

これで、ユーザーのファイル(ユーザーのFTPサイトのルート)を含むホームディレクトリにアクセスできるようになります。ご覧のとおり、ユーザーセッションは分離されており、ユーザーにはftpサーバー上の自分のファイルのみが表示されます。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

ヒント。 匿名アクセス(すべての匿名ユーザー)を使用する場合、すべてのユーザーが次の資格情報を使用してFTPサーバーに接続できます:匿名 またはゲスト ユーザー名として、メールアドレスをパスワードとして。 FTPサイトに匿名で接続する場合、セッションはLocalUser \ Publicディレクトリに制限されます(明らかに、パブリックディレクトリは事前に作成する必要があります)。

FTPログを使用して、FTPサーバーへのユーザーアクセスに関する情報を表示できます。ログファイルは、デフォルトで c:\ inetpub \ logs \ logfilesに保存されます。 u_exYYMMDD.logのフォルダ ファイル。

FTPサーバーへのアクティブなユーザー接続を表示するには、PowerShellまたは「現在のFTPセッション」を介してIISパフォーマンスカウンターの値を使用できます。 IISコンソールの「」セクション。このコンソールでは、FTPユーザーの名前とIPアドレスを表示し、必要に応じてftpセッションを切断できます。

Windows Server2016/2012R2でユーザーを分離してFTPサーバーを構成する

そこで、Windows Server2016/2012R2に基づくユーザー分離を使用してFTPサイトを構成する方法を確認しました。分離モードでは、ユーザーはローカルまたはドメインのクレデンシャルを使用してFTPで認証され、ユーザー名に対応するルートディレクトリにアクセスします。


  1. Windows Server バックアップを使用して Active Directory サーバー 2016/2012 をバックアップする方法

    この記事では、Windows Server バックアップ アプリケーションを使用して Active Directory Server 2016 または Server 2012 をバックアップする方法を紹介します。この記事を読むと、何か問題が発生した場合にサーバーを復元するために、Windows Server 2016 または Server 2012 でサーバーのフル バックアップを実行およびスケジュールする方法がわかります。 ご存じのとおり、システムの復元機能は Windows Server Edition 2008、2012/2012R2、または 2016 では利用/サポートされていません

  2. Server 2016/2012 で Windows Server バックアップを削除する方法。

    Windows Server バックアップ ユーティリティを使用して Active Directory またはスタンドアロン サーバー 2016 または 2012 をバックアップしていて、複数のバックアップ コピーが原因でバックアップ ディスク (宛先) の容量が不足している場合は、このまま読み進めてください。論文。 Windows Server バックアップ ツールを使用すると、管理者は、障害が発生した場合にサーバーを復元するために、オペレーティング システム、インストールされているアプリケーション、および Active Directory のすべての関連情報を含むすべてのサーバー デー