WebZdarma.cz
FTP - Vytvoření ftp serveru na operačních systémech windows - likvidův web - Vítejte!

FTP - Vytvoření ftp serveru na operačních systémech windows

V minulém díle seriálu jsme si řekli něco o tom jak pracuje protokol FTP, dále jsme se zmínili o jeho bezpečnostních problémech a také jsme se podívali na port forwarding. Dnes si ukážeme jak rozběhat FTP server na Os Windows, v příštím díle se zaměříme na linux.

Pro Windows existuje spousty FTP serverů ať už placených nebo freeware, většinou zvládají všechny základní funkce, které budeme potřebovat, já jsem zvolil FileZilla_Server-0_9_24.

Aplikace je šířená jako Open source GPL, pracují s ní všechny známé screen readery, podporuje SSL zabezpečenní, má jednoduchý IP filtr, Autoban ATD…

Instalace

Aplikaci lze stáhnout z http://filezilla-project.orggg, aktuální verze je 0.9.25 Instalaci zahájíme spuštěním FileZilla_Server-0_9_24.exe.

Potvrdíme licenční ujednání GPL na tlačítku Agree

Nyní nám instalátor nabízí několik možností instalace.

*standart - Nainstaluje se jak služba FTP serveru tak administrativní rozhraní filezilla interface a dokumentace

*full Nainstaluje se vše co v standart, přibývají jen zdrojové kódy - sources (c++)

*service only - Nainstaluje se jen služba FTP serveru,

*interface only - Nainstaluje se jen administrativní rozhraní serveru - filezilla interface

*custom - podrobnější nastavení co a jak se bude instalovat

Já zvolil *full - tedy kompletní instalaci.
Pokračujeme na tlačítku Next.

Dalším krokem instalace je výběr cílového adresáře, defaultně je C:\Program Files\FileZillaServer
Pokračujeme na tlačítku Next.

Následuje startup settings, - zde nastavujeme jak se bude server chovat po startu Operačního systému. Na výběr máme hned z několika možností:

*install as service - started with windows - bude nainstalována služba serveru a bude se spouštět automaticky.

*install as service - started manually - Bude nainstalována služba serveru a bude spouštěna ručně uživatelem.

*v Do not install as service, start server automatically - Server nebude instalován jako služba, bude spouštěn automaticky. Tato volba se příliš nedoporučuje. (má smysl hlavně na win 9X systémech)

V startup settings ještě vyplníme na jakém portu bude naslouchat administrace serveru, defaultně je 14147 a zda chceme spustit server hned po instalaci.
Následuje opět Next.

V posledním kroku instalace lze nastavit spouštění filezilla server interface - tj. administrativní rozhraní serveru. Defaultně je nastavené, aby se interface spouštěl všem uživatelům v systému.
Konečně můžeme spustit instalaci, kliknutím na Install. Proces instalace trvá několik sekund v závislosti na konfiguraci hardwaru.

Po dokončení instalace se automaticky spustí služba serveru filezilla server a filezilla Interface - administrativní rozhraní serveru. Vyplníme server adres, defaultně je localhost tj. 127.0.0.1, port na kterém naslouchá konfigurace serveru defaultně 14147 a heslo. V našem případě pokračujeme na tlačítku OK.

