Webhosting Broskev

**Hledáte FTP server? Máme řešení. Webhosting s FTP přístupem. **

Jiří Faruzel Datum vytvoření: 10.4.2007, datum publikace: 14.2.2009

Opatření programu

Dle předloženého zadání máme stáhnout program FTP FileZilla Server z internetu. Zadáme do vyhledávače (www.google.cz) hledaný výraz: FTP FileZilla server. Po odeslaní dotazu se nám zobrazí série odkazů, nejvýše položený odkaz na českou stránku je od Stahuj.cz,. V katalogu softwaru na stahuj.cz se tento program nachází v kategorii Internet a sítě, v podkategorii Servery FTP. V době vypracování byl tento program dostupný ve verzi 0.9.12 c. Poslední aktualizace program na Stahuj.cz proběhla 12.ledna 2006. Mezi výhody programu se řádí jeho bezplatnost jedná se o freeware, jehož autorem je Tim Kosse, podporovaný Windows 95/98/ME/NT/2­000/XP. Program byl v době stažení( 28.3.2007) stažen za poslední týden 115 krát a celkově na portálu www.stahuj.cz 9023 krát. Doba stažení při rychlosti 56Kbps (běžná rychlost modemového připojení) je 6 minut. Stažení proběhlo bezproblemově. Domovská stránka softwaru je http://sourceforge.net

Instalace

Stáhneme a nainstalujeme program.. Instalace nevyžaduje žádné extremní znalosti IT. FileZilla Server beta 0.9.12 můžeme nainstalovat v pěti verzích (standart – standardní, full – úplnou, custom – uživatelskou, service only – pouze samotný server či pouze řídící rozhraní-interface only), přičemž všechny výše uvedené možnosti jsou kombinací následujících 5 instalačních komponent: samotný server a jeho služby, řídící interface, zdrojový kód, zástupce ve start menu a zástupce na ploše. Byla vybrána instalace úplná.

Po zvolení cílového adresáře máme množnost zvolit způsob, jakým by FileZilla Sever měl být spouštěn. Je možno vybrat ze 3 možností:

  • FileZilla Server bude spouštěn automaticky při spuštění Windows (standardní nastavení)
  • FileZilla Server bude spouštěn uživatelem manuálně
  • Server bude spouštěn zcela automaticky (tato možnost není doporučována)

Zvolíme port, pro komunikaci servu s interfacem v rozmezí od 1 do 65 535, defaultní nastavení je port 14 147.

Zvolil jsem spouštění serveru manuálně (automatické spuštění programu tohoto typu pro naše potřeby je jednoznačné neekonomické, pokud bychom v budoucnu chtěli spouštět tento program automaticky, můžeme využit služeb manažera pro spouštění (např. windows defender)). Máme zde i nabídku spuštění sevru automaticky po instalaci programu. Nastavení automatického spuštění sevru po instalaci programu necháme zapnuté.

Máme-li nainstalován jak samotný server, tak příslušný interface, můžeme se pustit do práce a tento server a následně interface spustit.

A, Konfigurace serveru

Server je předkonfigurován na standardní hodnoty (adresa serveru nastavena na 127.0.0.1 – adresa localhostu, port 14147 ). Konfiguraci lze dále upravovat pomocí nabídky, to vše nám je umožněno v řídícím interfacu pod položkou Nastavení (Settings). Zde nalézáme 10 oblastí nastavení, prostřednictvím kterých lze server konfigurovat.

1)Základní nastavení (General settings)

Zde je možno nastavit celkově 6 položek:

  • Listen on these ports – Port, na němž tento server bude naslouchat

Jinými slovy řečeno jedná se o port, jehož prostřednictvím se bude k serveru připojovat. Port může nabývat hodnot v rozsahu od 1 do 65 535. Předkonfigurován je zde port 21, (standardně používaný port pro protokol FTP) Není racionální důvod tuto hodnoto změnit a proto zde toto nastavení ponecháváme.

  • Max. number of users – Maximální počet uživatelů

