HTTP a FTP servery Michal Šrůtek
Boa jednoúlohový- nedělí se, interně obsluhuje všechny požadavky, u CGI skriptů forkuje lehce přenositelný, robustní, poskytuje dobrou ochranu (používá již fungující filesystem security) Free BSD, SunOs GNU/Linux – SPARC na kernelech, které neimplementují mmap, nefunguje
Zeus je vhodný pro velké servery podporuje multiprocesorové systémy, na kterých jeho výkon lineárně vzrůstá z hlediska ochrany patří mezi nejlepší (dokáže zobrazovat útoky i na jiné servery ve vaší farmě) je velmi odolný při velkých zátěžích poskytuje i moduly pro Wireless technologie
Cern HTTPD (W3C HTTPD) poslední verze 3.0 vytvořen v roce 1996, je o něho odvozen JingSaw server používá se jako proxi server HTTP, FTP, Gopher, News atd. má podporu CGI 1.0
JingSaw Javový server, funguje praktický na všech platformách. plně objektový, snadno rozšiřitelný o vlastní funkce a moduly (Java) umožňuje zobrazení všech objektů přes HTTP 1.1 podporuje SSL pro HTTP a WebDAV
Thtpd malý, lehce přenositelný, poskytuje poměrně dobrou ochranu podporuje FreeBSD, SunOS, Solaris, BSD/OS, Linux a další při větších zátěžích je velmi rychlý, protože implementuje jen nutné minimum standardu HTTP 1.1 nativní podpora IPv6 unikátní vlastností webového serveru thttpd je omezování provozu v závislosti na URL
VN server robustní, lehce přenositelný, flexibilní plně podporuje CGI 1.1 je zaměřen na HTML dokumenty (fulltextové vyhledávaní na celém serveru) umí rozdělovat HTML dokumenty podle přání klientů a těmto je rozesílat Abbyss Web server pro platformy Linux a Windows. Jeho výhodou je malá velikost - menší než 104 kB, podpora HTTP 1.1 protokolu, CGI skriptů, SSI a řízení přístupu. Dá se konfigurovat vlastním WWW rozhraním. Přes CGI rozhraní podporuje např. i PHP stránky.
Caudium napsaný v Pike a C neforkovaný monolitický server, umožňuje používání šablon, které mohou obsahovat makra nebo Pike databáze podpory - mechanismus, při kterém WWW server zjistí sám možnosti prohlížeče a podle toho upravuje samotné HTML stránky konfigurace možná po WWW, uživatel může napsat vlastní rozšíření v jazyce Pike nebo C
Apache odvozen od NCSA serveru, nyní nejpoužívanější HTTP 1.1 web server vysoká konfigurovatelnost i rozšiřitelnost (moduly třetích stran) vlastní API kompletní zdrojový kód k dispozici běží na mnoha platformách, MS Windows nevyjímaje
FTP server - VSFTPD konfigurační soubor defaultně v /etc/vsftpd.conf allow_anon_ssl pokud je zapnuto ssl_enable, nastavením YES povolíte anonymním uživatelům zabezpečené SSL připojení, defaultně: NO anon_mkdir_write_enable - nastavením YES povolíte anonymním uživatelům za určitých podmínek vytvářet nové adresáře. Aby tato volba fungovala, musí být zapnuta volba write_enable a anonymní ftp uživatel musí mít právo zápisu do nadřazeného adresáře, defaultně: NO
anon_other_write_enable - nastavením YES povolíte anonymním uživatelům provádět zápis nejen uploadem a vytváření adresářů, ale také mazání a přejmenování, což se příliš nedoporučuje, ale je to nutné pro plné právo zápisu, defaultně: NO anon_world_readable_only - aktivací povolíte anonymním uživatelům stahovat pouze soubory s právem čtení pro všechny. Ftp uživatel může vlastnit soubory zvláště v případě uploadu, defaultně: YES anonymous_enable - určuje, zda je povoleno anonymní přihlášení či nikoliv. Pokud je povoleno, obě uživatelská jména ftp i anonymous jsou identifikována jako anonymní, defaultně: YES
background - aktivací a spuštěním vsftpd v "listen" módu vsftpd poběží na pozadí, tzn. že bude okamžitě vrácen shellu, který vsftpd spustil, defaultně: NO check_shell - upozornění: tato volba funguje pouze v případě "non-PAM" instalace vsftpd. Pokud je vypnuta, vsftpd nebude kontrolovat /etc/shells, zda má uživatel zřízený lokální účet a povolený login, defaultně: YES chmod_enable - aktivací povolíte použití příkazu SITE CHMOD. Upozornění: toto se týká pouze lokálních uživatelů. Anonymní uživatelé nikdy nemohou použít SITE CHMOD, defaultně: YES
chroot_list_enable - aktivací máte možnost vytvořit seznam lokálních uživatelů, kteří se po přihlášení chrootem() omezí pouze na vlastní domovský adresář. Tato volba má trošku jiné účinky než chroot_local_user. Tento případ vytváří seznam uživatelů, kteří nejsou omezeni chrootem(). Defaultně je soubor obsahující seznam umístěn v /etc/vsftpd.chroot_list, ale máte možnost umístění změnit nastavením chroot_list_file. Defaultně: NO chroot_local_user - aktivací omezíte lokální uživatele (defaultně) chrootem() na vlastní domovský adresář. Upozornění: Tato volba má bezpečnostní aspekt, zvláště pokud mají uživatelé povolen upload nebo shellový účet. Aktivujte pouze, pokud víte, co děláte. Poznámka: tato bezpečnostní pojistka není výsadou vsftpd. Je aplikována u všech FTP démonů, kteří mají možnost omezit chrootem() lokální uživatele. Defaultně: NO
connect_from_port_20 - tato volba určuje "data PORT připojení", používat na serveru port 20 (ftp-data). Z bezpečnostních důvodů někteří klienti mohou klást důraz na tuto volbu, naopak zrušení této volby umožní provozovat vsftpd s méně pravidly. Defaultně: NO (ale ukázkový konfigurační soubor tuto volbu aktivuje) deny_ _enable - aktivací máte možnost vytvořit seznam anonymních hesel, tedy ů, kterým bude odmítnuto přihlášení. Defaultně je soubor obsahující seznam umístěn v /etc/vsftpd.banned_ s, ale můžete ho změnit nastavením banned_ _file. Defaultně: NO dirlist_enable - nastavením NO u této volby při zadání příkazu na výpis obsahu adresáře přijde "není povoleno" (permission denied). Defaultně: YES
download_enable - nastavením NO u této volby na všechny požadavky o download přijde "není povoleno" (permission denied). Defaultně: YES force_local_data_ssl - použitelné pouze pokud ssl_enable je zapnuto. Aktivací této volby budou všechna neanonymní připojení vždy používat SSL spojení při přenosu dat tam i zpět. Defaultně: YES force_local_logins_ssl - použitelné pouze pokud ssl_enable je zapnuto. Aktivací této volby budou všechna neanonymní připojení vždy používat SSL spojení při zadávání hesla. Defaultně: YES guest_enable - aktivací budou všechna anonymní připojení brána jako "guest" připojení. Guest (host) připojení je přesměrováno na uživatele definovaného volbou guest_username. Defaultně: NO
listen_ipv6 - jako volba listen, ovšem vsftpd bude očekávat IPv6 sockety místo IPv4. Tato volba spolu s volbou listen jsou vzájemně výlučné. Defaultně: NO local_enable - určuje zda jsou povoleny lokální přihlášení či nikoliv. Aktivací umožníte použít k přihlášení běžný uživatelský účet uvedený v /etc/passwd. Defaultně: NO log_ftp_protocol - aktivací této volby se budou všechny požadavky a odpovědi logovat, pokud není aktivní volba xferlog_std_format. Užitečné pro analyzování/hledání chyb (debugging). Defaultně: NO
no_anon_password - aktivací této volby zrušíte dotaz na heslo u anonymních připojení - anonymní uživatelé budou přihlášeni přímo. Defaultně: NO passwd_chroot_enable - pokud je aktivní spolu s chroot_local_user, pak chroot() omezení může být specifikováno každému uživateli zvlášť. Uživatelské omezení je převzato z jeho domovského adresáře uvedeného v /etc/passwd. Výskyt /./ v zápisu domovského adresáře znamená, že omezení je stanoveno pevně touto cestou. Defaultně: NO pasv_enable - nastavte NO, pokud nechcete u připojení povolit použití PASV metody. Defaultně: YES
pasv_promiscuous - nastavte YES, jestliže chcete zrušit bezpečnostní kontrolu PASV, která zodpovídá za ověření shodné IP u datového spojení. Použijte pouze, pokud víte, co děláte! Jediný legitimní důvod pro použití této volby je určitá forma zabezpečeného druhu tunelování nebo snad ulehčit FXP podpoře. Defaultně: NO secure_ _list_enable - nastavte YES, jestliže chcete vytvořit seznam hesel ů pro anonymní uživatele, která budou přijata. To je užitečné jako bezproblémové rozlišení práv u ne příliš tajného obsahu bez potřeby virtuálních uživatelů. Při použití je anonymní přihlášení umožněno na základě hesla uvedeného v souboru nastaveném volbou _password_file. Formát zápisu je co řádek, to heslo, žádné extra mezery. Defaultně se jedná o soubor /etc/vsftpd. _passwords. Defaultně: NO
setproctitle_enable - aktivací této volby bude vsftpd zkoušet a vypisovat status session ve výpisu procesů, jinými slovy, vypsané jméno session bude reflektovat to, co vsftpd právě dělá (stojí, stahuje atd.) Pravděpodobně necháte volbu neaktivní z bezpečnostních důvodů. Defaultně: NO ssl_sslv2 pokud je zapnuto ssl_enable - aktivací této volby povolíte spojení pomocí protokolu SSL v2. Defaultně: NO ssl_sslv3 pokud je zapnuto ssl_enable - aktivací této volby povolíte spojení pomocí protokolu SSL v3. Defaultně: NO ssl_tlsv1 pokud je zapnuto ssl_enable - aktivací této volby povolíte spojení pomocí protokolu TLS v1. Je preferováno TLS v1 spojení. Defaultně: YES
syslog_enable - aktivací této volby veškeré logování, které by mělo jít do /var/log/vsftpd.log, půjde do systémového logu. Logování probíhá jako záznam FTPD. Defaultně: NO userlist_deny - tato funkce zkoumá, jestli je zapnuta volba userlist_enable. Pokud totu volbu vypnete nastavením NO, pak bude uživatelům přihlášení bez jasného uvedení v seznamu userlist_file odmítnuto. Když je přihlášení zamítnuto, výsledkem odmítnutí je dotaz na uživatelské heslo. Defaultně: YES userlist_enable - pokud je zapnuta, vsftpd bude načítat seznam uživatelů ze souboru uvedeného v userlist_file. Pokud se uživatel pokouší přihlásit jménem uvedeným v tomto seznamu, jeho pokus bude zamítnut bez dotazu na heslo. To může být užitečné jako ochrana před zasláním prázdného hesla. Viz také userlist_deny. Defaultně: NO
virtual_use_local_privs - pokud je aktivována, virtuální uživatelé budou mít stejná práva jako lokální uživatelé. Defaultně mají virtuální uživatelé práva jako uživatelé anonymní, kteří jsou více pod dohledem (zvláště v otázce práv zápisu). Defaultně: NO accept_timeout - časový limit ve vteřinách pro vzdálené klienty na ustavení spojení u PASV typu datového spojení. Defaultně: 60 anon_max_rate - maximální limit přenosu dat v bajtech za vteřinu pro anonymní uživatele. Defaultně: 0 (neomezeno) connect_timeout - časový limit ve vteřinách pro vzdálené klienty pro odpověď na naše datové spojení typu PORT. Defaultně: 60 data_connection_timeout - časový limit ve vteřinách, zhruba maximální doba, kterou čekáme před ukončením datového přenosu, pokud se zastavil. Jestliže uplyne časový limit uživatel je odpojen. Defaultně: 300
idle_session_timeout - časový limit ve vteřinách, který je maximální možná prodleva mezi FTP příkazy. Jestliže uplyne časový limit uživatel je odpojen. Defaultně: 300 listen_port - pokud je vsftpd spuštěn v samostatném módu, toto je port, na kterém očekává FTP připojení. Defaultně: 21 local_max_rate - maximální limit přenosu dat v bajtech za vteřinu pro lokální uživatele. Defaultně: 0 (neomezeno) max_clients - pokud je vsftpd spuštěn v samostatném módu, toto je maximální dovolený počet připojených uživatelů. Další klienti žádající o spojení dostanou chybové hlášení. Defaultně: 0 (neomezeno)
max_per_ip - pokud je vsftpd spuštěn v samostatném módu, toto je maximální dovolený počet uživatelů připojených ze stejné IP adresy. Klient obdrží chybové hlášení, pokud se pokusí překročit limit. Defaultně: 0 (neomezeno) pasv_max_port - nejvyšší port pro alokaci datového spojení typu PASV, možno použít k nastavení omezeného výběru portů pro soulad s firewallem. Defaultně: 0 (jakýkoliv port) pasv_min_port - nejnižší port pro alokaci datového spojení typu PASV, možno použít k nastavení omezeného výběru portů pro soulad s firewallem. Defaultně: 0 (jakýkoliv port) anon_root Tato volba představuje adresář, do kterého se vsftpd pokusí nasměrovat po anonymním přihlášení. Neúspěch je tiše ignorován. Defaultně: (žádný)
chroot_list_file - tato hodnota je jméno souboru obsahujícího seznam lokálních uživatelů, kteří budou omezeni chrootem() na vlastní domovský adresář. Volba je relevantní při současném povolení volby chroot_list_enable. Pokud je zapnuta volba chroot_local_user, pak seznam obsahuje seznam uživatelů, kteří nebudou postiženi omezením. Defaultně: /etc/vsftpd.chroot_list _password_file - tato volba může být použita pro poskytnutí alternativního souboru při použití volby secure_ _list_enable. Defaultně: /etc/vsftpd. _passwords ftp_username - toto je jméno uživatele, kterému jsme přidělili status anonymního uživatele FTP. Domovský adresář tohoto uživatele je kořenovým adresářem anonymní FTP oblasti. Defaultně: ftp
guest_username - viz booleanovské volby guest_enable pro vysvětlení podstaty guest loginu. Tato hodnota udává skutečné uživatelské jméno, ke kterému se guest uživatelé (hosté) přiřazují. Defaultně: ftp local_root - tato hodnota představuje adresář, do kterého se vsftpd pokusí přesměrovat po spojení u lokálního (tj. neanonymního) uživatele. Selhání je tiše ignorováno. Defaultně: (žádný) ssl_ciphers - tato volba se může použít pro výběr SSL šifry, kterou vsftpd povolí pro šifrované spojení. Viz ciphers manuálové stránky pro další informace. Poznamenejme, že omezení šifer je užitečné bezpečnostní opatření jako prevence před zneužitím chyb v šifrách ze strany vzdálených útočníků. Defaultně: DES-CBC3-SHA