IIS 7 FTP over SSL (FTPS)

Windows Server 2008 operációs rendszerrel érkezett az IIS7, amelyben többek között végre felfrissítették az eddigi szerény tudásúnak mondható FTP szerver modult is.
Ebben a leírásban bemutatom, hogyan hozhatunk létre IIS7 segítségével FTP szervert, melyben az adatok titkosítva (SSL) utaznak.
Figyelem! Az sFTP és az FTPS nem ugyanazt a technológiát jelenti! Míg az sFTP az SSH (a telnet titkosított megfelelője) fájlátviteli szolgáltatása (semmi köze az FTP szolgáltatáshoz), addig az FTPS egy szabványos FTP szolgáltatás, ahol az adatokat SSL titkosítással titkosítjuk (hasonló elven, mint ahogy a HTTPS működik).

Kétféle képen használhatjuk az FTPS szerverünket: Csak a vezérlő csatornát titkosítjuk (itt utaznak a jelszavak, felhasználónevek, az FTP műveletekkel kapcsolatos parancsok), vagy az adat és vezérlő csatornát is (az adat csatornában utaznak maguk az adatok). Előbbi titkosítást akkor érdemes használni, ha a felhasználónevek, jelszavakat biztonságban akarjuk tudni, azonban az adatokat nem, míg utóbbi esetben mindent titkosítani szeretnénk. Ez azonban nagy sávszélességnél nagyobb CPU terhelést is jelent, igaz, nagyobb biztonságot is.

IIS Kezelő

Először telepítenünk kell az IIS kezelő szolgáltatást. Kattintsunk jobb egérgombbal a Számítógép ikonon, majd válasszuk a Kezelés menüpontot.
A Kiszolgálókezelőben kattintsunk a bal oldali sávban a Szolgáltatásokra, majd jobb oldalt a Szolgáltatás hozzáadása szövegre.

Kiszolgálókezelő
Kiszolgálókezelő

Itt bontsuk ki a Távoli kiszolgáló felügyeleti eszközeit, majd ezen belül a Szerepkör-felügyeleti eszközök, és jelöljük be telepítésre a webkiszolgáló (IIS) eszközeit. Majd figyelmeztet a gép minket, hogy további szolgáltatásokat kell hozzáadni, amiket az IIS kezelő igényel, ezt fogadjuk el. Ezután keressük meg a Windows Folyamataktiválási szolgáltatás közül a Folyamatmodellt.
Szolgáltatások hozzáadása varázsló
Szolgáltatások hozzáadása varázsló

Ezután kattintsunk a Tovább gombra, majd a Telepítés gombra.
Szolgáltatás telepítése folyamatban
Szolgáltatás telepítése folyamatban

Ha sikeres a telepítés zárjuk be a Varázslót, majd menjünk át a Szerepkörökhöz, és itt is kattintsunk a Szerepkör hozzáadására.
A szerepkörök közül a varázslóban válasszuk az Webkiszolgálót, majd a részletes testreszabásnál vegyük ki a pipát a Webkiszolgáló elől, és menjünk be a Kezelőeszközök közé, és pipáljuk be a Kezelési szolgáltatást (majd erősítsük meg, hogy a .NET-et is telepíteni akarjuk)
Szerepkör hozzáadása varázsló
Szerepkör hozzáadása varázsló

Ha kész a varázsló feltelepítette az szerepkört, akkor bezárhatjuk.

FTP7 telepítése

Majd le kell tölteni az FTP7 csomagot a Microsoft oldalairól.
32 bites rendszer esetén ezt töltsük le, míg 64 bites rendszer esetén ezt.
A telepítés folyamán megfelel amit a telepítő varázsló felkínál, így csak menjünk végig rajta.

FTP7 telepítése
FTP7 telepítése

Tanúsítvány létrehozása

 

Első lépésként létre kell hoznunk egy tanúsítványt. Éles környezetben ne sajnáljuk a pénzt egy tanúsítványszolgáltató által kiadott tanúsítványra! Azonban most magunknak hozunk létre egy tanúsítványt, amit magunk írunk alá.
Indítsuk el a Start menü, Felügyeleti eszközök közül a Internet Information Services (IIS) kezelőjét.
Amennyiben először indítjuk el a kezelőt, meg kell adnunk, hogy melyik szervert szeretnénk kezelni. Ez most a localhost lesz (a saját gép). Kattintsunk a bal oldali oldalsávban a Kezdőlapra jobb egérgombbal, majd a Kapcsolódás kiszolgálóhoz opciót.

IIS kezelője: Csatlakozás számítógéphez
IIS kezelője: Csatlakozás kiszolgálóhoz