Jinými slovy řečeno jedná s o nevyšší možný počet připojených uživatelů najednou. Předkonfigurována je zde 0, přičemž 0 znamená, že maximální počet spojení není nějak omezen. Není důvod změny.

  • Number of Threads – Počet vláken

Jinými slovy řečeno jedná se o počet vláken s nimiž server pracuje – doporučuje se nastavit násobek počtu procesorů, v případě přetěžováni je doporučeno tuto hodnotu zvýšit, Předkonfigurováno je zde číslo 2. Necháme jej.

  • Connections timeout – Časový limit spojení

Jinak řečeno jedná se počet sekund, po jejichž vypršení při neaktivitě klienta následuje k přerušení spojení. Časový limit lze volit z intervalu od 1 do 9 999 sekund, přičemž 0 znamená, že časový limit zde neexistuje. Předkonfigurován je zde časový limit 120 sekund, což jsem si myslel že je rozumné, ale jen do chvíle, než jsem se dostal k práci s telnetem. Z důvodu časté ztráty dat( automatické odpojování serveru) nastavíme hodnotu na 2000.

  • No Transfer timeout – Časový limit přenosu

Jinak řečeno jedná se o počet sekund, které jsou uživateli poskytnuty k tomu, aby zahájil přenos nějakých dat. Jestliže tak neučiní, dochází k přerušení spojení. Časový limit lze opět volit z intervalu od 1 do 9 999 sekund, přičemž 0 znamená, že časový limit zde neexistuje. Předkonfigurován je zde rovněž 120 sekundový časový limit, jenž změníme na rozumnější hodnotu 2000.

  • Login timeout – Časový limit přihlášení

Jinak řečeno jedná se o počet sekund, které má uživatel k dispozici, aby se přihlásil. Jestliže tak neučiní, dochází k přerušení spojení. Časový limit lze opět volit z intervalu od 1 do 9 999 sekund, přičemž 0 znamená, že časový limit zde neexistuje. Předkonfigurován je zde rovněž 60 sekundový časový limit, jenž změníme na rozumnější hodnotu 200(Časový limit pro přihlášení je nižší než ostatní časové limity z důvodu menší časové náročnosti a zaběhlého systému práce s autorizací.).

Kromě General settings máme k dispozici ještě tyto nastavení:

  • Přivítací zpráva

V podstatě se jedná o zprávu, která se Vám zobrazí při připojení na server(např. v připojení sevru přes příkazová řádek )V našem případě to bude: „%vVítejte na serveru XFARJ05 , kde %v vyjadřuje verzi FileZilla serveru. Tuto přivítací zprávu lze vypnout, uvítací zprávu necháme zapnutou.

  • IP vazby (IP bindings)

Jedná se IP adresy či jejich rozsah, se kterými server bude pracovat. Předkonfigurován zde byl znak * – server pracuje se všemi IP adresami. Ponecháme tuto hodnotu. Možné využití je zpřístupnění severu jen určitým kamarádům či určité specifické skupině, tímto drastickým a účinným opatřením se sníží potencionální bezpečnostní riziko.

  • IP filtr

Toto nastavení umožňuje určit naopak IP adresy či jejich určitý rozsah, se kterými server pracovat nebude. Přičemž je možno nastavit jistý rozsah IP adres, které přístup mít nebudou a následně určitým IP adresám v rámci tohoto rozsahu přístup povolit. Zde z důvody nepotřeby nespecifikujeme také žádné IP adresy.

2)Nastavení pasivního módu (Passive mode settings)

V této sekci můžete na konfigurovat server v pasivním módu pro případ, že se nacházíte za NATem*1 nebo routerem. V poli Use the following IP lze nastavit veřejnou adresu zařízení poskytujícího NAT, které potřebné porty forwarduje*2 FTP serveru. Poslední možnost Retrieve external IP address from umožňuje veřejnou IP adresu zjistit automaticky pomocí služby na webovém serveru. Vhledem k jednoduchosti naši sítě – nepřipojujme se server zvenčí, neměníme nastavení – volba default.

