vsftpd () je v informatice název pro FTP server používaný v unixových systémech. Program je chráněn GPL licencí, jeho cílem je poskytnutí stability, výkonu a flexibility nastavení.
Vlastnosti vsftpd podpora IPv6 pasivní i aktivní mód přenosu podpora SSL podpora lokálních i anonymních uživatelů virtuální IP adresy nastavení pro každého uživatele zvlášť datové limity pro IP adresy nebo uživatele
Používání vsftpd Balíček vsftpd je standardní součástí většiny linuxových distribucí. Konfigurační soubor je umístěn v souboru /etc/vsftpd/vsftpd.conf. Server lze konfigurovat pomocí odkomentování/zakomentování jednotlivých voleb.
Příklady nastavení anonymous_enable=YES Nastavení povoluje přihlašování anonymním uživatelům. Implicitně je přihlašování anonymních uživatelů povoleno, lze zakázat zakomentováním volby nebo změny YES na NO. local_enable=YES Volba povoluje přihlášení všem systémovým uživatelům. Implicitní hodnota je NO. local_umask=022 Volba nastavuje masku pro lokální uživatele. Maska 022 znamená, že vytvořený soubor/adresář bude moci číst a editovat pouze vlastník a skupina a ostatní mají pouze právo čtení. listen=YES Démon vsftpd bude spuštěn jako samostatný server. listen_ipv6=YES Volba zapíná podporu IPv6.
SSL a TLS vsftpd vyžaduje, aby byl soukromý klíč a certifikát v jednom souboru. certifikát s klíčem nakopírovat například do adresáře /etc/vsftpd/vsftpd-cert-key.pem a nastavit příslušná práva( chmod 600). co konfiguračního souboru přidáme následující direktivy (podpora SSL a TLS):
ssl_enable=YES ssl_tlsv1=YES rsa_cert_file=/etc/vsftpd/vsftpd.pem force_local_logins_ssl=YES force_local_data_ssl=YES
Virtuální uživatelé Podpora virtuálních uživatelů je v serveru vsftpd realizována za pomoci PAM. Jména a hesla uživatelů lze ukládat: textový soubor (PAM modul pam_pwdfile) .htaccess souborům serveru Apache, PAM modul (pam_pwdfile) databáze (Berkeley DB, MySQL, PostgreSQL…), PAM modul (pam_userdb)
Využití modulu pam_pwdfile Výhodou tohoto řešení je snadná správa souboru s virtuálními uživateli a hesly (při malém počtu těchto uživatelů) a možnost sdílet tyto uživatele s uživateli Apache. Formát tohoto souboru je následující: jmeno:zašifrované_heslo456456456 virtuální uživatelé musí být mapováni přes konkrétního systémového uživatele: *useradd virtualftp -m -d /data/virtualftp -s /sbin/nologin Obsah souboru /etc/pam.d/ftp: auth required pam_pwdfile.so pwdfile /etc/vsftpd/passwd account required pam_permit.so Přidání uživatele pomocí utility htpasswd: htpasswd -c /etc/vsftpd/passwd ondra
Direktivy pro konfigurační soubor: anonymous_enable=NO local_enable=YES
guest_enable=YES guest_username=virtualftp chroot_local_user=YES
pam_service_name=ftp
local_root=/data/virtualftp/$USER user_sub_token=$USER Adresář pro daného virtuálního uživatele vytvoříme mkdir /data/virtualftp/ondra chown virtualftp:virtualftp /data/virtualftp/ondra chmod 750 /data/virtualftp/ondra
Využití modulu pam_userdb Nejprve je nutné vytvořit textový soubor který obsahuje: ondra Ofddhrtt54A? Liché řádky obsahují uživatelská jména, sudé řádky hesla. Nahrajeme uživatele do databáze: db_load -T -t hash -f db.txt /etc/vsftpd/passwd.db Obsah souboru /etc/pam.d/ftp: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/passwd account required /lib/security/pam_userdb.so db=/etc/vsftpd/passwd Directivy pro konfigurační soubor: anonymous_enable=NO local_enable=YES
guest_enable=YES guest_username=virtualftp chroot_local_user=YES
pam_service_name=ftp
write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO
Externí odkazy http://vsftpd.beasts.org/ – domovská stránka projektu http://www.security-portal.cz/clanky/p%C5%99%C3%ADklad-konfigurace-vsftpd – příklad konfigurace https://web.archive.org/web/20101231045505/http://wiki.vpslink.com/Configuring_vsftpd_for_secure_connections_(TLS/SSL/SFTP) http://howto.gumph.org/content/setup-virtual-users-and-directories-in-vsftpd/
Kategorie:Servery Kategorie:Software pod licencí GPL