LINUXZONE






 >> Hlavní stránka

(1737/02.09.2010)


 >> Administrace

(161/05.08.2010)


 >> Literatura

(310/31.08.2010)


 >> Bezpečnost

(344/27.08.2010)


 >> Programování

(307/19.04.2010)


 >> Distribuce

(97/09.06.2010)


 >> Síťování

(86/03.06.2010)


 >> Lokalizace

(10/15.09.2004)


 >> Aplikace

(176/12.08.2010)


 >> Multimedia

(32/31.03.2006)


 >> Hardware

(45/02.03.2007)


 >> Začínáme

(228/24.06.2010)


 >> Aktuálně

(561/30.08.2010)


 >> RELAX

(209/02.09.2010)


 >> Jinde vyšlo

přehled ostatních serverů




 Přihlášení




Login:
Heslo:
 uložit v prohlížeči


Nejste-li ješte zaregistrováni, můžete tak učinit zde.





 Vyhledávání




Hledaný výraz:
v klíčových slovech
v titulku
v anotaci
v textu








 Reklama









 Servis




*   Vaše náměty a připomínky
Máte k Linuxzone.cz nějaké připomínky nebo náměty? Našli jste na stránkách chybu? Dejte nám o tom vědět pomocí formuláře nebo v diskuzi.
Komentářů: 30
*   Podpořte Linuxzone.cz
Chcete podpořit náš server umístěním odkazu nebo zveřejněním backendu? Zde najdete vše potřebné.
*   Pište pro Linuxzone.cz
Máte zájem podílet se na obsahu Linuxzone.cz ať už jako redaktoři nebo i jinak? Dejte nám o sobě vědět!





 Aktuálně z bezpečnosti




-- 
6.12.2005, 19:01
Na serveru informit.com vyšla ukázková kapitola týkající se práce s řetězci z knihy Secure Coding in C and C++. (lz)

-- 
3.12.2005, 12:34
Bugtraq: Format String Vulnerabilities in Perl Programs. (lz)

-- 
3.12.2005, 12:32
Linux Advisory Watch December 2nd 2005. (lz)

-- 
23.10.2005, 13:28
Rozhovor na téma klasické zálohování versus CDP. (lz)

-- 
23.10.2005, 13:24
Linux Advisory Watch October 21st 2005. (lz)

další >>





 Aktuálně o software




-- 
6.12.2005, 19:07
Potřebujete-li pod linuxem rozchodit bezdrát založený na čipsetech Broadcom 43xx, konečně existuje linuxový ovladač. (lz)

-- 
6.12.2005, 19:04
Byla uvolněna verze Xen 3.0.0 virtualizační technologie XEN. (lz)

-- 
6.12.2005, 18:59
Byla uvolněna verze X11R6.9/X11R7 RC 3 grafickérho rozhraní X Window System. (lz)

-- 
3.12.2005, 12:45
Co je nového okolo projektu Amanda (open source zálohovací software)? Více na osnews.com. (lz)

-- 
3.12.2005, 12:40
Jak to akuálně v linuxu vypadá s podporou SATA.. (lz)

další >>





 Aktuálně z IT




-- 
3.12.2005, 12:51
Novellu se daří prodej linuxových produktů, oproti loňskému roku se Novell dočkal výrazného nárůstu. (lz)

-- 
3.12.2005, 12:48
Třetí verzi licence GPL by měla být publikována během jara 2007. (lz)

-- 
23.10.2005, 13:20
V Peru nyní mají zákon, který umožňuje nasazení open source software ve vládní správě. (lz)

-- 
23.10.2005, 13:14
Proč se Microsoft bojí Google? (lz)

-- 
27.9.2005, 22:01
Peru má zákon podporující free software. (lz)

další >>





 Nejčtenější články




-- 
Novinky ze světa svobodného software (20/2010)

-- 
Virtualizace - Praktický průvodce

-- 
JavaScript a Ajax

-- 
Novinky ze světa svobodného software (21/2010)

-- 
Security Digest (20/2010)

-- 
Proč by software neměl mít majitele (1/2)

-- 
Proč by software neměl mít majitele (2/2)

-- 
Novinky ze světa svobodného software (22/2010)

-- 
Bezpečnost bezdrátové komunikace

-- 
Security Digest (21/2010)






 Nejlepší články




-- 
Security Digest (21/2010)

-- 
Novinky ze světa svobodného software (22/2010)

-- 
Virtualizace - Praktický průvodce

-- 
Security Digest (20/2010)

-- 
Bezpečnost bezdrátové komunikace

-- 
Novinky ze světa svobodného software (21/2010)

-- 
Prodej svobodného software? (2/2)