1 *Network address translation (zkráceně NAT, česky překlad síťových adres) je funkce síťového routeru pro změnu IP adres paketů procházejících zařízením, kdy se zdrojová nebo cílová IP adresa převádí mezi různými rozsahy. Nejběžnější formou je tzv. maškaráda (maskování), kdy router IP adresy z nějakého rozsahu mění na svoji IP adresu a naopak – tím umožňuje, aby počítače ve vnitřní síti (LAN) vystupovaly v Internetu pod jedinou IP adresou. Router si drží po celou dobu spojení v paměti tabulku překladu adres. Více viz http://cs.wikipedia.org/wiki/NAT

2 *Port forwarding (někdy uváděno jako tunelování) je akt doručování síťových portů z jednoho síťového uzlu na další. Tato technika umožňuje externímu uživateli použít port na lokální síti (za NATem) z venku přes router. Více viz http://en.wikipedia.org/…t_forwarding.

3)Bezpečnostní nastavení (Security settings)

Block incoming/outgoing server-to-server transfers – Zde je možno blokovat datové přenosy ze serveru na server, z pohledu našeho serveru tedy jak přenosy příchozí, tak odchozí. U obou těchto možností je možno zapnout striktní IP filtr, který kontroluje zda-li uvedená IP adresa je naší skutečnou adresou, tzn. adresou, ze které iniciujeme jakoukoli aktivitu. Předkonfigurována zde bylo blokace přenosů příchozích i odchozích, avšak striktní IP filtr byl u obou těchto možností vypnutý. Strict IP filter – Striktní IP filtr kontroluje IP adresu celou, vypnutím této funkce je však IP adresa kontrolována také. Takováto kontrola prvních 3 částí IP adresy umožňuje zvýšit kompatibilitu při zachování jisté míry bezpečnosti. K zachování bezpečnosti ponechám původní nastavení, přičemž je třeba uvědomit si, že povolení těchto bezpečnostních funkcí sice vede ke zvýšení bezpečnosti, na druhé straně však také ke snížení kompatibility (možné problémy s proxy servery, které mohou používat více IP adres).

4)Smíšené (Miscellaneous)

Don't show password in message log – Nastavení zákazu vypisování hesla v logu. (zapnuto)

Start minimized – Spouštění interfacu v minimalizovaném okně. (vypnuto)

Internal transfer buffer size – Velikost vyrovnávací paměti pro interní přenosy (defaultní je 32768 – ponecháno)

Socket buffer size – Velikost vyrovnávací paměti pro sockety. (defaultní je 65536 – ponecháno)

Allow downloading of files which are open for writing by another process – Povolení stahování souborů, které jsou používány jiným procesem. (zapnuto – Při pozdější kontrole nastavení severu byla zjištěna chyba, která bude podrobně vysvětlena v sekci Problémy)

5)Nastavení rozhraní správce (Admin Interface settings)

První pole slouží k zadání portu, na kterém se očekává spojení s interface. Bind the admin interface to the following IP adresses umožňuje nastavit adresy, na kterých se naslouchá. Automaticky je nasloucháno na adrese 127.0.0.1 (localhost), z praktických důvodů není možné tuto adresu vyloučit. Port on which the admin interface should listen umožňuje přiřadit port správce (defaultní je 14147 – ponecháno). Do kolonky IP Adresses which are allowed to connect to the admin interface se zadávají povolené adresy, jež se můžou připojit a spravovat server. Opět je zde nevylučitelně adresa 127.0.0.1.

6)Nahrávání (Logging)

Enable logging to file – Zde můžeme zapnout funkci logování do souboru. (Zapnuto)

Limit log file size to – Omezení velikosti log souboru. (Limit nastaven na 100kb)

Log all to ‚FileZilla Server.log‘ – Logovat všechno do jednoho daného souboru (Zapnuto)

Use a different logfile each day – Každý den vytvářet nový soubor logu (Zapnuto)