Kiszolgáló címének írjuk be, hogy localhost majd kattintsunk a Következő gombra. Adjunk valami nevet a kiszolgálónknak, majd kattintsunk a Befejezés gombra. Ekkor megjelenik az oldalsávban a kiszolgálónk.
Kattintsunk kettőt a Kiszolgáló tanusítványok ikonra, majd a jobb oldali Műveletek oldalsávban az Önaláírt tanúsítvány létrehozása lehetőséget válasszuk. Adjunk egy nevet a tanúsítványunknak (pl. FTP), majd kattintsunk az OK gombra.
IIS kezelője: Kiszolgálói tanúsítványok
IIS kezelője: Kiszolgálói tanúsítványok

FTP kiszolgáló létrehozása

Most hozzuk létre az új FTP kiszolgálónkat. Ehhez kattintsunk jobb egérgombbal a Helyekre, majd válasszuk az Add FTP site… opciót.

IIS kezelője: FTP oldal létrehozása
IIS kezelője: FTP oldal létrehozása

Az FTP site name mezőbe írjuk be leendő FTP oldalunk nevét, majd a Physical path részben tallózzuk be, hogy hol legyen az FTP oldal gyökere.
Név és elérési út megadása
Név és elérési út megadása

Az IP Address és Port mezőkben adjuk meg, hogy milyen IP címeken és porton figyeljen az FTP szerver. Ha a All Unassigned opciót válasszuk, akkor minden szabad IP címen fogad kéréseket. Az FTP szolgáltatás alapértelmezett portja a 21, tehát ezt hagyhatjuk így.
Amennyiben virtuális FTP szervereket szeretnénk létrehozni (egy IP cím alatt több FTP szerver, hasonlóan mint ahogy HTTP esetén is lehet egy IP címen sok weboldal) adjuk meg az FTP domain nevét.
Majd az SSL részben válasszuk ki a létrehozott SSL tanúsítványt.
IP cím és SSL beállítások
IP cím és SSL beállítások

A következő lépésben a Authentication részben beállíthatjuk, hogy elfogadunk e névtelen bejelentkezést (Anonymoust ez esetben pipáljuk be), vagy csak jelszó és felhasználónév esetén elérhető a szerver (Basic lehetőség). Akár választhatjuk mindkettőt egyszerre is.
Az Authorization részben hagyjuk most a Not selected lehetőséget.
Hitelesítés és engedélyezés
Hitelesítés és engedélyezés

Látjuk is FTP oldalunkat a Helyek között.
IIS kezelője: Helyek
IIS kezelője: Helyek

Ha rákattintunk a most létrehozott FTP oldalunk nevére, akkor megtekinthetjük, hogy milyen feladatokat végezhetünk itt.
IIS kezelője: Létrehozott FTP oldal kezelése
IIS kezelője: Létrehozott FTP oldal kezelése

Amennyiben FTP szerverünk tűzfal mögött, DMZ-ben (vagy NAT mögött) helyezkedik el (tehát a szerver IP címe nem a publikus, internetes IP címe), úgy ezt meg kell adnunk az IIS-nek. Ehhez kattintsuk az FTP firewall support ikonra, majd itt az Externap IP mezőbe írjuk be a publikus IP címünket.
Publikus IP cím megadása
Publikus IP cím megadása

Majd menjünk vissza az FTP oldalunk kezdőfelületére, és kattintsunk az FTP SSL settings ikonra. Itt pipáljuk be a Use 128 bit… sort, hogy 128 bites SSL titkosítást használhassunk.
Az SSL Policy részben tudjuk állítani a titkosítás használatának feltételét. Az Allow SSL opció választása esetén, ha az FTP kliens nem ismeri az SSL titkosítást, akkor is csatlakozhat (nem titkosított módon), a Require SSL opció használata esetén csak akkor tud kapcsolódni a kliens, ha támogatja a titkosítást. A Custom opcióval testre szabhatjuk, hogy melyik csatornára, milyen módszert alkalmazzon az FTP szerver.
FTP SSL beállítások
FTP SSL beállítások

Felhasználók kezelése

Két módon hozhatunk létre felhasználókat: Windows felhasználókat létrehozzuk, és nekik engedélyezzük az elérést, vagy csak az IIS-en belül hozunk létre felhasználókat.
Előbbi akkor előnyös, ha a szerver egy tartomány (intranet) tagja, ahol más amúgy is kellenek a Windows felhasználók. Utóbbi viszont akkor előnyös, ha csak az FTP hozzáféréséhez szeretnénk engedélyt adni, a Windowshoz nem.
Természetesen a két módszer együtt is használható.

Hitelesítés Windows felhasználókkal