-- 
JavaScript a Ajax

-- 
Novinky ze světa svobodného software (20/2010)

-- 
Proč by software neměl mít majitele (2/2)






 Anketa




Používáte nějaké rozšíření bezpečnostního modelu linuxového jádra?

Openwall (18%)

LIDS (12%)

Pax/Grsecurity (3%)

SELinux (6%)

RSBAC (1%)

jiné (1%)

používám standardní jádro (59%)







Linuxzone.cz - server o Linuxu pro programátory, administrátory a fanoušky.
Provozuje společnost Impossible.
ISSN: 1213-8738





VSFTPD - bezpečný ftp daemon pre každého

S ftp službami sa stretávame každodenne, či už pri získavaní súborov z internetu alebo pri updatovaní internetových prezentácií a podobne. Existuje mnoho spôsobov, ako túto službu realizovať, dôležité je však dbať na bezpečnosť.

V poslednom čase sa objavilo viacero závažných chýb v spojení s ftp daemonmi, ktoré vykonali nemalý rozruch, mnohí administrátori začali hľadať bezpečné alternatívy. Už dlhšiu dobu je však k dispozícii ftp daemon s názvom vsftpd, ktorého hlavným cieľom je zabezpečiť vysoký výkon pri vysokej miere bezpečnosti s možnosťou širokej konfigurácie a nastavení jednotlivých užívateľských politík. Pri jeho tvorbe boli brané do úvahy všetky aspekty pre dokonalú vnútornú architektúru zabezpečujúcu vhodný bezpečnostný model s použitím všetkých možností, ktoré nám linux ponúka. Pozrime sa teda na neho bližšie.

1. Inštalácia

Po získaní zdrojového kódu na adrese ftp://ferret.lmh.ox.ac.uk/pub/linux/vsftpd-1.0.1.tar.gz je potrebné vykonať dekomprimáciu a uskutočniť skompilovanie. Nenájdete tu žiadne konfiguračné skripty, konfigurácia na väčšine strojov by mala prebehnúť bezproblémovo.

tar xzvf vsftpd-1.0.1.tar.gz
cd vsftpd-1.0.1
make

Nasleduje distribúcia potrebných súborov na ich príslušné pozície. Po spustení make install sú rozdistribuované do filesystému nasledujúce súbory:

/usr/local/sbin/vsftpd
/usr/local/man/man8/vsftpd.8
/usr/local/man/man5/vsftpd.conf.5
/etc/xinetd.d/vsftpd

Teraz je potrebné skontrolovať, či sú v systéme zadefinovaní užívatelia ftp, ftpsecure a nobody, ktorých je potrebné v prípade ich neexistencie doplniť. Takisto je vhodné pripraviť si adresár /usr/share/empty s nulovým obsahom pre neskoršie použitie

Ako ste si povšimli, vsftpd nie je k dispozícii ako standalone daemon, pracuje v spolupráci s ľubovoľným superserverom. Inštalačný skript priamo podporuje xinetd, pre iné bude potrebné príslušnú konfiguráciu previesť ručne. Pre xinetd je pripravená nasledujúca implicitná konfigurácia, ktorú je vhodné upraviť si pre vlastné podmienky s nastavením príslušných obmedzení ako napríklad počet súčasných spojení a podobne.

service ftp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/local/sbin/vsftpd
        nice                    = 10
        disable                 = no
}

Pri používaní vsftpd okrem anonymného prístupu aj pre prístup lokálnych užívateľov je vhodné využiť authentikačný mechanizmus PAM pre ktorý je pripravený konfiguračný súbor s nasledovným obsahom:

#%PAM-1.0
auth       required	/lib/security/pam_listfile.so \
item=user sense=deny file=/etc/ftpusers onerr=succeed
auth       required	/lib/security/pam_pwdb.so shadow nullok
auth       required	/lib/security/pam_shells.so
account    required	/lib/security/pam_pwdb.so
session    required	/lib/security/pam_pwdb.so

2. Konfigurácia

Teraz je vhodný časť prejsť na konfiguráciu daemonu. Implicitne sa pre nastavenie prevádzkových parametrov používa základný konfiguračný súbor /etc/vsftpd.conf, ktorého príklad nájdete pribalený priamo so zdrojovým kódom. Pozrieme sa teda na ponúkané možnosti.

Najprv je potrebné rozhodnúť sa pre ktorú skupinu užívateľov budeme ftp služby poskytovať, čím vlastne vyšpecifikujeme základné použitie. Pod lokálnymi užívateľmi sa rozumejú užívatelia so zápisom v /etc/passwd.

anonymous_enable = YES | NO
local_enable = YES | NO

V prípade povolenia anonymného prístupu je vhodné špecifikovať potrené parametre pre túto prevádzku

anon_root <dir>
anon_upload_enable = YES | NO
chown_uploads = YES | NO
chown_username=ftpadmin

V prvom rade je potrebné špecifikovať root adresár pre anonymných užívateľov, na ktorý sa po prihlásení uskutoční chroot. Parametrom anon_upload_enable povoľujeme v prípade potreby možnosť uploadu súborov anonymným užívateľom, príslušné vlastníctvo takto zapísaných súborov je možné regulovať prostredníctvom parametrov chown_uploads a chown_username. Takisto môžeme špecifikovať jednotlivé povolenia k činnostiam a obmedzenie dátového toku.

anon_mkdir_write_enable = YES | NO
anon_other_write_enable = YES | NO
anon_world_readable_only = YES | NO
anon_max_rate= rate b/s
anon_umask=077

Prostredníctvom parametra anon_mkdir_write_enable umožňujeme anonymným užívateľom vytvárať nové adresáre, anon_other_write_enable navyše povoľuje iné operácie vyžadujúce zápis ako premenovávanie a mazanie. V prípade povoleného zápisu je definovaná umask pre nové súbory. Parameter anon_world_readable_only umožňuje špecifikovať možnosť downloadu súborov anonymným užívateľom, ktoré majú nastavený príznak r pre other. Navyše s použitím parametra anon_max_rate je možné obmedziť maximálny dátový tok v b/s pre anonymných užívateľov.

Pri uploadoch je možné automaticky vykonať zmenu vlastníka pre zabezpečenie novovložených súborov, čo je určite vhodný bezpečnostný prostriedok, k čomu slúžia nasledujúce dva parametre:

chown_uploads = YES | NO
chown_username=ftpadmin

Pre reguláciu možnosti anonymného prihlásenia na základe poskytnutého hesla máme nasledovnú možnosť.

deny_email_enable = YES | NO
banned_email_file = /etc/vsftpd.banned_emails

Anonymní užívatelia sa identifikujú namiesto hesla pri prihlasovaní svojou emailovou adresou. Definíciou zakázaných emailov definičnom súbore /etc/vsftpd.banned_emails je možné zamedziť prístup k systému, čim môžeme dosiahnuť určité filtrácie podľa lokálnej politiky.

Pre nastavenie jednotlivých timeoutov pre automatické uzavretie otvorených spojení sú k dispozícii dva parametre, reprezentujúce príslušné časové intervaly:

idle_session_timeout=600
data_connection_timeout=120

Jednotlivé prenosy je možné logovať do príslušných logových súborov.

xferlog_enable = YES | NO
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol = YES | NO
xferlog_std_format = YES | NO

xferlog_enable umožňuje tvorbu xferlog súboru so zápisom do súboru definovaného parametrom xferlog_file. Navyše tu máme možnosti zapisovania celkovej komunikácie pri použití parametra log_ftp_protokol čo je vhodné pre vyladenie a dignostiku. Pre možnosť kompatibility je tu voľba xferlog_std_format umožňujúca zápis xferlogu vo formáte wu-ftpd pre možnosť využitia existujúcich nástrojov na analýzu xferlogu.

write_enable = YES | NO

Parameter write_enable určuje, či je možné uskutočňovať nasledujúce príkazy: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE a SITE. V prípade, že chceme vsftpd používať pre ukladanie súborov na server, je nevyhnutné túto voľbu aktivovať.

local_umask=077

Pre nastavenie flagov uploadnutých súborov lokálnymi užívateľmi je k dispozícii definícia umask. Implicitná hodnota je 077, avšak pre zabezpečenie prístupnosti takto vložených súborov pri implementáciách ftp služby pre aktualizáciu webových prezentácií je vhodné zmeniť ju na 022.

local_max_rate= rate b/s

Ako pri anonymných užívateľoch, celkový objem trafficu tvoreného lokálnymi užívateľmi je možné obmedziť na hornú hranicu špecifikovaním v b/s.

Veľmi používanou voľbou je možnosť chrootovania.

chroot_local_user = YES | NO
chroot_list_enable = YES | NO
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/usr/share/empty

Tu máme viacero možností. Buď budeme chrootovať iba vybraných užívateľov definovaných v súbore /etc/vsftpd.chroot_list kde sa na každom riadku nachádza meno užívateľa a adresár, do ktorého sa má chroot uskutočniť, alebo použijeme globálne chrootovanie lokálnych užívateľov do ich domovských adresárov. Už pri inštalácii sme si hovorili, že je potrebné vytvoriť si adresár /usr/share/empty. Tento adresár by nemal byť prístupný pre zápis užívateľovi ftp. Práve do tohto adresára sa vykonáva chroot v prípade nulovej potreby prístupu k lokálnym súborom pre vyššie zabezpečenie.

nopriv_user=ftpsecure

Pre vyššiu bezpečnosť slúži aj definícia nopriv_user, ktorá špecifikuje neprivilegovaného užívateľa pre bezpečnostné účely. Je vhodné použiť užívateľa iného ako nobody, takže je vhodné pre tento účel si vytvoriť v systéme špeciálne konto, napríklad s názvom fpsecure.

pasv_enable = YES | NO
port_enable = YES|NO
ascii_upload_enable = YES | NO 
ascii_download_enable = YES | NO
async_abor_enable = YES | NO
connect_from_port_20 = YES | NO

Pre regulovanie spojení a komunikácie máme k dispozícii viacero parametrov. pasv_enable a port_enable nám špecifikujú jednotlivé povolené možnosti pre dosiahnutie nového spojenia, ascii_upload_enable a ascii_download_enable umožňujú používanie ascii prenosov, async_abor_enable reguluje možnosť asynchrónneho ukončenia prenosu, čo však v súčasnosti už nie je priveľmi používaná možnosť, aj keď niektorí ftp klienti s obľubou túto možnosť používajú.

Medzi posledné možnosti môžeme zaradiť parametre:

dirmessage_enable = YES | NO
message_file=.message
ls_recurse_enable = YES | NO
one_process_model = YES | NO
pam_service_name = ftp

dirmessage_enable aktivuje možnosť zobrazovania správ umiestnených v message_file pri vstupe do príslušného adresára, čo môže byť vhodné pre umiestnenie rôznych informácií. ls_recurse_enable špecifikuje možnosť výpisu súborov vo všetkých vnorených podadresároch. Štandardne je táto voľba vypnutá kvôli možnosti vyššieho zaťaženia CPU a diskového systému na rozsiahlych ftp stromoch, niektorí ftp klienti, ako napríklad mirror a ncftp môžu mať pri zakázaní tejto možnosti problémy. pam_service_name určuje identifikáciu vsftpd pre authentikačnú vrstvu PAM s preddefinovanou hodnotou ftp. V prípadoch nutnosti zmeny identifikácie je možné túto možnosť využiť. Pre zvýšenie výkonu pri kerneloch rady 2.4 je možné využiť parameter one_process_model pri čiastočnom znížení bezpečnosti.

3. Vyladenie a záver

Pre zabezpečenie vyššieho výkonu sú na systémoch doporučované drobné úpravy. Ak systém aktívne nevyužíva nis, je vhodné v etc/nsswitch.conf pri definíciách passwd, shadow a group odstrániť voľby nis a nisplus pre zníženie pamäťových nárokov zavádzaním nepoužívaných knižníc. Pri používaní vsftpd na kerneloch rady 2.2 a vyššie je pre prenos využívaná funkcia sendfile pre zabezpečenie nižšieho vyťaženia procesoru a tým úsporu strojového času, takže ak nič tomu nebráni, je vhodné vykonať upgrade starších kernelov. V prípadoch veľmi frekventovaných ftp serverov je na čiastočný úkor bezpečnosti možné využiť parameter one_process_model.

Ako vidno, vsftpd je veľmi flexibilný a konfigurovateľný ftp server, vhodný pre implementáciu do skoro každého systému. Jediným nedostatkom, ktorý možno podotknúť je nemožnosť spustenia v standalone móde s natívnou podporou virtualhostov. Vývoj však ešte neskončil, možno sa dočkáme aj tejto možnosti.

Autor: Milan Gigel, 18. 03. 2002, 00:00
Sekce Aplikace, Komentářů: 3
Průměrné hodnocení: 3,06

o Poslat e-mailem
o Tisk článku
o Uložit do profilu


 Přispějte nám




Líbil se Vám tento článek? Můžete ho ocenit zavoláním na tel. číslo 906 460 134.
Cena hovoru za 1 minutu je 46 Kč.





 Hodnocení článku




Článek hodnotím jako:  [1] výborný   [2] dobrý   [3] průměr   [4] špatný   [5] hrůza  





 Komentáře




--

Spoon, 16. 08. 2006 17:00
Díky












--

Milan Gigel, 24. 05. 2002 09:00
RE:DIKY












--

Srakyi, 24. 05. 2002 02:02
Diky















PŘIDAT KOMENTÁŘ ZOBRAZ VŠE >>










2002 © Impossible, s.r.o.   >> Kontaktujte redakci >> Právní upozornění >> Reklama