Delete old log files after – Mazání souboru po stanoveném počtu dní. (Počet dní nastaven na 14)

7)Nastavení GSS (GSS Settings)

Enable Kerberos GSS support Zde je možno zapnout podporu GSS Kerberos (musíme mít nainstalovaný Kerberos – umožňuje šifrování všech dat posílaných mezi FileZillou a FTP serverem).

Prompt for password if necessary Zapnutí výzvy k zadání hesla, pokud je to potřeba. Z důvodu zvýšení zabezpečení bezpečnosti byla tato funkce stejně jako výzva k zadání hesla zapnuta.

8)Nastavení rychlosti (Speed settings)

Tato záložka umožňuje nastavit globální rychlostní limity serveru, jak pro download tak i pro upload lze zadat žádné omezení (No Limit), konstantní omezení (Constant Speed Limit) nebo naplánovat pravidla pomocí položky Use Speed Limit Rules. Toto nastavení můžeme například využít v případě, když uživatel se připojuje na server z internetu a nechceme drasticky snížit naši potencionální rychlot pohybu na internetu.

9)Komprimace přen.souborů (Filetransfer compression)

Enable MODE Z support Zde je možno zapnout tzv.MODE Z komprimace přenášených dat, nastavit lze také minimální a maximální stupeň komprese. Exclude private IP address ranges vyloučí přenosy po lokální síti. V posledním poli lze určit výjimky, pro které se tato funkce nebude stahovat. V našem případě tuto funkci ponecháme vypnutou, jelikož je tato funkce náš typ využití této aplikace.

10)Nastavení SSL/TLS

Zde je možno zapnout podporu SSL/TLS. SSL (Secure Socket Layer), dnes známý také pod pojmem TLS (Transport Layer Security) je protokol, který umožňuje šifrování a autentifikaci komunikujících stran, tzn.umožňuje zvýšit bezpečnost přenášených dat. V našem případě je tato funkce z bezpečnostních důvodů zapnuta. Pro běh této funkce je nutné vytvoření certifikátu severu, v případě, že jej ještě nemáme.

Po vytvoření certifikátu zadáme heslo klíče. Dále nastavíme port pro SSL/TLS spojení, který ponecháme na jeho původní hodnotě 990. Dále povolíme SSL/TLS pro normální spojení, přičemž toto SSL/TLS spojení nebude vynucováno stejně jako nebude vynucováno šifrování.

Jakmile máme FileZilla server jednou nastavený, můžeme se pustit do samotného používání tohoto serveru.

B, Konfigurace skupin a uživatelů

Dále můžeme nastavit skupiny (Edit / Groups) a k nim přidělit jednotlivé uživatele (Edit / Users). Uživatel pak může zdědit některá nastavení své skupiny.

Skupiny (General)

  • Enable access for user inside group – povolí nebo zakáže přístup všem uživatelům ve

skupině; lze obejít nastavením Enable account konkrétního uživatele (povoleno)

  • Bypass userlimit of server – obejít globální limity uživatelů (nenastaveno)
  • Force SSL for user login – povolí pouze šifrované spojení vrstvou SSL (nenastaveno – vypnuto)
  • Description – popis skupiny

Sdílené složky (Shared folders)

Zde konfigurujeme sdílených složky. Lze nastavit oprávnění složky pro daný prvek: read, write, delete a append (přidávání na konec) pro soubory resp. create, delete a list (výpis obsahu) pro složky. Volbou + Subdirs nastavíme práva i pro podadresáře, autocreate automaticky adresář v případě potřeby vytvoří. Navíc po měsíci používání jsem zjistil, že každé složce lze přiřadit tzv. alias, což je absolutní cesta. Složka se potom tváří jako by v té cestě byla. Volbu Edit aliases naleznete v kontextové nabídce složky (kliknout pravým tlačítkem myši)- tato volba se ukázala jako klíčová pro technické nastavení sdílení složek, stejně jako Set as home dir, která nastaví adresář jako kořenový (dostupný uživatelům jako „/“ – root). Dále je možno u jednotlivých uživatelů či jejich skupin nastavit stejně jako tomu bylo v nastavení základním určité IP filtry či rychlostní limity pro stahování či nahrávání. Z důvodů již dříve zmíněných však nic takového nastavovat nebudeme.