Amennyiben Windowsban (vagy tartományban) már megvannak a felhasználók, akkor csak engedélyeznünk kell nekik az IIS-en keresztüli bejelentkezést.
Ehhez kattintsunk az FTP authorization rules ikonra. Itt vehetünk fel csoportokat, felhasználókat, akiknek engedélyezzük, vagy éppen megtiltjuk az elérést (a tiltó szabály erősebb az engedélyezésnél).
Kattintsunk a középső fehér részen jobb egérgombbal, majd válasszuk az Add new role opciót. Itt a következőket állíthatjuk be:

  • All users: Minden felhasználó hozzáférhet (azok is, akik nincsenek hozzáadva az IIS-ben)
  • All anonymous users: Windows felhasználók
  • Specified roles or users group: A Windowsban létező biztonsági csoportokat adhatunk itt meg
  • Specified users: Felhasználóneveket sorolhatunk fel
  • Read és Write: Olvasás, és írás engedélyezését állíthatjuk be

Ilyen szabályokból többet is felvehetünk, amik felülről lefele értékelődnek ki.

Engedélyező szabály létrehozása
Engedélyező szabály létrehozása

Hitelesítés IIS felhasználókkal

Először kattintsunk kettőt az FTP authentication ikonon, majd itt (amennyiben nem szeretnénk Windows felhasználóknak engedélyezni az elérést) kattintsunk jobb egérgombbal a Basic soron, és válasszuk a Disable opciót.

Authentikáció beállítása
Authentikáció beállítása

Ezután kattintsunk jobb egérgombbal valahol a fehér üres területen, és válasszuk a Costum Providers opciót. A megjelenő ablakban pipáljuk ki az IisManagerAuth opciót.
Egyébb hitelesítési mód hozzáadása
Egyébb hitelesítési mód hozzáadása

Most engedélyezzük az IIS számára, hogy ne csak a Windowsból tudjon hotelesíteni. Ezt globálisan tehetjük meg. Kattintsunk kettőt a bal oldali oldalsávban a szerver nevére (localhost), majd itt a Kezelési szolgáltatás ikonra.
Ezután a megjelenő ablakban az Identitás hitelesítő adatai részben válasszuk ki a Windows és IIS kezelő hitelesítő adatait, majd a jobb oldali sávban kattintsunk az Alkalmaz gombra.
IIS authentikáció engedélyezése
IIS autentikáció engedélyezése

Menjünk vissza, majd válasszuk a szerver kezdőlapon az IIS-kezelő felhasználó opciót. Itt tudjuk az új felhasználókat felvinni.
Felvitelhez kattintunk a jobb oldali oldalsávban a Felhasználó hozzáadása lehetőségre, majd adjuk meg a felhasználónevet, és jelszót.
Új IIS felhasználó létrehozása
Új IIS felhasználó létrehozása

Ha felvittük a felhasználókat, akkor menjünk be az FTP oldalunkhoz, és itt is kattintsunk kettőt az IIS-kezelő engedélyei ikonra. Majd a a jobb oldali oldalsávban a Felhasználó engedélyezése opciót válasszuk. A megjelenő ablakban válasszuk azt, hogy az IIS-kezelőből szeretnénk felhasználókat kijelölni, majd kattintsunk a Kijelölés gombra. Itt jelöljük ki azokat a felhasználókat, akiknek engedélyezni szeretnénk az elérést, majd kattintsunk az OK gombra.
IIS felhasználó kijelölése
IIS felhasználó kijelölése

Nyissunk egy Parancssori ablakot (Start menü, Futtatás: cmd), majd az alábbi parancsokat másoljuk be:

CACLS "%SystemDrive%\Windows\System32\inetsrv\config" /G "HÁLÓZATI SZOLGÁLTATÁS":R /E
CACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /G "HÁLÓZATI SZOLGÁLTATÁS":R /E
CACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /G "HÁLÓZATI SZOLGÁLTATÁS":R /E

Parancssor
Parancssor

Majd adjunk módosítási jogot a Hálózati szolgáltatásnak az FTP oldalunk gyökerére is (nálam ez C:\ftproot, ha más lett beállítva, akkor értelemszerűen módosítsuk az elérési utat)

CACLS "%SystemDrive%\ftproot" /G "HÁLÓZATI SZOLGÁLTATÁS":C /T /E

Csatlakozás a szerverhez

Ha kész vagyunk a konfigurálással, és felvettük a felhasználókat, akkor itt az ideje kipróbálni az FTP szervert.
Csatlakozáshoz olyan klienst keressünk ami támogatla az FTPS-t (esetleg SSL vagy TLS FTP néven hívják), pl. Filezilla. Vagy használhatjuk a Total Commandert is, csak előbb ahhoz le kell töltenünk az OpenSSL fájlokat (Letöltéshez kattintsunk ide), majd kicsomagolni a TC könyvtárába.

Total Commander: Új FTP kapcsolat létrehozása
Total Commander: Új FTP kapcsolat létrehozása

És már használhatjuk is az FTP oldalt.
Bal oldalt az FTP kapcsolat, jobb oldalt az FTP oldal mappája a helyi meghajtón
Bal oldalt az FTP kapcsolat, jobb oldalt az FTP oldal mappája a helyi meghajtón

1 thought on “IIS 7 FTP over SSL (FTPS)

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .