Portál AbcLinuxu, 2. května 2025 18:10
Vytvořit FTP server není nic těžkého a pro Linux máme dostatek možností. Pro možnost FTP přenosu zabezpečeného pomocí SSL zkuste glFTPd.
Soubory mezi PC je možno přenášet různými způsoby. Z prostředí Windows je snad nejznámější sdílení souborů a tiskáren v síti Windows. Prostřednictvím Samby je možno využít tohoto způsobu přenosu souborů i mezi stanicemi Windows a Linux. FTP (file transfer protocol) pro přenos dat mezi stanicí a serverem je další možností. FTP je standardní protokol určený k přenosu souborů na internetu. Jinými slovy, díky FTP programům (FTP-client) můžeme soubory nakopírovat na server nebo stáhnout ze serveru.
Samotný FTP přenos je ovšem nezabezpečený a z důvodu bezpečnosti přenosu je vhodné použít FTP zabezpečené pomocí SSL (Secure Sockets Layer). Většina linuxových distribucí obsahuje instalační balíčky nějakého FTP serveru. Je možno tedy použít třeba WU-FTPD. Pro možnost FTP přenosu zabezpečeného SSL osobně doporučuji glFTPd.
Jeden ze způsobů útoků na server je odposlech sítě nebo-li sniffer. Princip tohoto útoku je v tom, že útočník umístí na síti program, který laicky řečeno odposlouchává provoz na síti. Takovýto program je možno nakonfigurovat tak, aby odposlouchával pouze vybrané počítače, případně pouze vybrané služby. Informací získaných z takového odposlechu je velmi mnoho a tento útok je zvláště účinný, používá-li se na služby, které nejsou primárně šifrovány. Aby se tomuto předešlo je vhodné použít odpovídající zabezpečení. Jedním z nich je používání kódování. Například namísto klasického připojení telnetem použít SSH. Co se dá použít pro jiné služby? Existuje jednoduchý způsob, díky kterému budeme bez změny použitých programů schopni zajistit odpovídající úroveň zabezpečení. Použijeme na to tzv. TCP-wraper. Jsou to programy, které zachytávají nešifrovaný provoz na daném portu a směrují ho na jiný port. V našem případě zachytávají šifrované informace, ty rozšifrují a předají je již existující službě. Existuje několik takových programů, jako příklad bych uvedl SSLwrap, který existuje ve verzi pro MS windows i pro Linux.
Pro FTP přenos na straně stanice samozřejmě nějaký program. V prostředí MS Windows je jich velké množství. Ovšem nejrozšířenější souborový manažer Total Commander má uživatelsky velmi jednoduchý způsob přenosu dat na a z FTP serveru. Pokud chceme ovšem přenos dat zabezpečený SSL, musíme buď použít WinSSLwrap anebo FTP klienta, který už má tuto funkci v sobě. Např. FLASHFXP. V prostředí Linuxu umí FTP přenos kromě mnoha jiných i Midnight Commander, který můžeme spuštět v konzoli, případně pro X např. program gFTP nebo KBear. Pokud chceme ovšem přenos dat zabezpečený SSL, musíme použít také program sslwrap.
Chceme-li se přihlásit na FTP server, přihlašujeme se příkazem ftp://jméno:heslo@ftp.neco.domena
. Chceme-li tedy použít zabezpečené připojení přes sslwrap, musíme zvolit trochu jiný způsob: ftp://localhost:7000
a jméno
bude ve tvaru jméno@ftp.neco.domena
. sslwrap ve svém základním nastavení naslouchá na portu 7000. Máme ho spuštěný na svém počítači, tudíž jeho IP adresa je 127.0.0.1 neboli localhost. Budeme se tedy nejprve připojovat na localhost port 7000. Náš přenos mezi FTP klientem a sslwrapem na localhostu bude nešifrovaný. sslwrap informace, které posíláme, zašifruje a zašifrované je pošle buď na sslwrap na straně serveru, případně přímo na FTP server, který je schopen je rozšifrovat. A FTP server, který toto umožňuje, je právě glFTPd server ve verzi 1.30.
Především FTP démona. A to pokud možno takového, který umožňuje SSL. V následujícím návodu popisuji způsob instalace glFTPd verze 1.30, který je na to velmi vhodný.
Stáhneme balíček glftpd-LNX_1.30.tar.gz. Rozbalíme a přepneme se do adresáře s instalačním skriptem, kde spustíme ./installgl.sh
.
Dotazy při instalaci:
n
(ne).n
(ne)./glftpd
.Instalace skončila a můžeme se vrhnout do konfigurace.
V nainstalovaném adresáři /glftpd
se nachází skript pro vytvoření klíče. Spustíme tedy ./create_server_key.sh KLÍČ
(KLÍČ je příklad, můžete zadat jiný název) vytvořený klíč ftpd-dsa.pem
překopírujeme do adresáře /usr/local/ssl/certs/
.
Pokud používáte ke spouštění glFTPd skript xinetd, najděte v adresáři /etc/xinetd.d
konfigurační soubor se jménem glftpd
. Otevřete v editoru a řádek
server_args = -l -i -o
|
doplňte o parametry:
- z cert=/usr/local/ssl/certs/ftpd-dsa.pem /etc/glftpd.conf
|
Tím řekneme glFTPd serveru, kde má uložený certifikační klíč a konfigurační soubor.
Přepneme se do adresáře /etc/rc.d/init.d/
a spustíme ./xinetd restart
, čímž restartujeme xinetd, aby se načetly změny,
které jsme udělali v bodu 2.
Je potřeba ještě upravit glftpd.conf
. Ten se nalézá v adresáři /etc
. Upravte tyto řádky:
#shutdown 1
na shutdown 0
sitename_long [:space]NAZEV FTP[:space]server
sitename_short NFS
vasemail@vase.domena
Na konec konfiguračního souboru doplníme řádky:
#Kdo může používat spojení s FTP serverem zabezpečeným spojením TLS
|
V tomto případě je obojí povoleno všem a nejsou nastaveny žádné restrikce. To znamená, že všichni uživatelé mohou použít jak připojení FTP, tak FTP-SSL. Další informace o nastavení práv pro zabezpečené a nezabezpečené spojení hledejte v souboru /glftpd/docs/readme.tls
.
Nyní vyzkoušíme připojení. V konzoli napíšeme ftp localhost PORT
(kde PORT
je číslo portu, který jsme zadali při instalaci a na kterém glFTPd naslouchá).
login: glftpd
|
Po úspěšném přihlášení přidáme uživatele:
site adduser login password *@*.*.*.*
|
a nastavíme ratio:
site change login ratio 0 .
|
Příkazem bye
se od FTP serveru odhlásíme. Další možnosti natavení hledejte v /glftpd/docs/glftpd.docs
.
Nyní můžeme vyzkoušet připojení k našemu FTP serveru jak přes FTP, tak i FTP-SSL z jiného počítače v síti.
Pominu-li tvoji nevymachanou mluvu, tak... To ani nemel byt argument. Tvuj puvodni prispevek totiz ani nebyl vyjadrenim nejake kritiky. Kdyz reknes "Proc pises o tomhle? Pis radsi o necem jinem.", tak to neni uzitecna kritika clanku, ale pouhe remcani. Takze kdyz jsem na to reagoval tim, abys napsal take clanek, myslel jsem to zcela vazne. Velmi radi dame prostor i popisu jineho reseni. A zvlast pokud jsi presvedceny, ze by bylo lepsi a clanek lepe zpracovany. Ted se ale rozcilujes "Proc bych mel psat nejaky clanek?" Na to je jednoducha odpoved: abys vytvoril, jak pises, "neco lepsiho a informativne hodnotnejsiho".
Btw, AbcLinuxu neni 'profi server', kdezto linuxzone a root ano. Mas sice pravdu, ze "vsechno se povest nemuze", ale to srovnani me pobavilo.
Naopak. Ja chapu rozdil mezi ctenarem a autorem. Musim vsak stale opakovat, ze tvuj puvodni prispevek nelze povazovat za konstruktivni kritiku clanku. Kdyby vysla recenze Redhatu a ty jsi na to reagoval slovy 'Piste radsi o Mandraku', bylo by to podobne.
Ty nepoukazujes na chyby v clanku, ale rikas, ze by mel byt o necem jinem. K tomu skutecne mohu rict pouze to, ze bys takovy musel sam napsat. Nebo samozrejme kdokoliv jiny. Clanek, ktery jiz vysel, preci nestahnu kvuli tomu, ze je o necem jinem, nez ty bys chtel.
Na jiz vydanem clanku (tim nemyslim konkretne tento) lze kritizovat mnoho veci: postupy, chyby v reseni, sloh, gramatiku, ... Pokud vsak kritizujes zvolene tema, nejde s tim udelat nic jineho, nez doufat v novy clanek. A protoze jsi iniciatorem te vyzvy, navrhl jsem to hned tobe.
P.S. Kdyz jsem rikal, ze Abc neni 'profi server', kdezto root a linuxzone ano, tak jsem te parafrazoval. A pobavilo me prave tve srovnani. Abc se totiz s obema temito servery muze smele merit a v mnohem je predci.
Jo... znam to, i kdyz ne od babicky... 'samochvala smrdi'. Jenze ja to neberu jako chvalu sebe sama, nybrz celeho tymu vsech lidi, kteri se o ABC staraji, a zaroven take autoru, kteri pro ABC pisi. A protoze jsem presvedcen o tom, ze vysledek je docela dobry, musel jsem se ohradit. Ale jak jsem rekl, ohradil jsem se predevsim proti tomu srovnani. Nikdy nebudu rikat, ze ABC by bylo uz tak dobre, ze by nebylo co zlepsovat. Naopak, jsem si vedom mnoha ovlasti, ktere by potrebovaly zasadne vylepsit, a spolecne se je snazime postupne resit. Nicmene tvrdim, ze ve srovnani s root a predevsim linuxzone bychom obstali velmi slusne. Obsah, design, ... Vim samozrejme, ze takova debata je vlastne nesmyslna, protoze se jedna o velmi subjektivne vnimane veci (a jeste navic jsem prirozene zaujaty), ale nemohl jsem to jen tak prejit a nereagovat.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.