Uživatelé (Users)

Nastavení uživatelů je shodné s nastavením skupin, kromě následujících:

  • Enable Account – povolení uživatele (má větší prioritu než nastavení skupiny)
  • Password – heslo uživatele (při editaci může být matoucí délka hesla 32 znaků, to je

způsobeno tím, že server ukládá pouze 32-bitový hash)

  • Group membership – členství ve skupině

C, Moje nastavení

Router

K Internetu na neveřejnou adresu jsem připojen pomocí routeru, který rozvádí připojení do stolního počítače pomocí ethernetového kabelu, do notebooku pomocí ethernetového kabelu či sítě wifi(Access point je připojen ethernetovým kabelem k routeru). Výsledkem je uzavřený okruh lokální sítě připojený k internetu přes router. Router má sice k dispozici vypnutou funkci NAT ,tu ale pro zvýšení bezpečnosti nevyužívám. Dále je důležité nastavit firewall pro přenos dat.

Skupiny

Nadefinoval jsem 2 následující skupiny.

Anonymous

Skupina určená pro anonymního uživatele.. Skupina uživatelů anonymous se bude moci na server přihlašovat pomocí stejnojmenného standardního uživatelského jména anonymous či jakékoli emailové adresy. Dále vytvoříme veřejně přístupný adresář PUB přístupný všem uživatelům. Pro PUB je charakteristické, že umožňuje všem uživatelům prohlížet soubory v něm obsažené stejně jako tyto soubory stahovat.

Rodina

Skupina určená pro neanonymní přístup. Do skupiny vložíme dva uživatele Jirka a Michal. Uživatelé této skupiny se budou na server přihlašovat každý pomocí svého vlastního hesla. Uživatelé této skupiny mají taktéž přistup k adresáři PUB.

Uživatelé

  • Jirka

Tomuto uživateli je přidělena složka Jirka, zde může číst a ukládat soubory, může také vytvářet a mazat složky ve složce Jirka.

  • Michal

Tomuto uživateli je přidělena složka Michal, zde může číst a ukládat. Dále je tomuto uživateli umožněno číst ze složky Jirka.

Velmi důležitou položkou se pozdějším testováním se ukázalo nastavení položky u sdílených souborů. Více viz.Více viz. Sekce problémy.

Závěrem do adresářů Jirka, Michal, Pub vložíme soubory:

Testování

Na přání autora byla tato sekce odstraněna, jelikož byl tento materiál zneužíván při plnění školních povinností studentů informačních a komunikačních sítí 4IZ210 na VŠE.

D, Problémy

Při používání programu se vyskytlo pár problémů.

1, V nastavení severu konkrétně u 4)Smíšené (Miscellaneous) – Allow downloading of files which are open for writing by another process

Nastavení této funkce se po každém odeslání nastavení změní na opačnou hodnotu. Například jest-li tuto funkci zapneme, tak po dalším otevření nastavení bude vypnuta, a když nastavení znovu otevřeme bude opět zapnutá. Nezbývá než konstatovat, že by autor programu mohl zapracovat na této chybě, aby program automaticky a cyklicky neměnil nastavení této funkce. ¨

2, Nastavení sdílení složek

Zde se ukázalo být kamenem úrazu položka Edit aliases. Do dnešní doby jsem se nesetkal s tím, aby bylo nutné 2 x nastavovat cestu pro soubor. Když nevyplníte tuto položku u sdílení adresáře, tak je pro daného uživatele viditelná právě jedna složka a to ta, která je nastavená jako výchozí. Marně jsem hledal způsob jak přidělit danému uživateli více složek, než jsem objevil takovou „prťavou“ ikonku Edit aliases. Suma sumárů, sdílení složek funguje tak, že si nadefinujete nějaký adresář jako výchozí, např. C:pub. Další složce(např. D:souboryjirka) přidělíme absolutní cestu: C:pubjirka další složce (např. D:souborymichal) absolutní cestu: C:pubmichal. Důležité je, aby absolutní cesta, byla podadresářem výchozího adresáře pro daného uživatele. Tento atypický případ nastavení sdílení složek, vyžaduje, podle mého názoru, výrazné zviditelnění , aby uživatelé nepropadli do vzteku pro neschopnost sdílení více adresářů. Tato maličkost není v dnešní době vídaná, a proto by měl autor alespoň uvažovat o zlepšení grafické podoby nastavení sdílení složek.

3, Výpadky

Během testování tohoto programu jsem se také setkal s občasnými výpadky připojení k internetu, během posílání souboru z jednoho počítače na druhý přes domácí sít.(Pravděpodobně se jedná o střet místní sítě a internetu, který lze vidět i u hráni online her po síti jako je cs: source.) Dále se párkrát zastavil chod pamětí počítače při operaci přejímaní dat ze serveru přes příkazový řádek.

4, Spouštění serveru

Po dvanácté reinstalaci FTP serveru, jsem si říkal, že nemožnost přihlášení se na sever musí spočívat v něčem jiném než v nastavení FTP serveru. A skutečně, před spuštěním interfacu je nutné nastartovat FTP server. Chybami se člověk učí, takže nezbývá než konstatovat, že při instalaci by člověk měl nakonfigurovat zapínaní serveru automaticky jak je doporučováno.

Způsob zabezpečení serveru proti zneužití

Během nastavení programu provedli řadu opatření, které pomáhají ke zvýšení bezpečnosti serveru – podpora SSL, Kerberos pro šifrování přenášených dat, nezobrazování hesla atd. Dále jsme však v sekci bezpečnostní nastavení zapnuli blokování příchozích i odchozích server to server přenosů. Mezi opatření, které mohou zvýšit bezpečnost ale nevyužíváme je, patří IP filtr, který kontroluje první 3 časti IP adresy. Existuje možnost zapnout striktní IP filtr kontrolující celou IP adresu.

Možné bezpečnostní díry.

Uvítací zpráva

Tato zpráva se vypisuje každému uživateli, a tak potencionální útočník může získat informace, které mu pomůžou k průchodu přes bezpečností pásmo. Toto riziko se může snížit nevypisováním znaku %v do zprávy.

Heslo

Při nevyužívání šifrování SSL/TTL lze snadno zachytit informace a tudíž i heslo.

Logovácí zpráva

Při potencionální krádeži souboru získá útočník mnoho citlivých informací.

Dále se server FTP jako člen skupiny serveru nemůže vyhnout následujícím bezpečnostním dírám známých ze světa IT jako jsou:

Brute-force attack

útok hrubou silou – vyzkoušení všech možností hesla apod.

Slovníkové útoky

zkouška přihlášení s hesly oproti slovníku

Sociální inženýrství

na straně uživatelů – ochrana hesel, přístupů, evangelizace mezi uživateli na straně provozovatele – strategie komunikace s uživateli, obnovování hesel apod.

Upload bombing

Nastavením limitů lze toto omezit

Skenování portu

Jako aktivní prvek na internetu lze tento server porty tohoto severu

Změna souboru

Jako prvek přístupný z internetu je vhodné zakázat jakoukoliv změnu souboru (možný virový útok). Doporučoval bych proto u všech sdílených souborů nastavit oprávnění jen ke čtení.

Závěr

Seminární práci i přes extrémní časovou náročnost hodnotil kladně. Osvojil jsem si problematiku FTP. „Pochopil jsem význam absolutní cesty“.Objevil jsem tlačítko PrintScreen na klávesnici a tudíž využil do té doby netušené možnosti – vytisknutí obrazovky. Naučil jsem se lépe spravovat FTP server. V poslední řadě nás samotný charakter této seminární práce přinutil k četným pokusům a následnému dohledávání příčin takového chování.

Seznam zdrojů