Filezilla interface se připojí na IP kde běží služba serveru a pomocí menu lze nastavení serveru měnit. Do menu lze vstoupit pomocí klávesy Alt nebo F10.
Nabídka file
Zde jsou jen 3 položky, connect to server (připojit k serveru), disconnect (odpojit) a quit (konec.
Nabídka server obsahuje dvě položky active (aktivovat) a lock (zamknout). Nás bude zajímat hlavně nabídka edit, kde jsou tyto položky settings (nastavení), users (uživatelé) a groups (skupiny).

Vytvoření uživatelského účtu

Po instalaci filezilla server do vašeho počítače je nutné vytvořit uživatelský účet. To lze zařídit v menu Edit položka users zde odklepnout a tabem dojet na tlačítko Add (přidat). Lze také použít klávesovou zkratku Alt +A. Po odklepnutí se objeví dialogové okno kde vyplníme uživatelské jméno a vybereme skupinu do které bude uživatel patřit. V našem případě žádná skupina vytvořena zatím není takže jen vyplníme uživatelské jméno a odklepneme na tlačítku OK. Dialogové okno users si popíšeme malinko podrobněji. Nachází se zde karty general, shared folders, ip filters, speed limits. Mezi jednotlivými kartami se přepínáme pomocí šipka nahoru/šipka dolů nikoli jak jsme zvyklý šipka vlevo/šipka vpravo. Na kartě General lze aktivovat uživatele, měnit hesla uživatelů, nastavit datové limity na jednotlivé IP adresy, vynutit SSL přihlášení atd… Na kartě Shared folders lze uživatelům přidělovat práva k jednotlivým složkám. Karta Speed limits slouží k definování pravidel rychlosti upload/download. Lze nastavit konstantní rychlost nebo přímo vytvářet pravidla pro určité události. Karta IP filter slouží jak už z názvu napovídá k filtrování IP adres. Nejprve se definuje rozsah IP, které budou filtrovány a poté se definují IP adresy, které mají k serveru přístup. Většinou se filtrují všechny IP *.*.*.* a pak se vypisují ip adresy, které mohou navazovat spojení se serverem. Jakmile máme vytvořeného uživatele přidělíme mu domovský adresář. Na kartě shared folders stiskněte klávesovou zkratku alt +d zobrazí se windowsí dialogové okno kde nalistujte domovský adresář např. FTP a potvrďte na tlačítku OK. Samozřejmě adresář FTP nejprve vytvořte. Nyní máme vytvořeného uživatele který má přístup do adresáře FTP a všech jeho podsložek. Sbívá nastavit uživatelská práva. Defaultně je nastavené READ, LIST a SUBDIRS tzn. Uživatel má právo číst soubory, listovat a procházet i podsložky. Zde záleží na každém jak si práva na serveru nastaví, obecně platí co není povoleno je zakázáno. :o) Práva se nastavují pomocí zatrhávacích tlačítek (checkbox). ).
*READ - uživatel má právo pouze číst
*WRITE - uživatel má právo zapisovat
*LIST - uživatel má právo listovat tzn.. procházet obsah serveru
*CREATE - uživatel má právo vytvářet soubory nebo složky
*DELETE - uživatel má právo mazat soubory
*SUBDIRS - uživatel má právo procházet i podsložky
Nyní máme vytvořeného uživatele, který má přidělený domovský adresář FTP a má přidělena práva číst (READ), procházet obsah serveru (LIST) a může procházet i podsložky (SUBDIRS) Prakticky by již bylo možné použít nějakého FTP klienta a připojit se na IP adresu serveru, nicméně je potřeba ještě zajistit několik důležitých věcí. Na straně serveru musí být povolen port 21 FTP. To samé samozřejmě i na straně klienta. Dále je více než vhodné v IP filters vyplnit IP adresy které budou mít přístup k serveru a všechny ostatní IP zakázat. Mohlo by to vypadat například takto: Do prvního editačního pole zadejte *.*.*.* a do druhého pole vypište IP adresy oddělené čárkou, které se budou moct na server připojit. Pokud klient nebude v seznamu povolených IP adres obdrží hlášku unauthorized IP a odpojí se. Protokol FTP jak jsem se již zmiňoval v prvním díle tohoto seriálu není příliš bezpečný proto raději používejte FTPS. Filezilla server FTPS podporuje ale než zatrhneme na kartě general Force SSL login, musíme zajistit ještě několik dalších záležitostí. V menu edit zvolte položku setings a zde kartu SSL/TLS Settings, zde zaškrtněte tlačítko enable SSL/TLS support, vyplňte název privátního klíče, soubor certifikátu a klikněte na tlačítko generate new certificate. Můžete také použít klávesovou zkratku alt G. Zobrazí se dialog kde vyplníte všechny požadované údaje a sílu šifrování od 1024 bitů do 4096 bitů. Na kartě SSL/TLS settings ještě můžete vyplnit na jakém portu bude naslouchat SSL spojení defaultně je 990 dále můžete vynutit SSL spojení i na normálním FTP spojení ATD…

Poznámka

Protokol FTPS musí být podporován jak na straně serveru tak na straně klienta. Filezilla server využívá open source knihoven Open SSL. Dále musí být na firewallu povolené porty na SSL (990)V routerech/ADSL modemech hledejte funkci PF, kterou jsem zmiňoval v prvním díle seriálu.

Dialogové okno Settings si popíšeme také malinko podrobněji. Nachází se zde general settings, Welcome message, IP bindings, IP filter, Passive mode settings, security settings, Miscellaneous, admin interface Settings, logging, GSS settings, speed limits, file transfer compression, SSL/TLS settings, autoban.

