FTP przez SSL (FTPS) w systemie Windows Server 2012 R2

Jedna z głównych wad protokołu FTP do przesyłania plików - brak bezpieczeństwa i szyfrowania przesyłanych danych. Nazwa użytkownika i hasło podczas łączenia się z serwerem FTP są również przesyłane zwykłym tekstem. Do transmisji danych (szczególnie za pośrednictwem publicznych kanałów komunikacji) zaleca się stosowanie bezpieczniejszych protokołów, takich jak FTPS lub SFTP. Zastanów się, jak skonfigurować Serwer FTPS oparty na systemie Windows Server 2012 R2.

Protokół FTPS (FTP przez SSL / TLS, FTP + SSL) - jest rozszerzeniem standardowego protokołu FTP, ale połączenie między klientem a serwerem jest zabezpieczone (szyfrowane) przy użyciu protokołów SSL / TLS. Zwykle do połączenia wykorzystywany jest ten sam port 21..

Uwaga. Nie należy mylić FTPS z SFTP (Secure FTP lub SSH FTP). Ten ostatni jest rozszerzeniem protokołu SSH, który nie ma nic wspólnego z FTP.

Treść

  • Instalowanie roli serwera FTP
  • Generowanie i instalacja certyfikatu SSL IIS
  • Tworzymy witrynę FTP z obsługą SSL
  • FTPS i zapory ogniowe
  • Testowanie połączenia FTP przez połączenie SSL

Obsługa FTP przez SSL została wprowadzona w IIS 7.0 (Windows Server 2008). Aby serwer FTPS działał, IIS będzie musiał zainstalować certyfikat SSL na serwerze internetowym IIS.

Instalowanie roli serwera FTP

Zainstalowanie roli serwera FTP w systemie Windows Server 2012 nie powoduje problemów i zostało opisane więcej niż jeden raz.

Generowanie i instalacja certyfikatu SSL IIS

Następnie otwórz konsolę Menedżer usług IIS, wybierz serwer i przejdź do sekcji Certyfikaty serwera.

Ta sekcja umożliwia importowanie certyfikatu, tworzenie żądania certyfikatu, odnawianie certyfikatu lub tworzenie certyfikatu z podpisem własnym. W celach demonstracyjnych skupimy się na certyfikacie z podpisem własnym (można go również utworzyć za pomocą polecenia cmdlet New-SelfSifgnedCertificate). Podczas uzyskiwania dostępu do usługi pojawia się ostrzeżenie, że certyfikat został wydany przez niezaufany urząd certyfikacji. Aby wyłączyć to ostrzeżenie dla tego certyfikatu, można go dodać do zaufanych przez GPO.

Wybierz Utwórz certyfikat z podpisem własnym.

W kreatorze tworzenia certyfikatu podaj jego nazwę i wybierz typ hostingu certyfikatu.

Samopodpisany certyfikat powinien pojawić się na liście dostępnych certyfikatów. Ważność certyfikatu - 1 rok.

Tworzymy witrynę FTP z obsługą SSL

Następnie musisz utworzyć witrynę FTP. W konsoli IIS kliknij RMB w węźle Witryny i utwórz nową witrynę FTP (Dodaj FTP).

Podaj nazwę i ścieżkę do katalogu głównego witryny FTP (mamy domyślny katalog C: \ inetpub \ ftproot).

W następnym kroku kreatora w sekcji Certyfikaty SSL wybierz certyfikat, który utworzyliśmy.

Pozostaje wybrać rodzaj uwierzytelnienia i prawa dostępu użytkownika.

Wskazówka. Jeśli każdy użytkownik musi mieć własny katalog główny FTP, możesz skorzystać z instrukcji tworzenia serwera FTP z izolacją użytkownika.

To kończy kreatora. Domyślnie wymagana jest ochrona SSL i służy ona do szyfrowania zarówno poleceń zarządzania, jak i przesyłanych danych..

FTPS i zapory ogniowe

Podczas korzystania z protokołu FTP używane są 2 różne połączenia TCP, polecenia są przesyłane jeden po drugim, dane przez inny. Każdy kanał danych otwiera własny port TCP, którego liczbę wybiera serwer lub klient. Większość zapór ogniowych pozwala kontrolować ruch FTP i, analizując go, automatycznie otwiera niezbędne porty. Podczas korzystania z bezpiecznego FTPS przesyłane dane są zamykane i nie można ich analizować; w związku z tym zapora ogniowa nie może określić, który port należy otworzyć do przesyłania danych.

Aby nie otwierać całego zakresu portów TCP 1024-65535 poza serwerem FTPS, można zmusić serwer FTP do korzystania z zakresu używanych adresów. Zakres jest określony w ustawieniach witryny IIS w sekcji FTP Zapora ogniowa Wsparcie.

Po zmianie zakresu portów musisz ponownie uruchomić usługę (iisreset).

We wbudowanej zaporze systemu Windows reguły będą odpowiadać za ruch przychodzący:

  • Serwer FTP (FTP Traffic-In)
  • Serwer FTP pasywny (FTP Passive Traffic-In)
  • FTP Server Secure (FTP SSL Traffic-In)

W związku z tym na zewnętrznej zaporze ogniowej będziesz musiał otworzyć porty 21, 990 i 50000-50100 (zakres wybranych przez nas portów).

Testowanie połączenia FTP przez połączenie SSL

Aby przetestować połączenie przez FTPS, użyj klienta Filezilla.

  1. Uruchom Filezilla (lub dowolny inny klient obsługujący FTPS).
  2. Kliknij Plik > Witryna Kierownik, i utwórz nowe połączenie (Nowy Witryna).
  3. Wpisz adres serwera FTPS (Host), typ protokołu (Wymagaj wyraźne FTP ponad TLS), nazwa użytkownika (pole użytkownika) i wymóg podania hasła do autoryzacji (Zapytaj dla hasło)
  4. Naciśnij przycisk Połącz i wprowadź hasło użytkownika.
  5. Powinno pojawić się ostrzeżenie o niezaufanym certyfikacie (w przypadku korzystania z certyfikatu z podpisem własnym). Potwierdź połączenie.
  6. Połączenie powinno zostać ustanowione, a wiersze powinny pojawić się w dzienniku:

    Status: Inicjowanie TLS ...
    Status: Weryfikacja certyfikatu ...
    Status: nawiązano połączenie TLS.

  7. Oznacza to, że ustanowiono bezpieczne połączenie i można przesyłać pliki za pomocą FTPS