Jak je vidět z výčtu nastavení je tu opravdu hodně. Provberem si to popořádku. V general settings lze nastavit na jakém portu bude FTP server naslouchat, defaultně je 21, Maximální počet uživatelů defaultně je 0 tzn. Neomezený počet, počet vláken defaultně 2 čas v sekundách kdy server odpojí klienta defaultně je 120 , čas v sekundách kdy server odpojí klienta v případě nečinnosti (defaultně 240)a samozřejmě taky login timeout tzn. Jak dlouho server čeká na přihlášení uživatele. Zde je výchozí hodnota na 60 sekund. Ve většině případů zde není třeba nic nastavovat, všechny hodnoty jsou optimální. Pokud chcete být paranoidní můžete zkrátit login timeout na 30, no transfer timeout na 120 a connection timeout na 60.

Ve Welcome message můžete napsat zprávu, která se zobrazí všem klientům jako uvítací zpráva hned po nalogování. Můžete také zaškrtnout/odškrtnout aby se uvítací zpráva nezobrazovala v logovacím souboru.

Následuje IP bindings zde můžete definovat IP adresy, které budou mít přístup k administrativnímu rozhraní. Výchozí hodnoty jsou nastaveny tak, aby se k serveru dalo připojit pouze z localhost tzn. Pc na kterém běží i služba serveru.

IP filter má v podstatě stejnou funkci jako v dialogovém okně users. Proč dvakrát IP filter?
V dialogu users se definují IP adresy které se vážou na daného uživatele, zatím co zde se definují IP adresy obecněji.

V praxi to funguje asi takhle. Představte si síť s rozsahem IP 147.251.209.*, 147.251.210.*, 147.251.211.*. V IP filter settings nastavíme rozsah *.*.*.* a 147.251.*.*

Nyní se k serveru dostanou jen IP adresy které jsou definované v IP filter/settings. Administraci tak můžete provádět z rozsahu IP 147.251.*.*.
V dialogovém okně users ještě můžete filtrovat IP adresy dle uživatelů což je někdy potřeba.

Po ip filtru následuje Passive mode setings. Doporučuji zde vyplnit IP adresu serveru a rozsah portů které máte forwardovaný. O pasivním a aktivním režimu jsem psal v minulém dílu seriálu.

Security settings - zde můžete nastavit blokování příchozích(/odchozích spojení (data transfer) ze serveru na server a také aktivovat/deaktivovat striktní IP filtr.

Miscellaneous - zde můžete zaškrtnout/odškrtnout zapisování hesla v logovacím souboru, měnit velikost interní vyrovnávací paměti při transferu a také velikost socket bufferu. Hodnoty jsou optimální, není potřeba nic měnit.

V admin interface settings můžete definovat port na kterém bude naslouchat služba serveru, defaultně je 14147, dále lze definovat rozsah IP adres, které se k službě serveru budou moci připojit. Samozřejmě zde také lze měnit administrátorské heslo.

Logging - nastavení logování můžete zaškrtnout/odškrtnout logování do souboru, vybrat formát souboru, omezit velikost logu nebo nastavit po jaké době se mají logovací sobuory odstranit. Historie logování je nastavena na 14 dní.

V GSS settings můžete aktivovat podporu GSS - protokol Kerberos
V speed limits lze opět omezit rychlost upload/download stejně jako v speed limits/users. Platí zde v podstatě to samé jako u IP filter.

File transfer compression - zde můžete měnit nastavení komprese při přenosu defaultně je tato volba vypnutá. SSL/TLS settings s klidným svědomím přeskočíme jelikoš jsem se mu v textu už věnoval. Poslední položkou je Autoban - automatické banování IP adres, doporučuju nechat tak jak je defaultně nastaveno tzn. Autoban je aktivován a banuje (zakazuje) IP adresy které se chtějí vlámat do serveru nebo se snaží o DOS útoky.

Nyní již je všechno hotovo, stačí v FTP klientovi zadat Ip adresu serveru nastavit ftps spojení a připojit se.
Poznámka

Nastavení serveru se ukládá do c:\program files\filezilla server\filezillaserver.xml a filezilla interface.xml. Stačí tedy soubory zálohovat a po instalaci serveru jen přepsat výchozí nastavení. Změny ve filezilla interface se provádějí okamžitě není třeba restartovat službu serveru.

Závěrem druhého dílu

Samozřejmě si jsem vědom, že jsem nepopsal všechna nastavení serveru, nic méně si myslím, že pokročilí uživatelé na zbytek jistě dojdou samy. V příštím díle se již budeme věnovat FTP serveru pod Linuxem konkrétně půjde o PROFTPD.

Odkazy

Filezilla server download

diskusní fórum

wiki

changelog

Napište komentář

XHTML: Můžete využít těchto HTML tagů: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>